Le 29/08/2018 à 1:01 AM, Rostislav Pehlivanov a écrit :


On 28 August 2018 at 22:29, Rostislav Pehlivanov <atomnu...@gmail.com <mailto:atomnu...@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 <atomnu...@gmail.com
    <mailto:atomnu...@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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to