[FFmpeg-devel] [PATCH] OGG/Dirac demuxing

David Conrad lessen42
Mon Jan 26 04:27:36 CET 2009


On Jan 25, 2009, at 9:54 PM, Peter Ross wrote:

> On Mon, Jan 26, 2009 at 01:32:33AM +0000, M?ns Rullg?rd wrote:
>> Peter Ross <pross at xvid.org> writes:
>>
>>> Patch enclosed for our favorite file format.
>>>
>>> +static uint64_t
>>> +dirac_gptopts(AVFormatContext *ctx, int idx, uint64_t gp)
>>> +{
>>> +    return gp >> 22;
>>> +}
>>
>> It's not that simple.  Not by far.
>
> Disagree. The Dirac encapsulation specification removes much of the  
> complexity
> you are hinting at:
>
> 1. the upper 32-bits of the 'granule_position' field indicates the  
> picture
>      number (display-ordered).
> 2. no more than one picture encapsulated per 'ogg packet'
> 3. one 'ogg packet' should be terminated per 'ogg page'
> 4. 'ogg packets' should not continue/span over pages.
>
> Yes, points 3 & 4 are shoulds, not shalls. So it is conceivable that  
> somebody
> may create an OGG/Dirac file with multiple packets per page. IMHO,  
> such an
> edge case is not evening worth thinking about, unless somebody  
> supplies an
> .ogg file demonstrating this behaviour.


http://userpages.umbc.edu/~dconrad1/sage-640x360.ogg

Also see my threads from November:
[PATCH] Fix for ogg timestamps when packets span multiple ogg pages
[PATCH] Support for Dirac in ogg





More information about the ffmpeg-devel mailing list