[Libav-user] prores variable frame rate last frame bug?
Al Crate
al at dneg.com
Wed Sep 19 17:06:38 CEST 2012
here's the output using
c->time_base.den = 24;
c->time_base.num = 1;
as opposed to
c->time_base.den = 600;
c->time_base.num = 25;
stream #0:
keyframe=1
duration=0.042
dts=0.917 pts=0.917
size=131592
stream #0:
keyframe=1
duration=0.042
dts=0.958 pts=0.958
size=131401
As seen the duration value looks correct.
On 19/09/12 15:10, Al Crate wrote:
> It appears the packet frame duration is being filled in incorrectly.
>
> DTS is incrementing by 0.042 every frame, whereas duration is shown to
> be 0.002.
>
> The quicktime plugin in avformat calculates the total duration as
> last_dts - first_dts + last_duration.
>
> This produces my shortened duration on the movie.
>
> I'm guessing av_interleaved_write_frame is filling in bad values.
>
> stream #0:
> keyframe=1
> duration=0.002
> dts=0.917 pts=0.917
> size=131592
> stream #0:
> keyframe=1
> duration=0.002
> dts=0.958 pts=0.958
> size=131401
>
>
> On 18/09/12 16:40, Al Crate wrote:
>> If I dump out the quicktime information I get this..
>>
>> total_entries 2
>> count 23 duration 25
>> count 1 duration 1
>>
>> Definitely looks like the avformat movenc is doing something weird.
>>
>> quicktime_dump
>> ftyp
>> major brand: qt
>> minor version: 00000000
>> compatible brands: qt
>> movie data (mdat)
>> size 3127372
>> start 1013
>> movie (moov)
>> movie header (mvhd)
>> version 0
>> flags 0
>> creation_time 2012-09-19 10:56:06 (3430806966)
>> modification_time 2012-09-19 10:56:06 (3430806966)
>> time_scale 1000
>> duration 960
>> preferred_rate 1.000000
>> preferred_volume 1.000000
>> reserved 00 00 00 00 00 00 00 00 00 00
>> matrix 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000
>> 0.000000 0.000000 16384.000000
>> preview_time 0
>> preview_duration 0
>> poster_time 0
>> selection_time 0
>> selection_duration 0
>> current_time 0
>> next_track_id 2
>> user data (udta)
>> copyright: Double Negative
>> comment:
>> source frame range:1-24
>> track (trak)
>> track header (tkhd)
>> version 0
>> flags 15
>> creation_time 2012-09-19 10:56:06 (3430806966)
>> modification_time 2012-09-19 10:56:06 (3430806966)
>> track_id 1
>> reserved1 0
>> duration 960
>> reserved2 00 00 00 00 00 00 00 00
>> layer 0
>> alternate_group 0
>> volume 0.000000
>> reserved3 0
>> matrix 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000
>> 0.000000 0.000000 16384.000000
>> track_width 640.000000
>> track_height 480.000000
>> edit atom (edts)
>> edit list (elst)
>> version 0
>> flags 0
>> total_entries 1
>> edit list table
>> duration 960
>> time 0
>> rate 1.000000
>> media (mdia)
>> media header (mdhd)
>> version 0
>> flags 0
>> creation_time 2012-09-19 10:56:06 (3430806966)
>> modification_time 2012-09-19 10:56:06 (3430806966)
>> time_scale 600
>> duration 576
>> language 0
>> quality 0
>> handler reference (hdlr)
>> version 0
>> flags 0
>> component_type mhlr
>> component_subtype vide
>> component_name VideoHandler
>> media info (minf)
>> is_audio 0
>> is_audio_vbr 0
>> is_video 1
>> is_text 0
>> is_timecode 0
>> video media header (vmhd)
>> version 0
>> flags 1
>> graphics_mode 0
>> opcolor 0 0 0
>> handler reference (hdlr)
>> version 0
>> flags 0
>> component_type dhlr
>> component_subtype url
>> component_name DataHandler
>> data information (dinf)
>> data reference (dref)
>> version 0
>> flags 0
>> data reference table (dref)
>> type url
>> version 0
>> flags 1
>> data
>> sample table
>> sample description (stsd)
>> version 0
>> flags 0
>> total_entries 1
>> format apch
>> reserved 00 00 00 00 00 00
>> data_reference 1
>> version 0
>> revision 0
>> vendor FFMP
>> temporal_quality 512
>> spatial_quality 512
>> width 640
>> height 480
>> dpi_horizontal 72.000000
>> dpi_vertical 72.000000
>> data_size 0
>> frames_per_sample 1
>> compressor_name prores
>> depth 24
>> ctab_id 65535
>> color description (colr)
>> colorParamType 1852009571
>> primaries 6
>> transferFunction 1
>> matrix 6
>> time to sample (stts)
>> version 0
>> flags 0
>> total_entries 2
>> count 23 duration 25
>> count 1 duration 1
>> sample to chunk (stsc)
>> version 0
>> flags 0
>> total_entries 1
>> chunk 1 samples 1 id 1
>> sample size (stsz)
>> version 0
>> flags 0
>> sample_size 0
>> total_entries 24
>> sample_size 1f24f (127567)
>> sample_size 1e8ad (125101)
>> sample_size 1fcdd (130269)
>> sample_size 1fb3d (129853)
>> sample_size 1fc53 (130131)
>> sample_size 1fc1a (130074)
>> sample_size 1fad4 (129748)
>> sample_size 1fc62 (130146)
>> sample_size 1fd07 (130311)
>> sample_size 1fedf (130783)
>> sample_size 1fb52 (129874)
>> sample_size 1fe7e (130686)
>> sample_size 2008c (131212)
>> sample_size 1fe51 (130641)
>> sample_size 1fe49 (130633)
>> sample_size 1ff44 (130884)
>> sample_size 1fea2 (130722)
>> sample_size 1ff24 (130852)
>> sample_size 1ff30 (130864)
>> sample_size 201e9 (131561)
>> sample_size 1ffd1 (131025)
>> sample_size 2016a (131434)
>> sample_size 20208 (131592)
>> sample_size 20149 (131401)
>> chunk offset (stco)
>> version 0
>> flags 0
>> total_entries 24
>> offset 0 1021 (3fd)
>> offset 1 128588 (1f64c)
>> offset 2 253689 (3def9)
>> offset 3 383958 (5dbd6)
>> offset 4 513811 (7d713)
>> offset 5 643942 (9d366)
>> offset 6 774016 (bcf80)
>> offset 7 903764 (dca54)
>> offset 8 1033910 (fc6b6)
>> offset 9 1164221 (11c3bd)
>> offset 10 1295004 (13c29c)
>> offset 11 1424878 (15bdee)
>> offset 12 1555564 (17bc6c)
>> offset 13 1686776 (19bcf8)
>> offset 14 1817417 (1bbb49)
>> offset 15 1948050 (1db992)
>> offset 16 2078934 (1fb8d6)
>> offset 17 2209656 (21b778)
>> offset 18 2340508 (23b69c)
>> offset 19 2471372 (25b5cc)
>> offset 20 2602933 (27b7b5)
>> offset 21 2733958 (29b786)
>> offset 22 2865392 (2bb8f0)
>> offset 23 2996984 (2dbaf8)
>>
>>
>> On 18/09/12 16:23, Al Crate wrote:
>>> Cheers!
>>>
>>> At least I've a clue as to where to start looking now :)
>>>
>>> Heh lol, no idea where that to came from, must be thunderbird being
>>> "smart"
>>>
>>>
>>> On 18/09/12 15:57, Edward Richards wrote:
>>>> Hi,
>>>>
>>>> PTS/DTS values are not affected by the ProRes encoder at all. They are
>>>> created in the MOV wrapper during the write_interleaved()
>>>>
>>>> Debug that bit to work out how it is making the DTS/PTS longer for the
>>>> last
>>>> one.
>>>>
>>>> E
>>>>
>>>> PS: Love your TO name for the mailing list.
>>>>
>>>>
>>>> _______________________________________________
>>>> Libav-user mailing list
>>>> Libav-user at ffmpeg.org
>>>> http://ffmpeg.org/mailman/listinfo/libav-user
>>>>
>>> _______________________________________________
>>> Libav-user mailing list
>>> Libav-user at ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/libav-user
>> _______________________________________________
>> Libav-user mailing list
>> Libav-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/libav-user
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
More information about the Libav-user
mailing list