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