[theora-dev] Keyframe seeking in Ogg and spec
Monty
xiphmont at xiph.org
Sat Sep 14 12:20:42 PDT 2002
> I understand this description is meant to be fuzzy, but it is a little
> misleading. The ogg layer doesn't know about anything but packets in
> buckets, but anything that operates on ogg streams must use some
> higher-level information if it is going to redistribute packets or
> re-interleave streams. Vorbis specifies that a page break occur after
> the last required header for the convenience of streaming/editing
> applications; it seems likely that this is a rule we'll want to follow
> with other codec data. And to do a good job, any mux/interleave tool
> will have to understand the timecodes of the various streams it's
> dealing with.
I'm speaking only of the low level seek/sync engine. Higher level
layers do indeed know more; the main framework sits both on top of the
Ogg seek/sync engine and the codec plugins.
> >2) The Ogg-level seeking algorithm is exceptionally simple and can be
> >described in a single sentence: "Find the earliest page with a
> >granulepos less than but closest to 'x'".
>
> Wouldn't "find the latest page with a granulepos not later than x" be a
> simpler description?
Not equivalent. If a run of pages have the same granulepos, we want
the first one, not the last one (well, it's easy enough to implement
both).
>
> > * note that although granulepos is not permitted to wrap around, we
> > can simply begin a new logical stream segment with a new serial
> > number should a 30fps video stream ever hit the ten-billion year
> > mark.
>
> This is a bit flip. If you can do this with video, you can do it with
> audio.
The point is that it ain't evah gonnah happen unless some developer
really send his brain out to lunch :-)
Monty
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Theora-dev
mailing list