diff --git a/libavcodec/aac.c b/libavcodec/aac.c index d18e25b1df..87005ab8e9 100644 --- a/libavcodec/aac.c +++ b/libavcodec/aac.c @@ -760,12 +760,12 @@ static int decode_spectrum_and_dequant(AACContext * ac, float coef[1024], GetBit while(offsets[idx + 1] <= pulse->pos[i]) idx++; if (band_type[idx] != NOISE_BT && sf[idx]) { - float ico = -pulse->amp[i]; - if (co) { - co /= sf[idx]; - ico = co / sqrtf(sqrtf(fabsf(co))) + (co > 0 ? -ico : ico); - } - coef_base[ pulse->pos[i] ] = cbrtf(fabsf(ico)) * ico * sf[idx]; + float ico = -pulse->amp[i]; + if (co) { + co /= sf[idx]; + ico = co / sqrtf(sqrtf(fabsf(co))) + (co > 0 ? -ico : ico); + } + coef_base[ pulse->pos[i] ] = cbrtf(fabsf(ico)) * ico * sf[idx]; } } }