[FFmpeg-trac] #8656(avcodec:new): Encoding 7.1 channel audio with the native AAC encoder should use PCE
FFmpeg
trac at avcodec.org
Wed May 6 06:54:15 EEST 2020
#8656: Encoding 7.1 channel audio with the native AAC encoder should use PCE
---------------------------------+--------------------------------------
Reporter: pymlofy | Type: defect
Status: new | Priority: normal
Component: avcodec | Version: git-master
Keywords: aac | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
---------------------------------+--------------------------------------
Summary of the bug:
Encoding 7.1 channel audio (FL FR FC LFE BL BR SL SR) with the native AAC
encoder produces an output file using channel configuration 7, while the
same command except using the FDK AAC encoder produces an output file with
a PCE. Channel configuration 7 is supposed to correspond to "7.1(wide)"
though some players will interpret this as "7.1" [rear] instead.
Considering the inconsistencies in interpreting channel configuration 7,
it should probably use a PCE in this case, matching the FDK AAC encoder.
How to reproduce:
{{{
% ffmpeg -i "7.1auditionOutLeader v2.wav" -c:a aac -b:a 640k out_aac.mkv
ffmpeg version N-97630-gae8980319b-gbdd57e2a37+1 Copyright (c) 2000-2020
the FFmpeg developers
built with gcc 9.3.0 (Rev2, Built by MSYS2 project)
% ffmpeg -i "7.1auditionOutLeader v2.wav" -c:a libfdk_aac -b:a 640k
out_fdkaac.mkv
ffmpeg version N-97630-gae8980319b-gbdd57e2a37+1 Copyright (c) 2000-2020
the FFmpeg developers
built with gcc 9.3.0 (Rev2, Built by MSYS2 project)
}}}
out_aac.mkv will output the following warning if used as input, since it
uses channel configuration 7:
{{{
[aac @ 00000183de2e1940] Assuming an incorrectly encoded 7.1 channel
layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to
decode according to the specification instead.
}}}
Input file is from:
https://www2.iis.fraunhofer.de/AAC/7.1auditionOutLeader%20v2.wav
Looking at the PCE code in libavcodec/aacenc.h, it looks like most of the
listed configurations are incorrect, so that would likely have to be fixed
here -- if I'm interpreting it correctly, it is going to output channels
in the order L R C ... instead of C L R ... and there are likely other
things that are incorrect (LFE missing in .1 configs, etc.)
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8656>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list