Go to the documentation of this file.
35 for (
i = 0;
i < 36;
i++) {
36 for (j = 0; j < 4; j++) {
39 if (j == 2 &&
i % 3 != 1)
42 d = sin(
M_PI * (
i + 0.5) / 36.0);
45 else if (
i >= 24)
d = sin(
M_PI * (
i - 18 + 0.5) / 12.0);
46 else if (
i >= 18)
d = 1;
49 else if (
i < 12)
d = sin(
M_PI * (
i - 6 + 0.5) / 12.0);
50 else if (
i < 18)
d = 1;
68 for (j = 0; j < 4; j++) {
91 s->dct32_float =
dct.dct32;
static AVOnce mpadsp_table_init
void ff_imdct36_blocks_float(float *out, float *buf, float *in, int count, int switch_point, int block_type)
int ff_mdct_win_fixed[8][MDCT_BUF_SIZE]
av_cold void ff_mpadsp_init(MPADSPContext *s)
void ff_mpadsp_init_mipsdsp(MPADSPContext *s)
av_cold void ff_mpadsp_init_x86(MPADSPContext *s)
void ff_dct32_fixed(int *dst, const int *src)
void ff_mpadsp_apply_window_float(float *synth_buf, float *window, int *dither_state, float *samples, ptrdiff_t incr)
static int ff_thread_once(char *control, void(*routine)(void))
void ff_imdct36_blocks_fixed(int *out, int *buf, int *in, int count, int switch_point, int block_type)
av_cold void ff_mpadsp_init_arm(MPADSPContext *s)
void ff_mpadsp_apply_window_fixed(int32_t *synth_buf, int32_t *window, int *dither_state, int16_t *samples, ptrdiff_t incr)
static av_cold void mpadsp_init_tabs(void)
av_cold void ff_mpadsp_init_aarch64(MPADSPContext *s)
av_cold int ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType inverse)
Set up DCT.
#define i(width, name, range_min, range_max)
static void dct(AudioRNNContext *s, float *out, const float *in)
void ff_mpadsp_init_mipsfpu(MPADSPContext *s)
av_cold void ff_mpadsp_init_x86_tabs(void)
#define MDCT_BUF_SIZE
For SSE implementation, MDCT_BUF_SIZE/2 should be 128-bit aligned.
void ff_mpadsp_init_ppc(MPADSPContext *s)
float ff_mdct_win_float[8][MDCT_BUF_SIZE]