]> git.sesse.net Git - ffmpeg/commitdiff
AAC encoder: fix possible assertion failure in PNS
authorClaudio Freire <klaussfreire@gmail.com>
Tue, 22 Dec 2015 08:26:12 +0000 (05:26 -0300)
committerClaudio Freire <klaussfreire@gmail.com>
Tue, 22 Dec 2015 08:26:12 +0000 (05:26 -0300)
Fix possible SF delta violation that would cause an
eventual assertion failure in some corner cases (esp
on very low bitrates) when marking bands for PNS due
to misuse of the sf_delta utilities

libavcodec/aaccoder.c

index 15d467b8706d942327b5321e0fcbf7a311279ef4..6fcc6a0eab20351d6ebcca076627736e239d81c4 100644 (file)
@@ -726,9 +726,10 @@ static void search_for_pns(AACEncContext *s, AVCodecContext *avctx, SingleChanne
                 sce->band_type[w*16+g] = NOISE_BT;
                 sce->zeroes[w*16+g] = 0;
                 prev = noise_sfi;
+            } else {
+                if (!sce->zeroes[w*16+g])
+                    prev_sf = sce->sf_idx[w*16+g];
             }
-            if (!sce->zeroes[w*16+g])
-                prev_sf = sce->sf_idx[w*16+g];
         }
     }
 }