[FFmpeg-devel] Channel layouts for aac encoding/decoding and vorbis decoding

Jason Tackaberry tack
Mon Aug 10 02:59:23 CEST 2009

Hi all,

While working to resolve some current channel layout problems with
MPlayer [1], I've noticed some (presumable) inconsistencies with the aac
and vorbis codecs.

Some time last year, changes were made to ffmpeg with respect to
handling of multi-channel audio [2], the result of which seems to be a
normalization of most ffmpeg codecs to the SMPTE/ITU-R order (L R C LFE
Ls Rs for 6 channels).  At least the ac3, dca, and flac codecs were
adjusted to decode (and encode for ac3) in this order.

AAC and Vorbis are two potential anomalies that I'd like to ask about.
AAC in particular has different channel orders for decoding and encoding
of 6 channels.  Decoding uses C L R LFE Ls Rs as defined in
aac.c:output_configure().  Encoding uses C L R Ls Rs LFE as defined in

Vorbis decodes to L C R Ls Rs LFE, which is the order defined in the
Vorbis standard.

If I understand the intent behind the multichannel audio changes in [1],
I'd have expected AAC and Vorbis to also encode/decode using L R C LFE
Ls Rs (ignoring vorbis encoding, which doesn't support > 2 channels).

Is this difference intentional?  Are these channel layouts likely to
change in ffmpeg?  Or, is there some way to specify the desired channel
orders with these codecs?


[1] http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2009-August/062012.html
[2] http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-August/052382.html 

More information about the ffmpeg-devel mailing list