[FFmpeg-devel] [PATCH 1/2] avcodec/libfdk-aacenc: add support for 7.1(top) channel layout

James Almer jamrial at gmail.com
Mon Nov 28 00:18:01 EET 2022


Signed-off-by: James Almer <jamrial at gmail.com>
---
 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 },
 };
-- 
2.38.1



More information about the ffmpeg-devel mailing list