View Single Post
Old 27th April 2015, 15:16   #54  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
I'm still trying to understand why some encoders (FDK and QAAC) actively reject some channel layouts. Others simply remap to a channel layout they want to use (FhG and Nero) which to me seems a bit naughty. I'd rather have a "no I won't do that" error message.

I played around a little with QAAC as it's the only AAC encoder I have that'll reject channel layouts it doesn't like and let you specify exactly the layout you want. I used a 4ch audio file and the standard 4ch layouts listed at the bottom of this page: https://trac.ffmpeg.org/wiki/AudioCh...n#Muteachannel

They are:

3.1: FL+FR+FC+LFE
4.0: FL+FR+FC+BC
Quad: FL+FR+BL+BR
Quad: (side) FL+FR+SL+SR

When specifying a channel layout QAAC encoded the 4.0 and Quad layouts correctly, and it didn't reject the Quad (side) layout (although the Apple encoder remaps "Quad (side)" to "Quad" as explained here, but it completely rejects 3.1ch. Looking at the list of channel layouts on the QAAC page I linked to that's hardly a surprise, but as none of the AAC encoders will encode 3.1ch (they either reject it or encode is as 4.0) there must be a reason for it beyond Apple not having bothered implementing 3.1ch encoding, or there's an AAC conspiracy taking place, but I'm not sure what the reason is.

I didn't play around with too many channel number/layout combinations other than the 4ch ones, but so far all the AAC encoders either refuse to encode 4.1ch or they remap it to something else, but once again I'd assume there's a reason.

And of course there's always the exception that makes the rule. 2.1ch is either encoded as 3ch or rejected, except by Nero. The Nero encoder will happily distinguish between 2.1ch and 3ch and encode either correctly. I don't know why.

Last edited by hello_hello; 27th April 2015 at 15:31.
hello_hello is offline   Reply With Quote