summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/aaccoder.c5
-rw-r--r--libavcodec/aacenc.c9
2 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c
index 24ea48e6d3..88a78ea945 100644
--- a/libavcodec/aaccoder.c
+++ b/libavcodec/aaccoder.c
@@ -1081,11 +1081,6 @@ static void search_for_pns(AACEncContext *s, AVCodecContext *avctx, SingleChanne
const float spread_threshold = NOISE_SPREAD_THRESHOLD*(lambda/120.f);
const float thr_mult = NOISE_LAMBDA_NUMERATOR/lambda;
- /* Coders !twoloop don't reset the band_types */
- for (w = 0; w < 128; w++)
- if (sce->band_type[w] == NOISE_BT)
- sce->band_type[w] = 0;
-
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = 0;
for (g = 0; g < sce->ics.num_swb; g++) {
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 8d48790745..eac2e92e7a 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -560,8 +560,13 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
memset(cpe->ms_mask, 0, sizeof(cpe->ms_mask));
put_bits(&s->pb, 3, tag);
put_bits(&s->pb, 4, chan_el_counter[tag]++);
- for (ch = 0; ch < chans; ch++)
- coeffs[ch] = cpe->ch[ch].coeffs;
+ for (ch = 0; ch < chans; ch++) {
+ sce = &cpe->ch[ch];
+ coeffs[ch] = sce->coeffs;
+ for (w = 0; w < 128; w++)
+ if (sce->band_type[w] > RESERVED_BT)
+ sce->band_type[w] = 0;
+ }
s->psy.model->analyze(&s->psy, start_ch, coeffs, wi);
for (ch = 0; ch < chans; ch++) {
s->cur_channel = start_ch + ch;