= {
TX_DEF(fft2, FFT, 2, 2, 2, 0, 128,
NULL, neon, NEON,
AV_TX_INPLACE, 0),
TX_DEF(fft2, FFT, 2, 2, 2, 0, 192,
neon_init, neon, NEON,
AV_TX_INPLACE |
FF_TX_PRESHUFFLE, 0),
TX_DEF(fft4_fwd, FFT, 4, 4, 2, 0, 128,
NULL, neon, NEON,
AV_TX_INPLACE |
FF_TX_FORWARD_ONLY, 0),
TX_DEF(fft4_fwd, FFT, 4, 4, 2, 0, 192,
neon_init, neon, NEON,
AV_TX_INPLACE |
FF_TX_PRESHUFFLE, 0),
TX_DEF(fft4_inv, FFT, 4, 4, 2, 0, 128,
NULL, neon, NEON,
AV_TX_INPLACE |
FF_TX_INVERSE_ONLY, 0),
TX_DEF(fft8, FFT, 8, 8, 2, 0, 128,
neon_init, neon, NEON,
AV_TX_INPLACE, 0),
TX_DEF(fft8_ns, FFT, 8, 8, 2, 0, 192,
neon_init, neon, NEON,
AV_TX_INPLACE |
FF_TX_PRESHUFFLE, 0),
TX_DEF(fft16, FFT, 16, 16, 2, 0, 128,
neon_init, neon, NEON,
AV_TX_INPLACE, 0),
TX_DEF(fft16_ns, FFT, 16, 16, 2, 0, 192,
neon_init, neon, NEON,
AV_TX_INPLACE |
FF_TX_PRESHUFFLE, 0),
TX_DEF(fft32, FFT, 32, 32, 2, 0, 128,
neon_init, neon, NEON,
AV_TX_INPLACE, 0),
TX_DEF(fft32_ns, FFT, 32, 32, 2, 0, 192,
neon_init, neon, NEON,
AV_TX_INPLACE |
FF_TX_PRESHUFFLE, 0),
TX_DEF(fft_sr, FFT, 64, 131072, 2, 0, 128,
neon_init, neon, NEON, 0, 0),
TX_DEF(fft_sr_ns, FFT, 64, 131072, 2, 0, 192,
neon_init, neon, NEON,
AV_TX_INPLACE |
FF_TX_PRESHUFFLE, 0),
}
static av_cold int neon_init(AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
@ AV_TX_INPLACE
Allows for in-place transformations, where input == output.
#define FF_TX_INVERSE_ONLY
#define FF_TX_FORWARD_ONLY
#define TX_DEF(fn, tx_type, len_min, len_max, f1, f2, p, init_fn, suffix, cf, cd_flags, cf2)