[FFmpeg-devel] [PATCH] Fix for ogg timestamps when packets span multiple ogg pages
David Conrad
lessen42
Tue Nov 11 10:22:38 CET 2008
On Nov 9, 2008, at 3:58 AM, Michael Niedermayer wrote:
> On Sun, Nov 09, 2008 at 09:49:00AM +0100, Michael Niedermayer wrote:
>> On Sun, Nov 09, 2008 at 02:48:01AM -0500, David Conrad wrote:
>>> On Nov 6, 2008, at 5:51 PM, David Conrad wrote:
>>>
>>>> Hi,
>>>>
>>>> The problem with the current code comes from how an ogg page with
>>>> only a
>>>> partial packet uses the special granulepos of -1. The granulepos
>>>> needs to
>>>> be saved from the last page that completed a packet until the
>>>> next page
>>>> that completes a packet, where it is the timestamp of the first
>>>> complete
>>>> packet.
>>>
>>>
>>> After looking at ogg granule_position some more, there's another
>>> problem in
>>> that Dirac and ogm both assume that the timestamp is the beginning
>>> of the
>>> associated packet, wheras Xiph codecs define the granule as the
>>> time after
>>> the associated packet is fully decoded (I'm assuming, I've only
>>> found
>>> Vorbis and Theora to do so explicitly.)
>>
>> older versions of theora also use the ogm variant IIRC
>> also see the (non working AFAIK) hack in theora_gptopts() about that
Are you sure r15785 isn't not working? Or were you thinking of
something else?
And you're right, Theora < 3.2.1 does use the granule as frame start.
> and "[PATCH] issue251, xvid within .ogm will not remux to .avi try2"
This does seem to fix .ogm remuxing to avi for me; at least I'm not
aware of any problems.
More information about the ffmpeg-devel
mailing list