AAC encoder: fix undefined behavior

Fix uninitialized access of minsf in short windows
Fix potential invocation of coef2minsf(0)
This commit is contained in:
Claudio Freire 2016-03-30 18:34:08 -03:00
parent 9bf3d01d91
commit be746ae470

View File

@ -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];
}
}