]> git.sesse.net Git - ffmpeg/commitdiff
lavc/aacdec_template: Fix 7.1 decoding with default strictness.
authorKM <the.real.laplace@gmail.com>
Tue, 16 Feb 2021 22:19:19 +0000 (23:19 +0100)
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>
Tue, 16 Feb 2021 22:37:31 +0000 (23:37 +0100)
Broken in 4d9b9c5e
Fixes ticket #9057.

libavcodec/aacdec_template.c

index e5d311141fc2cc4ec2ad09c9044ca92059a9b761..aa89f7cbb8139088884bc165035609cd4153f913 100644 (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;