From bb45f41a6b8acdf3fd6d0dba29330b965b229a44 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 27 Nov 2022 19:08:49 -0300 Subject: [PATCH] avcodec/libfdk-aacenc: add support for 7.1(top) channel layout Signed-off-by: James Almer --- libavcodec/libfdk-aacenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c index d589964453..dc2ac377d0 100644 --- a/libavcodec/libfdk-aacenc.c +++ b/libavcodec/libfdk-aacenc.c @@ -195,6 +195,8 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) cpe = 3; if (!av_channel_layout_compare(&avctx->ch_layout, &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1)) { mode = MODE_7_1_REAR_SURROUND; + } else if (!av_channel_layout_compare(&avctx->ch_layout, &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK)) { + mode = MODE_7_1_TOP_FRONT; } else { // MODE_1_2_2_2_1 and MODE_7_1_FRONT_CENTER use the same channel layout mode = MODE_7_1_FRONT_CENTER; @@ -451,6 +453,7 @@ static const uint64_t aac_channel_layout[] = { #if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 AV_CH_LAYOUT_7POINT1_WIDE_BACK, AV_CH_LAYOUT_7POINT1, + AV_CH_LAYOUT_7POINT1_TOP_BACK, #endif 0, }; @@ -466,6 +469,7 @@ static const AVChannelLayout aac_ch_layouts[16] = { #ifdef AACENCODER_LIB_VL0 AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK, AV_CHANNEL_LAYOUT_7POINT1, + AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK, #endif { 0 }, };