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

Jason Tackaberry tack
Mon Aug 10 20:17:12 CEST 2009

On Mon, 2009-08-10 at 11:04 -0700, Frank Barchard wrote:
> Its taking effort in every player to adapt layouts for each codec.  Some
> ideas for simplifying this:
> 1. ask vorbis to adopt aac layout, since these will be 2 common formats for
> the next little while. 5.1 support is not all that common yet, so it may
> still be possible to change the spec. or
> 2. make ffmpeg vorbis decoder swizzle to aac layout.  aac is more ingrained
> with strong hardware support and software support.  So I'd recommend
> adopting it as the internal layout.  That, or wav

The Vorbis specification already define channel layouts (see [1]), which
is different from AAC.  Adjusting vorbis decoder/encoder to accept AAC
layouts, which differs from both the Vorbis spec and the
WAVEFORMATEXTENSIBLE order that ffmpeg is converging on, seems like it
would just add to the confusion.

> 3. make all formats decode 5.1 to wav layout, which is well defined and
> supported on Windows.  This would allow data to be played back directly with
> waveout, and to transcode from one format to another with minimal client
> code.

And I understand this is the direction, but it's just a matter of doing
the work to adapt the current codecs to accept this layout.  At least of
the codecs I've tested (ac3, dts, flac, vorbis, aac, truehd/mlp), Vorbis
and AAC are the exceptions.

Ultimately if the default channel layout is changed, the players using
lavc will need to adapt.  I've already done this work for MPlayer, but
the question came up on mplayer-dev-eng as to whether or not vorbis and
aac were slated to change soonish.  That's primarily what I'm trying to
suss out at this point.


[1] http://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-800004.3.9

More information about the ffmpeg-devel mailing list