cast to uint32 as the table is uint32_t, this also worksaround a gcc or libc bug related to frexp()

Originally committed as revision 3997 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 20 years ago
parent a54ea19a52
commit f86f4481d8
  1. 2
      libavcodec/mpegaudiodec.c

@ -417,7 +417,7 @@ static int decode_init(AVCodecContext * avctx)
int e, m; int e, m;
f = pow((double)(i/4), 4.0 / 3.0) * pow(2, (i&3)*0.25); f = pow((double)(i/4), 4.0 / 3.0) * pow(2, (i&3)*0.25);
fm = frexp(f, &e); fm = frexp(f, &e);
m = FIXHR(fm*0.5); m = (uint32_t)(fm*(1LL<<31) + 0.5);
e+= FRAC_BITS - 31 + 5; e+= FRAC_BITS - 31 + 5;
/* normalized to FRAC_BITS */ /* normalized to FRAC_BITS */

Loading…
Cancel
Save