On Fri, 14.08.09 12:36, David Robillard (dave(a)drobilla.net) wrote:
Is there any existing 'standard' for the order
of channels for
higher-than-stereo multi-channel streams?
For example, for discrete non-interleaved 5.1 (using a
full channel for
the .1) we have 6 channels: left, center, right, rear left, rear right,
LFE (see
http://lv2plug.in/ns/dev/port-groups#FivePointOneGroup)
What order should these be passed in? Any existing practices?
Microsoft WAVEX and Apple CAF encode the channel mappings in a bitmap
that doesn't limit you much in which channels you pick, but it does
imply a specific order:
http://developer.apple.com/documentation/MusicAudio/Reference/CAFSpec/CAF_s…
http://www.microsoft.com/whdc/device/audio/multichaud.mspx#EKLAC
Look for kCAFChannelBit_xxx resp. SPEAKER_xxx.
The CAF wand WAVEX channel mask is identical, however they used
different names for the same channels. (CAF allows more flexible
definitions via a different chunk, too though, which enables
ambisonics). Given that both MS and Apple seem to follow this rule it
might be a good idea to follow it too.
And finally, RFC3551/AIFF-C (see section 4.1 of the RFC) defines an
implicit channel mapping based on the number of channels. In some
cases it might make sense to follow that rule.
Lennart
--
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4