[theora-dev] Keyframe seeking in Ogg and spec

Ralph Giles zen6669 at zen.co.uk
Fri Sep 13 15:15:33 PDT 2002

On Friday, Sep 13, 2002, at 19:50 Europe/London, Monty wrote:

> This is not a call for input so much as an educational effort (and a 
> public sanity check
> of my thinking; please do pipe up if it appears I missed a salient 
> point).

Just some nitpicks, feel free to ignore:

> 2) The Ogg layer does not know specifics of the codec data it's
> multiplexing into a stream.  It knows nothing beyond 'Oooo, packets!',
> that the packets belong to different buckets, that the packets go in
> order, and that packets have position markers.

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.

> 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?

>   * 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 


--- >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