diff options
author | Claudio Freire <[email protected]> | 2015-12-22 05:26:12 -0300 |
---|---|---|
committer | Claudio Freire <[email protected]> | 2015-12-22 05:26:12 -0300 |
commit | 4720a562c8d45b15c49ea3535a8e74933b1ac260 (patch) | |
tree | 003dc94a9749770cbde2e2bcb3ad342bf8eddf24 | |
parent | c0f67e1123fe7e790d18fa750b4b78ed8584d8d7 (diff) |
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]; } } } |