[FFmpeg-devel] [PATCH] Fix for ogg timestamps when packets span multiple ogg pages
Mon Dec 1 19:21:12 CET 2008
On Sun, Nov 09, 2008 at 02:48:01AM -0500, David Conrad wrote:
> On Nov 6, 2008, at 5:51 PM, David Conrad wrote:
>> 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
> 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.)
> Currently the ogg demuxer simply assumes that all codecs use the latter
> definition and does codec-specific interpretation of the granule on the
> next packet. This causes problems with determining Theora keyframes, as the
> frame after the actual keyframe gets the flag.
> Here's a general fix to always associate the granule and derived flags with
> the correct packet, and then delay the interpreted timestamp to the next
> packet for Xiph codecs. This fixes ogm timestamps, Theora keyframes, and
> allows for correct Dirac timestamps.
ping, i think the patch is still missing a review from our ogg demuxer
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
There will always be a question for which you do not know the correct awnser.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel