lavc/aacdec_template: Fix 7.1 decoding with default strictness.

Broken in 4d9b9c5e
Fixes ticket #9057.
This commit is contained in:
KM 2021-02-16 23:19:19 +01:00 committed by Carl Eugen Hoyos
parent c38ab8f30f
commit fbe9b0c8f3
1 changed files with 7 additions and 4 deletions

View File

@ -639,11 +639,14 @@ static int set_default_channel_config(AACContext *ac, AVCodecContext *avctx,
* As actual intended 7.1(wide) streams are very rare, default to assuming a
* 7.1 layout was intended.
*/
if (channel_config == 7 && avctx->strict_std_compliance < FF_COMPLIANCE_STRICT && (!ac || !ac->warned_71_wide++)) {
av_log(avctx, AV_LOG_INFO, "Assuming an incorrectly encoded 7.1 channel layout"
" instead of a spec-compliant 7.1(wide) layout, use -strict %d to decode"
" according to the specification instead.\n", FF_COMPLIANCE_STRICT);
if (channel_config == 7 && avctx->strict_std_compliance < FF_COMPLIANCE_STRICT) {
layout_map[2][2] = AAC_CHANNEL_SIDE;
if (!ac || !ac->warned_71_wide++) {
av_log(avctx, AV_LOG_INFO, "Assuming an incorrectly encoded 7.1 channel layout"
" instead of a spec-compliant 7.1(wide) layout, use -strict %d to decode"
" according to the specification instead.\n", FF_COMPLIANCE_STRICT);
}
}
return 0;