Commit f3001e0d authored by Michael Niedermayer's avatar Michael Niedermayer

Simpliy exp*table init, based on patch by reimar.

Originally committed as revision 20470 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 2e0a80a1
...@@ -40,7 +40,7 @@ static uint32_t expval_table[512][16]; ...@@ -40,7 +40,7 @@ static uint32_t expval_table[512][16];
static void mpegaudio_tableinit(void) static void mpegaudio_tableinit(void)
{ {
int i; int i, value, exponent;
for(i=1;i<TABLE_4_3_SIZE;i++) { for(i=1;i<TABLE_4_3_SIZE;i++) {
double value = i/4; double value = i/4;
double f, fm; double f, fm;
...@@ -54,13 +54,13 @@ static void mpegaudio_tableinit(void) ...@@ -54,13 +54,13 @@ static void mpegaudio_tableinit(void)
table_4_3_value[i] = m; table_4_3_value[i] = m;
table_4_3_exp[i] = -e; table_4_3_exp[i] = -e;
} }
for(i=0; i<512*16; i++){ for(exponent=0; exponent<512; exponent++) {
double value = i & 15; for(value=0; value<16; value++) {
int exponent= (i>>4); int i= value + 16*exponent;
double f= value * cbrtf(value) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5); double f= (double)value * cbrtf(value) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5);
expval_table[exponent][i&15]= llrint(f); expval_table[exponent][value]= llrint(f);
if((i&15)==1) }
exp_table[exponent]= llrint(f); exp_table[exponent]= expval_table[exponent][1];
} }
} }
#endif /* CONFIG_HARDCODED_TABLES */ #endif /* CONFIG_HARDCODED_TABLES */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment