diff --git a/libavcodec/aaccoder_twoloop.h b/libavcodec/aaccoder_twoloop.h index 4747c797d37027982f08de2a7d165aedcabcd736..41d3ffd8a01baec8e8ead1a3bea59b19208c956b 100644 --- a/libavcodec/aaccoder_twoloop.h +++ b/libavcodec/aaccoder_twoloop.h @@ -300,8 +300,12 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx, start = w*128; for (g = 0; g < sce->ics.num_swb; g++) { const float *scaled = s->scoefs + start; + int minsfidx; maxvals[w*16+g] = find_max_val(sce->ics.group_len[w], sce->ics.swb_sizes[g], scaled); - minsf[w*16+g] = coef2minsf(maxvals[w*16+g]); + if (maxvals[w*16+g] > 0) + minsfidx = coef2minsf(maxvals[w*16+g]); + for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) + minsf[(w+w2)*16+g] = minsfidx; start += sce->ics.swb_sizes[g]; } }