1 /* 2 mediastreamer2 library - modular sound and video processing and streaming 3 Copyright (C) 2017 Belledonne Communications, Grenoble, France 4 5 This program is free software; you can redistribute it and/or 6 modify it under the terms of the GNU General Public License 7 as published by the Free Software Foundation; either version 2 8 of the License, or (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 20 #ifndef AEC_SPLITTING_FILTER_H 21 #define AEC_SPLITTING_FILTER_H 22 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 29 typedef struct MSWebRtcAecSplittingFilterStruct MSWebRtcAecSplittingFilter; 30 31 32 MSWebRtcAecSplittingFilter * mswebrtc_aec_splitting_filter_create(int nbands, int bandsize); 33 34 void mswebrtc_aec_splitting_filter_destroy(MSWebRtcAecSplittingFilter *filter); 35 36 void mswebrtc_aec_splitting_filter_analysis(MSWebRtcAecSplittingFilter *filter, int16_t *ref, int16_t *echo); 37 38 void mswebrtc_aec_splitting_filter_synthesis(MSWebRtcAecSplittingFilter *filter, int16_t *oecho); 39 40 float * mswebrtc_aec_splitting_filter_get_ref(MSWebRtcAecSplittingFilter *filter); 41 42 const float * const * mswebrtc_aec_splitting_filter_get_echo_bands(MSWebRtcAecSplittingFilter *filter); 43 44 float * const * mswebrtc_aec_splitting_filter_get_output_bands(MSWebRtcAecSplittingFilter *filter); 45 46 int mswebrtc_aec_splitting_filter_get_number_of_bands(MSWebRtcAecSplittingFilter *filter); 47 48 int mswebrtc_aec_splitting_filter_get_bandsize(MSWebRtcAecSplittingFilter *filter); 49 50 51 #ifdef __cplusplus 52 } 53 #endif 54 55 56 #endif /* AEC_SPLITTING_FILTER_H */