[FFmpeg-devel] [PATCH] aacenc: remove unsupported PCE mappings

pkv.stream pkv.stream at gmail.com
Sun Oct 21 15:12:42 EEST 2018


Le 29/08/2018 à 1:01 AM, Rostislav Pehlivanov a écrit :
>
>
> On 28 August 2018 at 22:29, Rostislav Pehlivanov <atomnuker at gmail.com 
> <mailto:atomnuker at gmail.com>> wrote:
>
>     Turns out those ones make the decoder unable to accurately
>     determine the
>     layout, hence making some API users' guess, and sometimes those
>     are correct
>     (ffmpeg.c), but most often (especially with side channels) they're
>     wrong.
>     The removed ones need to be investigated into as to why the
>     decoder rejects
>     them.
>
>     Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com
>     <mailto:atomnuker at gmail.com>>
>     ---
>      libavcodec/aacenc.h | 177
>     --------------------------------------------
>      1 file changed, 177 deletions(-)
>
>
> CCing pkv, if you have the time can you go over what's happening?
> Its a bit suspicious that 5.1, 6.1, 7.1, etc. don't use TYPE_LFE but 
> rather just an SCE (there's a difference in coding).

Hi,

I've investigated the issues and emailed patches one month ago in 
private to atomnuker (I was unsubscribved to the list at that time).

Per his instructions, I'm sending the patches on the list. Couldn't find 
any maintainer for aacdec; atomnuker told me he would ping Alex Converse.

Turns out there are no issues on the encoder side with pce but rather on 
the decoder.

So:

- patch 1/3 (aacenc): reinstates LFE channels.

==> During initial development for pce, I had found that the LFE 
channels were always ordered last which was wrong; so I had replaced 
them with SCE channels as a workaround. Actually I found out that it was 
the decoder which was making an error whenever there is an LFE; when 
opening a 7.1 pce encoded file, with mpc-hc, it was decoded correctly. I 
found a fix which is in patch 3/3. And therefore I've put back LFE in 
encoder pce table (patch 1/3).

- patch 2/3 (aacenc): this adds support for 11 to 15 channels with pce. 
That's just for convenience since already 1-10 + 16 are supported. I'm 
using regularly up to 16 channels embedded in sdi and support for 11 to 
15 channels is helpful.

- patch 3/3 (aacdec)  fixes the decoder by providing channel layouts 
when a pce is detected (channel_map == 0)

The patches will follow in the next batch of msg to the list.

Thanks



More information about the ffmpeg-devel mailing list