| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 float max; | 46 float max; |
| 47 float sum; | 47 float sum; |
| 48 float hisum; | 48 float hisum; |
| 49 float himean; | 49 float himean; |
| 50 size_t counter; | 50 size_t counter; |
| 51 size_t hicounter; | 51 size_t hicounter; |
| 52 } Stats; | 52 } Stats; |
| 53 | 53 |
| 54 typedef struct AecCore AecCore; | 54 typedef struct AecCore AecCore; |
| 55 | 55 |
| 56 AecCore* WebRtcAec_CreateAec(); // Returns NULL on error. | 56 AecCore* WebRtcAec_CreateAec(int instance_count); // Returns NULL on error. |
| 57 void WebRtcAec_FreeAec(AecCore* aec); | 57 void WebRtcAec_FreeAec(AecCore* aec); |
| 58 int WebRtcAec_InitAec(AecCore* aec, int sampFreq); | 58 int WebRtcAec_InitAec(AecCore* aec, int sampFreq); |
| 59 void WebRtcAec_InitAec_SSE2(void); | 59 void WebRtcAec_InitAec_SSE2(void); |
| 60 #if defined(MIPS_FPU_LE) | 60 #if defined(MIPS_FPU_LE) |
| 61 void WebRtcAec_InitAec_mips(void); | 61 void WebRtcAec_InitAec_mips(void); |
| 62 #endif | 62 #endif |
| 63 #if defined(WEBRTC_DETECT_NEON) || defined(WEBRTC_HAS_NEON) | 63 #if defined(WEBRTC_DETECT_NEON) || defined(WEBRTC_HAS_NEON) |
| 64 void WebRtcAec_InitAec_neon(void); | 64 void WebRtcAec_InitAec_neon(void); |
| 65 #endif | 65 #endif |
| 66 | 66 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 90 | 90 |
| 91 // Returns the echo state (1: echo, 0: no echo). | 91 // Returns the echo state (1: echo, 0: no echo). |
| 92 int WebRtcAec_echo_state(AecCore* self); | 92 int WebRtcAec_echo_state(AecCore* self); |
| 93 | 93 |
| 94 // Gets statistics of the echo metrics ERL, ERLE, A_NLP. | 94 // Gets statistics of the echo metrics ERL, ERLE, A_NLP. |
| 95 void WebRtcAec_GetEchoStats(AecCore* self, | 95 void WebRtcAec_GetEchoStats(AecCore* self, |
| 96 Stats* erl, | 96 Stats* erl, |
| 97 Stats* erle, | 97 Stats* erle, |
| 98 Stats* a_nlp, | 98 Stats* a_nlp, |
| 99 float* divergent_filter_fraction); | 99 float* divergent_filter_fraction); |
| 100 #ifdef WEBRTC_AEC_DEBUG_DUMP | |
| 101 void* WebRtcAec_far_time_buf(AecCore* self); | |
| 102 #endif | |
| 103 | 100 |
| 104 // Sets local configuration modes. | 101 // Sets local configuration modes. |
| 105 void WebRtcAec_SetConfigCore(AecCore* self, | 102 void WebRtcAec_SetConfigCore(AecCore* self, |
| 106 int nlp_mode, | 103 int nlp_mode, |
| 107 int metrics_mode, | 104 int metrics_mode, |
| 108 int delay_logging); | 105 int delay_logging); |
| 109 | 106 |
| 110 // Non-zero enables, zero disables. | 107 // Non-zero enables, zero disables. |
| 111 void WebRtcAec_enable_delay_agnostic(AecCore* self, int enable); | 108 void WebRtcAec_enable_delay_agnostic(AecCore* self, int enable); |
| 112 | 109 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 137 int WebRtcAec_system_delay(AecCore* self); | 134 int WebRtcAec_system_delay(AecCore* self); |
| 138 | 135 |
| 139 // Sets the |system_delay| to |value|. Note that if the value is changed | 136 // Sets the |system_delay| to |value|. Note that if the value is changed |
| 140 // improperly, there can be a performance regression. So it should be used with | 137 // improperly, there can be a performance regression. So it should be used with |
| 141 // care. | 138 // care. |
| 142 void WebRtcAec_SetSystemDelay(AecCore* self, int delay); | 139 void WebRtcAec_SetSystemDelay(AecCore* self, int delay); |
| 143 | 140 |
| 144 } // namespace webrtc | 141 } // namespace webrtc |
| 145 | 142 |
| 146 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_H_ | 143 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_H_ |
| OLD | NEW |