1 #ifndef FFTFILT_H 2 #define FFTFILT_H 3 4 #include <stdint.h> 5 6 typedef struct 7 { 8 float *filter; 9 int filter_length; 10 int nfft; 11 } FftFiltConfig; 12 13 struct FftFiltState_; 14 15 typedef struct FftFiltState_ FftFiltState; 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 FftFiltState *fftfilt_init(int sample_rate, int frame_size, const FftFiltConfig *config); 22 23 void fftfilt_destroy(FftFiltState *st); 24 25 void fftfilt_process_float(FftFiltState *st, float *buf, int frame_size); 26 27 void fftfilt_process(FftFiltState *st, int16_t *buf, int frame_size); 28 29 void fftfilt_process2_float(FftFiltState *st, float *buf, int frame_size, int stride); 30 31 void fftfilt_process2(FftFiltState *st, int16_t *buf, int frame_size, int stride); 32 33 #ifdef __cplusplus 34 } 35 #endif 36 37 #endif