Go to the documentation of this file.
40 int gen_revtab = 0,
basis, revtab_interleave;
48 #define TXFN(fn, gentab, sr_basis, interleave) \
51 gen_revtab = gentab; \
53 revtab_interleave = interleave; \
58 if (
s->m == 4 &&
s->inv)
static int16_t basis[64][64]
#define EXTERNAL_AVX2_FAST(flags)
av_cold void ff_tx_init_float_x86(AVTXContext *s, av_tx_fn *tx)
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
void ff_split_radix_fft_float_avx(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
static atomic_int cpu_flags
void ff_tx_gen_split_radix_parity_revtab(int *revtab, int len, int inv, int basis, int dual_stride)
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
void ff_fft16_float_avx(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
#define EXTERNAL_AVX_FAST(flags)
void ff_fft2_float_sse3(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
#define TXFN(fn, gentab, sr_basis, interleave)
#define EXTERNAL_SSE3(flags)
@ AV_TX_INPLACE
Performs an in-place transformation on the input.
@ AV_TX_UNALIGNED
Relaxes alignment requirement for the in and out arrays of av_tx_fn().
void ff_fft16_float_fma3(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
int ff_tx_type_is_mdct(enum AVTXType type)
#define EXTERNAL_SSE2(flags)
void ff_fft4_fwd_float_sse2(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
#define EXTERNAL_FMA3_FAST(flags)
void ff_fft4_inv_float_sse2(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
void ff_fft8_float_avx(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
void ff_fft8_float_sse3(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
void ff_fft32_float_fma3(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
void ff_fft32_float_avx(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
void ff_split_radix_fft_float_avx2(AVTXContext *s, void *out, void *in, ptrdiff_t stride)