From 4720a562c8d45b15c49ea3535a8e74933b1ac260 Mon Sep 17 00:00:00 2001 From: Claudio Freire Date: Tue, 22 Dec 2015 05:26:12 -0300 Subject: [PATCH] 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 --- libavcodec/aaccoder.c | 5 +++-- 1 file 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]; } } }