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

Frank Barchard fbarchard
Mon Aug 10 20:32:00 CEST 2009

On Mon, Aug 10, 2009 at 11:17 AM, Jason Tackaberry <tack at urandom.ca> wrote:

> > 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.

This direction makes a lot of sense.  Its consistent with video codecs that
all decode to YUV420.
Its just more effort than my first 2 suggestions.
The actual layout we settle on is not that important - its just important
that we pick one.
It could also be different per platform, if really necessary, so long as
there are macros to specify the channel order.
By far the emphasis is 5.1, but if we could make all the other layouts
consistent and easy, that would be nice.
Otherwise is an aweful lot of effort for a feature that is rarely used.

> 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.

I know my code will be affected, but I'm okay with that.
Another thing that would help this transition is downmixing.  If ffmpeg
provided that, we could let it deal with layouts.

More information about the ffmpeg-devel mailing list