1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #ifndef __SubBandAec_H__
5 #define __SubBandAec_H__
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 typedef struct
12 {
13     int bypass;
14     int filter_size;
15 } SubBandAecConfig;
16 
17 struct SubBandAecState_;
18 
19 typedef struct SubBandAecState_ SubBandAecState;
20 
21 SubBandAecState *SubBandAec_init(int sample_rate, int frame_size, const SubBandAecConfig *cfg);
22 
23 void SubBandAec_destroy(SubBandAecState *st);
24 
25 int32_t SubBandAec_process(SubBandAecState *st, short *datain, short *echoref, short *dataout, short Len);
26 
27 float SubBandAec_get_required_mips(SubBandAecState *st);
28 
29 #ifdef __cplusplus
30 }
31 #endif
32 
33 #endif
34 
35