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

Benjamin Larsson banan
Mon Aug 10 11:45:28 CEST 2009


Jason Tackaberry wrote:
> 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
> aacenc.c:aac_chan_configs[].
> 
> 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?
> 
> Thanks,
> Jason.
> 
> 
> [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 

The internal ffmpeg channel order that is used is based on the wav file
order.

http://msdn.microsoft.com/en-us/library/ms713496(VS.85).aspx

MvH
Benjamin Larsson



More information about the ffmpeg-devel mailing list