From a71f7de95bf34dcf2df7f7adf9e21bd0ed0e4f61 Mon Sep 17 00:00:00 2001 From: Rostislav Pehlivanov Date: Sun, 6 Sep 2015 15:09:22 +0100 Subject: [PATCH] aacenc_is: ignore PNS band types It's better to trust that the coefficients generated will be closer than the coefficients derived, and the new PNS implementation makes sure that this happens. Signed-off-by: Rostislav Pehlivanov --- libavcodec/aacenc_is.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/aacenc_is.c b/libavcodec/aacenc_is.c index bb201f628d..95ba3f8d50 100644 --- a/libavcodec/aacenc_is.c +++ b/libavcodec/aacenc_is.c @@ -107,6 +107,11 @@ void ff_aac_search_for_is(AACEncContext *s, AVCodecContext *avctx, ChannelElemen cpe->ch[1].band_type[w*16+g] != NOISE_BT && !cpe->ch[1].zeroes[w*16+g]) { float ener0 = 0.0f, ener1 = 0.0f, ener01 = 0.0f; struct AACISError ph_err1, ph_err2, *erf; + if (sce0->band_type[w*16+g] == NOISE_BT || + sce1->band_type[w*16+g] == NOISE_BT) { + start += sce0->ics.swb_sizes[g]; + continue; + } for (w2 = 0; w2 < sce0->ics.group_len[w]; w2++) { for (i = 0; i < sce0->ics.swb_sizes[g]; i++) { float coef0 = sce0->pcoeffs[start+(w+w2)*128+i];