[FFmpeg-cvslog] r18959 - in trunk: libavcodec/mpeg12.c tests/seek.regression.ref

Baptiste Coudurier baptiste.coudurier
Thu Jun 11 06:33:04 CEST 2009


On 6/3/2009 11:12 AM, Baptiste Coudurier wrote:
> On 6/3/2009 3:06 AM, Reimar D?ffinger wrote:
>> On Wed, May 27, 2009 at 11:08:11AM -0700, Baptiste Coudurier wrote:
>>> On 5/27/2009 5:40 AM, Michael Niedermayer wrote:
>>>> On Tue, May 26, 2009 at 11:38:19PM -0700, Baptiste Coudurier wrote:
>>>>> On 5/26/2009 9:40 PM, Mike Melanson wrote:
>>>>>> bcoudurier wrote:
>>>>>>> Author: bcoudurier
>>>>>>> Date: Wed May 27 02:14:32 2009
>>>>>>> New Revision: 18959
>>>>>>>
>>>>>>> Log:
>>>>>>> Fix off by one offset with fetch_timestamps, pts_parser_problem.mpg.
>>>>>>> Patch by Wolfram Gloger, wmglo at dentm dot med dot uni-muenchen dot de.
>>>>>>>
>>>>>>> Modified:
>>>>>>>    trunk/libavcodec/mpeg12.c
>>>>>>>    trunk/tests/seek.regression.ref
>>>>>> Do you have any idea why this might have broken the pva-demux test?
>>>>>>
>>>>>> http://fate.multimedia.cx/index.php?test_spec=298
>>>>>>
>>>>>> The file errors out with the following message:
>>>>>>
>>>>>> [NULL @ 0x120ab5730]error, non monotone timestamps 50151 >= 42951
>>>>>> av_interleaved_write_frame(): Error while opening file
>>>>> Yes, that's because now frames have pts correctly set :)
>>>>> This PVA samples does not start with a SEQ EXT therefore first frames
>>>>> dts are not computed accurately.
>>>>>
>>>>> Btw, any reason for not setting has_b_frames when a B frame is
>>>>> encountered or I frame with temp_ref != 0 ?
>>>> i guess setting has_b_frames when a b frame is hit is ok, though maybe
>>>> this could be done at a more central place
>>> In compute_pkt_fields ? Patch attached.
>>>
>>> -- 
>>> Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
>>> Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
>>> FFmpeg maintainer                                  http://www.ffmpeg.org
>>> Index: libavformat/utils.c
>>> ===================================================================
>>> --- libavformat/utils.c	(revision 18964)
>>> +++ libavformat/utils.c	(working copy)
>>> @@ -739,6 +746,9 @@
>>>      int num, den, presentation_delayed, delay, i;
>>>      int64_t offset;
>>>  
>>> +    if (pc && pc->pict_type == FF_B_TYPE)
>>> +        st->codec->has_b_frames = 1;
>>> +
>>>      /* do we have a video B-frame ? */
>>>      delay= st->codec->has_b_frames;
>>>      presentation_delayed = 0;
>> Hm, this mostly fixes pva demuxing, instead of many timestamp issues
>> there is then only a single one:
>> [NULL @ 0x2c3e010]error, non monotone timestamps 35751 >= 35751
>> But I think there's no way the time stamps can be correct, the file IMO
>> plays at half speed (I admit I have not seen how fast it played
>> previously).
> 
> Yes, indeed. I'll apply this patch soon I hope, if someone does not beat me.
> 

Applied.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org



More information about the ffmpeg-cvslog mailing list