Opened 4 years ago

Closed 2 months ago

Last modified 8 weeks ago

#9835 closed enhancement (fixed)

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 (2)

comment:1 by pkv, 3 years ago

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

comment:2 by Balling, 2 months ago

Resolution: fixed
Status: newclosed

FFmpeg's 7.1 is signaled using the twelfth entry which was added in an amendment to the AAC specification.

Well, yes, that is for Blu-ray though. In 2bad226f89683d1a6795512855fff69b36e09c97 AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK added, disabled in favor of PCE configuration,

and AV_CHANNEL_LAYOUT_7POINT1 is finally moved to 12th place.

PCE can still be further enabled.

Last edited 8 weeks ago by Balling (previous) (diff)
Note: See TracTickets for help on using tickets.