Go to the documentation of this file.
40 s->exptab[60].re =
s->exptab[60].im =
s->exptab[19].re;
41 s->exptab[61].re =
s->exptab[61].im =
s->exptab[19].im;
42 s->exptab[62].re =
s->exptab[62].im =
s->exptab[20].re;
43 s->exptab[63].re =
s->exptab[63].im =
s->exptab[20].im;
46 for (k = 0; k < 5; k++) {
47 tmp[6*k + 0] =
s->exptab[k + 0];
48 tmp[6*k + 2] =
s->exptab[k + 5];
49 tmp[6*k + 4] =
s->exptab[k + 10];
51 tmp[6*k + 1] =
s->exptab[2 * (k + 0)];
52 tmp[6*k + 3] =
s->exptab[2 * (k + 5)];
53 tmp[6*k + 5] =
s->exptab[2 * k + 5 ];
56 for (k = 0; k < 6; k++) {
58 {
tmp[6*1 + k].re,
tmp[6*1 + k].re },
59 {
tmp[6*2 + k].re,
tmp[6*2 + k].re },
60 {
tmp[6*3 + k].re,
tmp[6*3 + k].re },
61 {
tmp[6*4 + k].re,
tmp[6*4 + k].re },
62 {
tmp[6*1 + k].im, -
tmp[6*1 + k].im },
63 {
tmp[6*2 + k].im, -
tmp[6*2 + k].im },
64 {
tmp[6*3 + k].im, -
tmp[6*3 + k].im },
65 {
tmp[6*4 + k].im, -
tmp[6*4 + k].im },
67 memcpy(
s->exptab + 8*k, ac_exp, 8*
sizeof(
FFTComplex));
71 for (k = 0; k < 3; k++) {
73 {
tmp[2*k + 0].re, -
tmp[2*k + 0].im },
74 {
tmp[2*k + 0].im,
tmp[2*k + 0].re },
75 {
tmp[2*k + 1].re, -
tmp[2*k + 1].im },
76 {
tmp[2*k + 1].im,
tmp[2*k + 1].re },
78 memcpy(
s->exptab + 8*6 + 4*k, dc_exp, 4*
sizeof(
FFTComplex));
84 int adjust_twiddles = 0;
static struct @131 * exptab
void ff_mdct15_postreindex_avx2(FFTComplex *out, FFTComplex *in, FFTComplex *exp, int *lut, ptrdiff_t len8)
#define EXTERNAL_AVX2_FAST(flags)
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
static void perm_twiddles(MDCT15Context *s)
static atomic_int cpu_flags
#define EXTERNAL_SSE3(flags)
av_cold void ff_mdct15_init_x86(MDCT15Context *s)
void ff_mdct15_postreindex_sse3(FFTComplex *out, FFTComplex *in, FFTComplex *exp, int *lut, ptrdiff_t len8)
void ff_fft15_avx(FFTComplex *out, FFTComplex *in, FFTComplex *exptab, ptrdiff_t stride)
#define EXTERNAL_AVX(flags)