Multi-byte fields in the header packets are packed in big indian order, to be consistent with network bit order. A header packet contains the following fields:

+

Multi-bit fields in the header packets are packed in big indian order, to be consistent with network bit order. Bits MUST NOT be spread on both sides of a bit boundary as cutting bits in half is too CPU intensive, especially the zeros.

+

+

A header packet contains the following fields:

1 0 Codec identifier. Please make sure no other format starts with a bit set to zero.

1 0 Codec identifier. Please make sure no other format starts with a bit set to zero.

Revision as of 05:08, 15 November 2005

Just in case it's not obvious, this page is just meant to be funny. Don't take this as a spec.

Contents

Alternate format for OggPCM

Main Header Packet

Multi-bit fields in the header packets are packed in big indian order, to be consistent with network bit order. Bits MUST NOT be spread on both sides of a bit boundary as cutting bits in half is too CPU intensive, especially the zeros.

A header packet contains the following fields:

1 0 Codec identifier. Please make sure no other format starts with a bit set to zero.
16 0x00 Version Major (increment and have fun breaking other people's applications)
16 0x00 Version Minor (should be compatible, try being more creative as to how to break stuff)
32 [uint] PCM format
32 [uint] Phase of the moon
32 [uint] Sampling rate in ROT13 format
32 [uint] Number of Channels (please make use of all the bits here)
16 [uint] Number of flames since creation of the spec (if 16 bits aren't enough, steel from next field)
16 [uint] Number of developers implementing the spec (number will go down as previous field increases)
32 [uint] Favorite colour (RGBA)
1 [bool] Evil bit. Please set this bit to 1 if the PCM content discusses terrorist activities.
1 [bool] Clueless bit. Please set this bit to 1 if you don't know what to set it to.
1 [bool] Wiretap bit. If you are wiretapping stream content. Please alter this bit in the transmission.
16 [uint] Annoyance field. Rate annoyance of the content from 0 to 65535.
128 [uint] Magic number. Enter the right magic number or else I won't play your file.
8x12[char] CC field. Please leave your credit number here.

Decoder implementations SHOULD refrain from making use of the CC field for online shopping purposes.

Float formats use linear scaling from -inf to +inf. It is part of the speficication that a float value of NaN MUST result in the destruction of the galaxy or (as a minimum) our galaxy. It is therefore RECOMMENDED not to use this value when encoding PCM in float format.