提交 da30d0ce 编写于 作者: M Michael Niedermayer

libavcodec/mpegaudio_tablegen: clip value before casting

Avoids FPE on alpha
Signed-off-by: NMichael Niedermayer <michaelni@gmx.at>
上级 c68faca6
......@@ -63,7 +63,7 @@ static void mpegaudio_tableinit(void)
/* cbrtf() isn't available on all systems, so we use powf(). */
double f = (double)value * pow(value, 1.0 / 3.0) * pow(2, (exponent - 400) * 0.25 + FRAC_BITS + 5) / IMDCT_SCALAR;
/* llrint() isn't always available, so round and cast manually. */
expval_table_fixed[exponent][value] = (long long int) floor(f + 0.5);
expval_table_fixed[exponent][value] = (long long int) FFMIN(floor(f + 0.5), 0xFFFFFFFF);
expval_table_float[exponent][value] = f;
}
exp_table_fixed[exponent] = expval_table_fixed[exponent][1];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册