summaryrefslogtreecommitdiff
path: root/libavcodec/mpegaudio_tablegen.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2009-11-07 20:10:02 +0000
committerMichael Niedermayer <michaelni@gmx.at>2009-11-07 20:10:02 +0000
commitf3001e0deeacbfb0966b5d59bb1e0318f0eee4fc (patch)
treed8735f5fb305e85655262dba2b95fd944980a943 /libavcodec/mpegaudio_tablegen.h
parent2e0a80a12870948397a2dfea48788be4586f83b0 (diff)
Simpliy exp*table init, based on patch by reimar.
Originally committed as revision 20470 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegaudio_tablegen.h')
-rw-r--r--libavcodec/mpegaudio_tablegen.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/libavcodec/mpegaudio_tablegen.h b/libavcodec/mpegaudio_tablegen.h
index 362c30b4be..9c9ab49665 100644
--- a/libavcodec/mpegaudio_tablegen.h
+++ b/libavcodec/mpegaudio_tablegen.h
@@ -40,7 +40,7 @@ static uint32_t expval_table[512][16];
static void mpegaudio_tableinit(void)
{
- int i;
+ int i, value, exponent;
for(i=1;i<TABLE_4_3_SIZE;i++) {
double value = i/4;
double f, fm;
@@ -54,13 +54,13 @@ static void mpegaudio_tableinit(void)
table_4_3_value[i] = m;
table_4_3_exp[i] = -e;
}
- for(i=0; i<512*16; i++){
- double value = i & 15;
- int exponent= (i>>4);
- double f= value * cbrtf(value) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5);
- expval_table[exponent][i&15]= llrint(f);
- if((i&15)==1)
- exp_table[exponent]= llrint(f);
+ for(exponent=0; exponent<512; exponent++) {
+ for(value=0; value<16; value++) {
+ int i= value + 16*exponent;
+ double f= (double)value * cbrtf(value) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5);
+ expval_table[exponent][value]= llrint(f);
+ }
+ exp_table[exponent]= expval_table[exponent][1];
}
}
#endif /* CONFIG_HARDCODED_TABLES */