|
|
|
@@ -151,6 +151,16 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) |
|
|
|
case 4: mode = MODE_1_2_1; sce = 2; cpe = 1; break; |
|
|
|
case 5: mode = MODE_1_2_2; sce = 1; cpe = 2; break; |
|
|
|
case 6: mode = MODE_1_2_2_1; sce = 2; cpe = 2; break; |
|
|
|
case 8: |
|
|
|
sce = 2; |
|
|
|
cpe = 3; |
|
|
|
if (avctx->channel_layout == AV_CH_LAYOUT_7POINT1_WIDE_BACK) { |
|
|
|
mode = MODE_7_1_REAR_SURROUND; |
|
|
|
} else { |
|
|
|
// MODE_1_2_2_2_1 and MODE_7_1_FRONT_CENTER use the same channel layout |
|
|
|
mode = MODE_7_1_FRONT_CENTER; |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
"Unsupported number of channels %d\n", avctx->channels); |
|
|
|
@@ -384,6 +394,8 @@ static const uint64_t aac_channel_layout[] = { |
|
|
|
AV_CH_LAYOUT_4POINT0, |
|
|
|
AV_CH_LAYOUT_5POINT0_BACK, |
|
|
|
AV_CH_LAYOUT_5POINT1_BACK, |
|
|
|
AV_CH_LAYOUT_7POINT1_WIDE, |
|
|
|
AV_CH_LAYOUT_7POINT1_WIDE_BACK, |
|
|
|
0, |
|
|
|
}; |
|
|
|
|
|
|
|
|