[theora-dev] Re: Final Ogg 1.0 submission to IETF

Monty xiphmont at xiph.org
Mon Mar 3 00:13:00 PST 2003

>    In this example, there are two chained physical bitstreams, the first
>    of which is a grouped stream of three logical bitstreams A, B, and C.
>    The second physical bitstream is chained after the end of the grouped
>    bitstream, which ends after the last eos page of all its grouped
>    logical bitstreams.  As can be seen, grouped bitstreams begin
>    together - all of the eos pages MUST appear before any data pages.

typo  s/eos/bos/

Also... a logical bitstream may have more than one header; the
'intitial header' that is on a page by itself as bos is described
correctly.  Ogg mandates this header.  However, Ogg also allows but
does not require subsequent secondary headers for logical streams and
these must also preceed any data in any stream.  These subsequent
headers are framed into an integral number of pages (a page will not
contain both secondary header and data packets).  Vorbis, for example,
uses three headers per logical stream.

So.... a physical stream link begins with the initial headers of all
logical streams (one per page), followed by the subsidary headers of
all streams (framed into an integral number of pages), followed by
pages containing data packets.

>    synchronised audio and video.  As Ogg does not specify temporal
>    relationships between the encapsulated concurrently multiplexed
>    bitstreams, the temporal synchronisation between the audio and video
>    stream will be specified in this media mapping.

It might be worth noting that in the mappings proposed right now
(audio and video), pages from various logical streams must be
interleaved in chronological order.  This is not set by Ogg itself as
you note, but may well be the specified convention in every practical

>    From Ogg's perspective, packets can be of any arbitrary size.  A
>    specific media mapping will define how to group or break up packets
>    from a specific media encoder.  A nominal page size of approximately
>    4-8 kByte is RECOMMENDED for latency reasons.

In fact, the 4-8kB figure makes sense mostly for single-type
streams. The recommended page size will depend on media mapping, and
for video it may well be something like '4-8kB or one second of
decoded data, whichever is smaller'.

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