Opened 21 months ago

Last modified 9 months ago

#9835 new enhancement

Native AAC encoder does not signal 7.1 correctly

Reported by: Anton1699 Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: aac channel_layout
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

This is the list of channel layouts the AAC encoder will encode without a PCE:

static const AVChannelLayout aac_normal_chan_layouts[7] = {
    AV_CHANNEL_LAYOUT_MONO,
    AV_CHANNEL_LAYOUT_STEREO,
    AV_CHANNEL_LAYOUT_SURROUND,
    AV_CHANNEL_LAYOUT_4POINT0,
    AV_CHANNEL_LAYOUT_5POINT0_BACK,
    AV_CHANNEL_LAYOUT_5POINT1_BACK,
    AV_CHANNEL_LAYOUT_7POINT1,
};

Looking at the 7.1 Channel Support table here, it seems that the seventh channel layout signals SDDS (Sony Dynamic Digital Sound) which FFmpeg calls 7.1(wide). FFmpeg's 7.1 is signaled using the twelfth entry which was added in an amendment to the AAC specification.

I understand that not every decoder will understand the amended channel layouts so maybe there should be a command line flag to manually enable them.

Change History (1)

comment:1 by pkv, 9 months ago

i agree. In my fork I've set indeed to AV_CH_LAYOUT_7POINT1_WIDE instead of AV_CHANNEL_LAYOUT_7POINT1

Note: See TracTickets for help on using tickets.