[theora-dev] Keyframe seeking in Ogg and spec
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
> > * 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
The point is that it ain't evah gonnah happen unless some developer
really send his brain out to lunch :-)
--- >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