[Vorbis-dev] Big issue regarding channel order mapping in 5.1 has been reported

John Edwards john.edwards33 at ntlworld.com
Mon Nov 28 08:27:08 PST 2005



Michael Smith wrote:
> On 11/28/05, Ivo Gonçalves <ivo_mmm at hotmail.com> wrote:
>> I know there's a bug tracker, and that is exactly the reason why I am
>> posting this on the dev list. There has been a report from one of the foobar
>> developers regarding oggenc on the HA forums, but he later posted it at the
>> bug tracker as well. Three weeks have passed and no one seems to have
>> noticed it was there.
> 
> I saw it, but it was a pretty incoherent report. As far as I know,
> there is no vorbis spec for channel position mapping, and no
> references were given, so it's hard for oggenc to be "wrong" there.
> 
> The bugtracking system is also really bad at bugtracking, which is
> part of the reason I haven't replied there.
> 
> Mike


Extract from the Vorbis I Spec:

4.3.9. output channel order

Vorbis I specifies only a channel mapping type 0. In mapping type 0, 
channel mapping is implicitly defined as follows for standard audio 
applications:

one channel
     the stream is monophonic
two channels
     the stream is stereo. channel order: left, right
three channels
     the stream is a 1d-surround encoding. channel order: left, center, 
right
four channels
     the stream is quadraphonic surround. channel order: front left, 
front right, rear left, rear right
five channels
     the stream is five-channel surround. channel order: front left, 
front center, front right, rear left, rear right
six channels
     the stream is 5.1 surround. channel order: front left, front 
center, front right, rear left, rear right, LFE
greater than six channels
     channel use and order is defined by the application

I've just posted an alpha oggdropXPdV1.8.7 that handles multichannel as 
above, re-mapping the channels appropriately. This works on encode and 
decode to file and reads/writes WAVEFORMATEXTENSIBLE headers as 
appropriate. Please note this is an alpha for testing purposes, but I 
propose to incorporate this in my 'oggenc2' when it's confirmed as clean.

John


More information about the Vorbis-dev mailing list