[ogg-dev] How Ogg mappings translate into the codecs parameter in Ogg media types

Conrad Parker conrad at metadecks.org
Sat May 24 07:08:23 PDT 2008

2008/5/24 Ivo Emanuel Gonçalves <justivo at gmail.com>:
> I received a comment from the IESG that we should have some sort of
> list to describe how Ogg mapping strings translate to codec parameter
> strings, so I went ahead and compiled a table with all known Ogg
> codecs, and I would like feedback in case I inserted an error
> somewhere.
> The draft is located in SVN[1], but for your convenience I'm posting it here:
>                Codec Identifier           | Codecs Parameter
>               -----------------------------------------------------------
>                char[8]: '\x01vorbis'      | vorbis
>                char[8]: '\x80theora'      | theora
>                char[8]: 'Speex   '        | speex
>                char[8]: '\177FLAC'        | flac
>                char[8]: 'BBCD\0'          | dirac
>                char[8]: 'OggMIDI\0'       | midi
>                char[8]: 'CMML\0\0\0\0'    | cmml
>                char[8]: 'PCM     '        | pcm
>                char[8]: 'CELT    '        | celt
>                char[8]: 'kate\0\0\0\0'    | kate
> Is everything correct?  Did I miss a codec?

The magic is not always char[8] -- it's an arbitrary number of
characters, and as far as I know there is no official limit. So it's 7
for Vorbis and Theora, 5 for FLAC, and so on. eg. immediately after
'\177FLAC' is a version field, which is not part of the codec ident
string but is within the first 8 bytes.

What you've listed for CMML is correct, and I'm pretty sure the
strings are correct for Vorbis, Theora, Speex, and PCM.

Also I don't know if the Dirac, MIDI, CELT or Kate mappings are yet finalized?



More information about the ogg-dev mailing list