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
42static float exp_table_float[512];
43static 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];
#define i(width, name, range_min, range_max)
Macro definitions for various function/variable attributes.
static uint32_t exp_table_fixed[512]
static uint32_t expval_table_fixed[512][16]
static av_cold void mpegaudio_tableinit(void)