 |
Project Ne10
An Open Optimized Software Library Project for the ARM Architecture
|
32 ne10_result_t ne10_init_dsp (ne10_int32_t is_NEON_available)
34 if (NE10_OK == is_NEON_available)
50 #ifdef ENABLE_NE10_FIR_FLOAT_NEON
51 ne10_fir_float = ne10_fir_float_neon;
54 #endif // ENABLE_NE10_FIR_FLOAT_NEON
56 #ifdef ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON
57 ne10_fir_decimate_float = ne10_fir_decimate_float_neon;
60 #endif // ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON
62 #ifdef ENABLE_NE10_FIR_INTERPOLATE_FLOAT_NEON
63 ne10_fir_interpolate_float = ne10_fir_interpolate_float_neon;
66 #endif // ENABLE_NE10_FIR_INTERPOLATE_FLOAT_NEON
68 #ifdef ENABLE_NE10_FIR_LATTICE_FLOAT_NEON
69 ne10_fir_lattice_float = ne10_fir_lattice_float_neon;
72 #endif // ENABLE_NE10_FIR_LATTICE_FLOAT_NEON
74 #ifdef ENABLE_NE10_FIR_SPARSE_FLOAT_NEON
75 ne10_fir_sparse_float = ne10_fir_sparse_float_neon;
78 #endif // ENABLE_NE10_FIR_SPARSE_FLOAT_NEON
80 #ifdef ENABLE_NE10_IIR_LATTICE_FLOAT_NEON
81 ne10_iir_lattice_float = ne10_iir_lattice_float_neon;
84 #endif // ENABLE_NE10_IIR_LATTICE_FLOAT_NEON
120 ne10_int32_t inverse_fft);
126 void (*ne10_fft_c2r_1d_float32) (ne10_float32_t *fout,
133 ne10_int32_t inverse_fft,
134 ne10_int32_t scaled_flag);
140 ne10_int32_t scaled_flag);
142 void (*ne10_fft_c2r_1d_int32) (ne10_int32_t *fout,
145 ne10_int32_t scaled_flag);
150 ne10_int32_t inverse_fft,
151 ne10_int32_t scaled_flag);
156 ne10_int32_t scaled_flag);
158 void (*ne10_fft_c2r_1d_int16) (ne10_int16_t *fout,
161 ne10_int32_t scaled_flag);
164 ne10_float32_t * pSrc,
165 ne10_float32_t * pDst,
166 ne10_uint32_t blockSize);
168 void (*ne10_fir_decimate_float) (
170 ne10_float32_t * pSrc,
171 ne10_float32_t * pDst,
172 ne10_uint32_t blockSize);
174 void (*ne10_fir_interpolate_float) (
176 ne10_float32_t * pSrc,
177 ne10_float32_t * pDst,
178 ne10_uint32_t blockSize);
180 void (*ne10_fir_lattice_float) (
182 ne10_float32_t * pSrc,
183 ne10_float32_t * pDst,
184 ne10_uint32_t blockSize);
186 void (*ne10_fir_sparse_float) (
188 ne10_float32_t * pSrc,
189 ne10_float32_t * pDst,
190 ne10_float32_t * pScratchIn,
191 ne10_uint32_t blockSize);
194 ne10_float32_t * pSrc,
195 ne10_float32_t * pDst,
196 ne10_uint32_t blockSize);
structure for the floating point FFT state
void ne10_fft_c2r_1d_int32_neon(ne10_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 IFFT (complex to real) of int32 data.
void ne10_fft_c2r_1d_float32_c(ne10_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg)
Mixed radix-2/4 IFFT (complex to real) of float(32-bit) data.
void ne10_fft_c2c_1d_int16_neon(ne10_fft_cpx_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_cfg_int16_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag)
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data.
void ne10_fft_c2c_1d_float32_neon(ne10_fft_cpx_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_cfg_float32_t cfg, ne10_int32_t inverse_fft)
Mixed radix-2/3/4/5 complex FFT/IFFT of float(32-bit) data.
void ne10_fft_r2c_1d_int16_neon(ne10_fft_cpx_int16_t *fout, ne10_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 FFT (real to complex) of int16 data.
void ne10_fft_r2c_1d_int16_c(ne10_fft_cpx_int16_t *fout, ne10_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 FFT (real to complex) of int16 data.
Instance structure for the floating-point FIR filter.
void ne10_fft_c2r_1d_int16_c(ne10_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 IFFT (complex to real) of int16 data.
void ne10_fft_c2r_1d_int16_neon(ne10_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_r2c_cfg_int16_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 IFFT (complex to real) of int16 data.
ne10_fft_cfg_float32_t ne10_fft_alloc_c2c_float32_neon(ne10_int32_t nfft)
User-callable function to allocate all necessary storage space for the fft.
void ne10_fft_c2c_1d_int16_c(ne10_fft_cpx_int16_t *fout, ne10_fft_cpx_int16_t *fin, ne10_fft_cfg_int16_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag)
Mixed radix-2/4 complex FFT/IFFT of 16-bit fixed point data.
void ne10_fft_r2c_1d_int32_c(ne10_fft_cpx_int32_t *fout, ne10_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 FFT (real to complex) of int32 data.
ne10_fft_cfg_int32_t ne10_fft_alloc_c2c_int32_neon(ne10_int32_t nfft)
User-callable function to allocate all necessary storage space for the fft.
structure for the 32 bits fixed point FFT function.
Instance structure for the floating point FIR Lattice filter.
Instance structure for the floating-point FIR Sparse filter.
void ne10_fir_lattice_float_c(const ne10_fir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point FIR lattice filter.
ne10_fft_cfg_float32_t ne10_fft_alloc_c2c_float32_c(ne10_int32_t nfft)
User-callable function to allocate all necessary storage space for the fft.
void ne10_fir_sparse_float_c(ne10_fir_sparse_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_float32_t *pScratchIn, ne10_uint32_t blockSize)
Processing function for the floating-point sparse FIR filter.
void ne10_fft_c2c_1d_int32_c(ne10_fft_cpx_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_cfg_int32_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag)
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data.
void ne10_fft_r2c_1d_int32_neon(ne10_fft_cpx_int32_t *fout, ne10_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 FFT (real to complex) of int32 data.
Instance structure for the floating-point FIR Interpolation.
void ne10_fir_interpolate_float_c(const ne10_fir_interpolate_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point FIR interpolator.
void ne10_fft_c2c_1d_float32_c(ne10_fft_cpx_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_cfg_float32_t cfg, ne10_int32_t inverse_fft)
Mixed radix-2/3/4/5 complex FFT/IFFT of float(32-bit) data.
void ne10_iir_lattice_float_c(const ne10_iir_lattice_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point IIR lattice filter.
ne10_fft_cfg_int32_t ne10_fft_alloc_c2c_int32_c(ne10_int32_t nfft)
User-callable function to allocate all necessary storage space for the fft.
void ne10_fft_c2r_1d_float32_neon(ne10_float32_t *fout, ne10_fft_cpx_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg)
Mixed radix-2/4 IFFT (complex to real) of float(32-bit) data.
void ne10_fir_decimate_float_c(const ne10_fir_decimate_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)
Processing function for the floating-point FIR decimator.
void ne10_fft_c2r_1d_int32_c(ne10_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_r2c_cfg_int32_t cfg, ne10_int32_t scaled_flag)
Mixed radix-2/4 IFFT (complex to real) of int32 data.
Instance structure for the floating-point FIR Decimation.
void ne10_fft_r2c_1d_float32_c(ne10_fft_cpx_float32_t *fout, ne10_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg)
Mixed radix-2/4 FFT (real to complex) of float(32-bit) data.
structure for the 16 bits fixed point FFT function.
void ne10_fft_r2c_1d_float32_neon(ne10_fft_cpx_float32_t *fout, ne10_float32_t *fin, ne10_fft_r2c_cfg_float32_t cfg)
Mixed radix-2/4 FFT (real to complex) of float(32-bit) data.
Instance structure for the floating point IIR Lattice filter.
void ne10_fft_c2c_1d_int32_neon(ne10_fft_cpx_int32_t *fout, ne10_fft_cpx_int32_t *fin, ne10_fft_cfg_int32_t cfg, ne10_int32_t inverse_fft, ne10_int32_t scaled_flag)
Mixed radix-2/4 complex FFT/IFFT of 32-bit fixed point data.
void ne10_fir_float_c(const ne10_fir_instance_f32_t *S, ne10_float32_t *pSrc, ne10_float32_t *pDst, ne10_uint32_t blockSize)