[FFmpeg-devel] [PATCH] Off by one in mpeg video parsing (r17731)
Baptiste Coudurier
baptiste.coudurier
Wed May 27 02:23:49 CEST 2009
Baptiste Coudurier wrote:
> On Tue, May 05, 2009 at 01:53:18AM +0200, Michael Niedermayer wrote:
>> On Mon, May 04, 2009 at 08:47:11PM -0000, Wolfram Gloger wrote:
>>> Hi,
>>>
>>> I believe r17731 introduced an off-by-one error.
>>> It introduced in mpeg12.c:
>>>
>>> @@ -2244,6 +2244,9 @@
>>> return i-3;
>>> }
>>> }
>>> + if(s && state == PICTURE_START_CODE){
>>> + ff_fetch_timestamp(s, i-4, 1);
>>> + }
>>> }
>>> }
>>> pc->state= state;
>>>
>>> however, as is apparent from the surrounding code, the index that
>>> "points" to PICTURE_START_CODE is actually i-3 and not i-4.
>>> The effect of this is that when a PES packet starts with
>>> PICTURE_START_CODE (very common e.g. in DVB), the timestamps
>>> are fetched from the _previous_ PES packet (offset==-1),
>>> which is wrong IMHO.
>> a reproducable testcase would be nice
>>
>
> I'm trying to find one, but I can confirm that the patch fixes the
> issue, when the TS demuxer is modified to output PES packets.
>
Uploaded sample and applied.
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer http://www.ffmpeg.org
More information about the ffmpeg-devel
mailing list