Commit be746ae4 authored by Claudio Freire's avatar Claudio Freire

AAC encoder: fix undefined behavior

Fix uninitialized access of minsf in short windows
Fix potential invocation of coef2minsf(0)
parent 9bf3d01d
...@@ -300,8 +300,12 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx, ...@@ -300,8 +300,12 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
start = w*128; start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) { for (g = 0; g < sce->ics.num_swb; g++) {
const float *scaled = s->scoefs + start; 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); 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]; start += sce->ics.swb_sizes[g];
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment