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

Alex Converse alex.converse
Mon Aug 10 06:24:24 CEST 2009

On Sun, Aug 9, 2009 at 8:59 PM, Jason Tackaberry<tack at urandom.ca> wrote:
> [...]
> 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

Looking at the code I also think it is C L R LFE (L R pairs) (the same
for 5.1 but C L R LFE L R L R for 7.1)

This was addressed in
but never resolved.

Switching up the order that we iterate over types to (CPE (1), SCE
(0), LFE (2), CCE (3)) should at least get us to L R C LFE (L R pairs)

> aac.c:output_configure(). ?Encoding uses C L R Ls Rs LFE as defined in
> aacenc.c:aac_chan_configs[].

This is the AAC native channel order and is probably an artifact of
convenience, channel ordering is near the bottom of my priority list
for the AAC encoder (it needs work in lots of areas, spitting out
legal 5.1 bitstreams comes well above that but still is ranked fairly
low) but patches welcome.

> [...]


Alex Converse

More information about the ffmpeg-devel mailing list