summaryrefslogtreecommitdiff
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
parentc0f67e1123fe7e790d18fa750b4b78ed8584d8d7 (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.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];
}
}
}