summaryrefslogtreecommitdiff
path: root/libavcodec/aaccoder.c
diff options
context:
space:
mode:
authorClaudio Freire <klaussfreire@gmail.com>2015-12-22 05:26:12 -0300
committerClaudio Freire <klaussfreire@gmail.com>2015-12-22 05:26:12 -0300
commit4720a562c8d45b15c49ea3535a8e74933b1ac260 (patch)
tree003dc94a9749770cbde2e2bcb3ad342bf8eddf24 /libavcodec/aaccoder.c
parentc0f67e1123fe7e790d18fa750b4b78ed8584d8d7 (diff)
downloadffmpeg-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
Diffstat (limited to 'libavcodec/aaccoder.c')
-rw-r--r--libavcodec/aaccoder.c5
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];
}
}
}