23 #ifndef AVCODEC_MPEGAUDIO_TABLEGEN_H
24 #define AVCODEC_MPEGAUDIO_TABLEGEN_H
30 #if CONFIG_HARDCODED_TABLES
31 #define mpegaudio_tableinit()
32 #include "libavcodec/mpegaudio_tables.h"
34 #if defined(BUILD_TABLES) || !USE_FLOATS
40 #if defined(BUILD_TABLES) || USE_FLOATS
42 static float exp_table_float[512];
43 static float expval_table_float[512][16];
46 #define IMDCT_SCALAR 1.759
51 static const double exp2_lut[4] = {
52 1.00000000000000000000,
53 1.18920711500272106672,
55 1.68179283050742908606,
58 double exp2_base = 2.11758236813575084767080625169910490512847900390625e-22;
61 for (
i = 0;
i < 16; ++
i)
64 for (exponent = 0; exponent < 512; exponent++) {
65 if (exponent && (exponent & 3) == 0)
67 exp2_val = exp2_base * exp2_lut[exponent & 3] /
IMDCT_SCALAR;
69 double f = pow43_lut[
value] * exp2_val;
74 expval_table_float[exponent][
value] =
f;
81 exp_table_float[exponent] = expval_table_float[exponent][1];