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