[FFmpeg-devel] [PATCH] Fix for ogg timestamps when packets span multiple ogg pages

Michael Niedermayer michaelni
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:
>
>> 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.)
>
> 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
maintainer

[...]
-- 
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
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081201/9141a71b/attachment.pgp>



More information about the ffmpeg-devel mailing list