#include "aom_dsp/aom_dsp_common.h"
#include "aom_dsp/fft_common.h"
#include "config/aom_dsp_rtcd.h"
static inline void simple_transpose(const float *A, float *B, int n) { … }
static inline void unpack_2d_output(const float *col_fft, float *output,
int n) { … }
void aom_fft_2d_gen(const float *input, float *temp, float *output, int n,
aom_fft_1d_func_t tform, aom_fft_transpose_func_t transpose,
aom_fft_unpack_func_t unpack, int vec_size) { … }
static inline void store_float(float *output, float input) { … }
static inline float add_float(float a, float b) { … }
static inline float sub_float(float a, float b) { … }
static inline float mul_float(float a, float b) { … }
GEN_FFT_2(…)
GEN_FFT_4(…)
GEN_FFT_8(…)
GEN_FFT_16(…)
GEN_FFT_32(…)
void aom_fft2x2_float_c(const float *input, float *temp, float *output) { … }
void aom_fft4x4_float_c(const float *input, float *temp, float *output) { … }
void aom_fft8x8_float_c(const float *input, float *temp, float *output) { … }
void aom_fft16x16_float_c(const float *input, float *temp, float *output) { … }
void aom_fft32x32_float_c(const float *input, float *temp, float *output) { … }
void aom_ifft_2d_gen(const float *input, float *temp, float *output, int n,
aom_fft_1d_func_t fft_single, aom_fft_1d_func_t fft_multi,
aom_fft_1d_func_t ifft_multi,
aom_fft_transpose_func_t transpose, int vec_size) { … }
GEN_IFFT_2(…)
GEN_IFFT_4(…)
GEN_IFFT_8(…)
GEN_IFFT_16(…)
GEN_IFFT_32(…)
void aom_ifft2x2_float_c(const float *input, float *temp, float *output) { … }
void aom_ifft4x4_float_c(const float *input, float *temp, float *output) { … }
void aom_ifft8x8_float_c(const float *input, float *temp, float *output) { … }
void aom_ifft16x16_float_c(const float *input, float *temp, float *output) { … }
void aom_ifft32x32_float_c(const float *input, float *temp, float *output) { … }