aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2022-11-27 19:08:49 -0300
committerJames Almer <jamrial@gmail.com>2022-11-29 09:06:21 -0300
commitbb45f41a6b8acdf3fd6d0dba29330b965b229a44 (patch)
tree1477a9fc1fc4a7f85896e716170ac8a7231b1021
parent9d8d7bdffb0e0e229b7d896c2df04a0237e9a243 (diff)
downloadffmpeg-bb45f41a6b8acdf3fd6d0dba29330b965b229a44.tar.gz
avcodec/libfdk-aacenc: add support for 7.1(top) channel layout
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavcodec/libfdk-aacenc.c4
1 files changed, 4 insertions, 0 deletions
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 },
};