diff options
author | Claudio Freire <klaussfreire@gmail.com> | 2015-12-22 05:26:12 -0300 |
---|---|---|
committer | Claudio Freire <klaussfreire@gmail.com> | 2015-12-22 05:26:12 -0300 |
commit | 4720a562c8d45b15c49ea3535a8e74933b1ac260 (patch) | |
tree | 003dc94a9749770cbde2e2bcb3ad342bf8eddf24 | |
parent | c0f67e1123fe7e790d18fa750b4b78ed8584d8d7 (diff) | |
download | ffmpeg-4720a562c8d45b15c49ea3535a8e74933b1ac260.tar.gz |
AAC encoder: fix possible assertion failure in PNS
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
-rw-r--r-- | libavcodec/aaccoder.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c index 15d467b870..6fcc6a0eab 100644 --- a/libavcodec/aaccoder.c +++ b/libavcodec/aaccoder.c @@ -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]; } } } |