Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Multichannel confusion! (Read 3428 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Multichannel confusion!

Hi all,
I created 3-channel wav (Left Right Center) and encoded this wav to AAC using multichannel AAC encoders I could find: FAAC, NERO and COMPAACT.


First confusion comes from different encoding:

NERO mapped Left channel to SCE (single channel element), and encoded Right and Center as CPE (channel pair element) stereo pair, which is wrong.
FAAC mapped Center to SCE and Left and Right to CPE, which is ok.
COMPAACT encoded all as SCEs, and produced three mono channels, which is also wrong.


Second confusion is introduced by FAAD2's decoding:

NERO's SCE is sent to Left speaker and CPE is sent to Right and Center, respectively. So, when you listen to it, everything seams to be right, but it isn't. NERO makes a mistake and FAAD 'hides' it.

FAAC's output is routed completely wrong. SCE element is sent to Left, CPE is sent to Right and Center speakers.

COMPAACT'S three mono channels are all routed to right speakers (like NERO's), but using what logic?



Input wave file's header explicitely says what channels and in what order are interlieved inside this file, so there shouldn't be any confusion with encoding/decoding. But do the encoders know how to interpret multichannel wav header (WAVE_FORMAT_EXTENSIBLE)? And why the decoder doesn't write proper multichannel wave (also WAVE_FORMAT_EXTENSIBLE) at it's output?

What to do?

Daniel

Multichannel confusion!

Reply #1
It seems you are right, we'll fix this on our side...

Edit: At least on the encoder side it's a problem, menno's also going to check FAAD2 but pointed out AAC channel order =/= WAV order