AAC encoder: fix initialization of minsf
authorClaudio Freire <klaussfreire@gmail.com>
Sun, 3 Apr 2016 18:03:53 +0000 (15:03 -0300)
committerClaudio Freire <klaussfreire@gmail.com>
Sun, 3 Apr 2016 18:03:53 +0000 (15:03 -0300)
In some situations (exactly zeroed DC coeffs) minsf would
be initialized with garbage

libavcodec/aaccoder_twoloop.h

index 41d3ffd..42aea52 100644 (file)
@@ -302,10 +302,11 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
             const float *scaled = s->scoefs + start;
             int minsfidx;
             maxvals[w*16+g] = find_max_val(sce->ics.group_len[w], sce->ics.swb_sizes[g], scaled);
-            if (maxvals[w*16+g] > 0)
+            if (maxvals[w*16+g] > 0) {
                 minsfidx = coef2minsf(maxvals[w*16+g]);
-            for (w2 = 0; w2 < sce->ics.group_len[w]; w2++)
-                minsf[(w+w2)*16+g] = minsfidx;
+                for (w2 = 0; w2 < sce->ics.group_len[w]; w2++)
+                    minsf[(w+w2)*16+g] = minsfidx;
+            }
             start += sce->ics.swb_sizes[g];
         }
     }