Changes

Jump to: navigation, search

OggDirac

912 bytes added, 22:52, 2 February 2008
Packetization: Proposed pre-header based on Ogg FLAC as per discussions with Conrad
* The beginning-of-stream (bos) packet must be a RAP parse unit must occur on a page by itself to assist in determining the stream type and parameters. Muxers may use the initial 5 bytes of the RAP ('BBCD', 0x00) for codec identification.
* the end-of-stream (eos) packet consists solely of the 4-octet stop sequence (which can be viewed as an empty Parse Unit) and no other data
 
Parsing the framesize, rate, and so on out of the RAP parse unit requires several pages of code, since each element is optionally coded either through a variety of tables or an explicit override. Since a muxer would want this information, especially the framerate which is required to map the granulepos to time, it is proposed that some sort of abstract be prepended to the bos packet to simplify obtaining this information. Conrad suggested something modelled on the Ogg FLAC mapping, with: Magic string, version, framerate explicitly coded, possible other data. If the magic was chosen to not look like a Dirac parse unit, the codec should skip it as garbage, because Dirac has internal framing like FLAC. However, this could require escaping some values for the framerate. Another suggestion is to prepend it as application specific data in an auxiliary parse unit, which the decoder would skip explicitly.
== Granulepos ==

Navigation menu