[FFmpeg-devel] [PATCH] OGG/Dirac demuxing
Peter Ross
pross
Mon Jan 26 03:54:56 CET 2009
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.
Nb: the >>22 above is incorrect, >>32 was intended.
-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- 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/20090126/bea469dd/attachment.pgp>
More information about the ffmpeg-devel
mailing list