42 # include <xmmintrin.h> 43 # define kiss_fft_scalar __m128 44 #define KISS_FFT_MALLOC(nbytes) memalign(16,nbytes) 46 #define KISS_FFT_MALLOC opus_alloc 52 # define kiss_fft_scalar opus_int32 53 # define kiss_twiddle_scalar opus_int16 57 # ifndef kiss_fft_scalar 59 # define kiss_fft_scalar float 60 # define kiss_twiddle_scalar float 61 # define KF_SUFFIX _celt_single 99 #if defined(HAVE_ARM_NE10) 154 #if !defined(OVERRIDE_OPUS_FFT) 156 #if defined(OPUS_HAVE_RTCD) && (defined(HAVE_ARM_NE10)) 161 #define opus_fft_alloc_arch(_st, arch) \ 162 ((*OPUS_FFT_ALLOC_ARCH_IMPL[(arch)&OPUS_ARCHMASK])(_st)) 166 #define opus_fft_free_arch(_st, arch) \ 167 ((*OPUS_FFT_FREE_ARCH_IMPL[(arch)&OPUS_ARCHMASK])(_st)) 171 #define opus_fft(_cfg, _fin, _fout, arch) \ 172 ((*OPUS_FFT[(arch)&OPUS_ARCHMASK])(_cfg, _fin, _fout)) 176 #define opus_ifft(_cfg, _fin, _fout, arch) \ 177 ((*OPUS_IFFT[(arch)&OPUS_ARCHMASK])(_cfg, _fin, _fout)) 181 #define opus_fft_alloc_arch(_st, arch) \ 182 ((void)(arch), opus_fft_alloc_arch_c(_st)) 184 #define opus_fft_free_arch(_st, arch) \ 185 ((void)(arch), opus_fft_free_arch_c(_st)) 187 #define opus_fft(_cfg, _fin, _fout, arch) \ 188 ((void)(arch), opus_fft_c(_cfg, _fin, _fout)) 190 #define opus_ifft(_cfg, _fin, _fout, arch) \ 191 ((void)(arch), opus_ifft_c(_cfg, _fin, _fout)) kiss_fft_scalar i
Definition: kiss_fft.h:67
Definition: kiss_fft.h:81
ARM Neon Intrinsic optimizations for fft using NE10 library.
int opus_fft_alloc_arch_c(kiss_fft_state *st)
short opus_int16
Definition: opus_types.h:144
void opus_fft_free_arch_c(kiss_fft_state *st)
#define OPUS_ARCHMASK
Definition: cpu_support.h:63
kiss_fft_state * opus_fft_alloc_twiddles(int nfft, void *mem, size_t *lenmem, const kiss_fft_state *base, int arch)
void opus_fft_free(const kiss_fft_state *cfg, int arch)
void opus_ifft_c(const kiss_fft_state *cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
Definition: kiss_fft.c:592
opus_val16 scale
Definition: kiss_fft.h:88
int is_supported
Definition: kiss_fft.h:82
Definition: kiss_fft.h:86
float opus_val16
Definition: arch.h:148
void
Definition: AVFoundationCFSoftLinking.h:81
int
Definition: runtests.py:53
kiss_twiddle_scalar r
Definition: kiss_fft.h:71
void opus_ifft_impl(const kiss_fft_state *st, kiss_fft_cpx *fout)
const opus_int16 * bitrev
Definition: kiss_fft.h:94
int shift
Definition: kiss_fft.h:92
#define kiss_fft_scalar
Definition: kiss_fft.h:59
arch_fft_state * arch_fft
Definition: kiss_fft.h:96
void opus_fft_impl(const kiss_fft_state *st, kiss_fft_cpx *fout)
Definition: kiss_fft.c:521
struct kiss_fft_state kiss_fft_state
kiss_fft_state * opus_fft_alloc(int nfft, void *mem, size_t *lenmem, int arch)
string arch
Definition: runtests.py:65
Definition: safe_conversions.h:16
void * priv
Definition: kiss_fft.h:83
Definition: kiss_fft.h:65
int nfft
Definition: kiss_fft.h:87
const kiss_twiddle_cpx * twiddles
Definition: kiss_fft.h:95
Various architecture definitions for CELT.
Definition: kiss_fft.h:70
kiss_fft_scalar r
Definition: kiss_fft.h:66
kiss_twiddle_scalar i
Definition: kiss_fft.h:72
#define MAXFACTORS
Definition: kiss_fft.h:75
#define kiss_twiddle_scalar
Definition: kiss_fft.h:60
void opus_fft_c(const kiss_fft_state *cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
Definition: kiss_fft.c:569
struct arch_fft_state arch_fft_state