From: Reimar Döffinger Date: Thu, 15 Oct 2009 06:59:23 +0000 (+0000) Subject: Use cbrtf and exp2f instead of pow to calculate tables for MPEG audio decoding. X-Git-Tag: android-x86-4.4-r1~25003 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=686884da9d686d7498e246fe0e7146767b21aa42;p=android-x86%2Fexternal-ffmpeg.git Use cbrtf and exp2f instead of pow to calculate tables for MPEG audio decoding. This hopefully is fast enough so that it is reasonable to use the same formula directly instead of the table for CONFIG_SMALL. Originally committed as revision 20233 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index dd986bd859..e531fd37d8 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -408,9 +408,10 @@ static av_cold int decode_init(AVCodecContext * avctx) int_pow_init(); for(i=1;i>4); - double f= pow(i&15, 4.0 / 3.0) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5); + double f= value * cbrtf(value) * exp2f((exponent-400)*0.25 + FRAC_BITS + 5); expval_table[exponent][i&15]= llrint(f); if((i&15)==1) exp_table[exponent]= llrint(f);