OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 complex_t sde[PART_LEN1]; // cross-psd of nearend and error | 106 complex_t sde[PART_LEN1]; // cross-psd of nearend and error |
107 complex_t sxd[PART_LEN1]; // cross-psd of farend and nearend | 107 complex_t sxd[PART_LEN1]; // cross-psd of farend and nearend |
108 // Farend windowed fft buffer. | 108 // Farend windowed fft buffer. |
109 complex_t xfwBuf[kExtendedNumPartitions * PART_LEN1]; | 109 complex_t xfwBuf[kExtendedNumPartitions * PART_LEN1]; |
110 | 110 |
111 float sx[PART_LEN1], sd[PART_LEN1], se[PART_LEN1]; // far, near, error psd | 111 float sx[PART_LEN1], sd[PART_LEN1], se[PART_LEN1]; // far, near, error psd |
112 float hNs[PART_LEN1]; | 112 float hNs[PART_LEN1]; |
113 float hNlFbMin, hNlFbLocalMin; | 113 float hNlFbMin, hNlFbLocalMin; |
114 float hNlXdAvgMin; | 114 float hNlXdAvgMin; |
115 int hNlNewMin, hNlMinCtr; | 115 int hNlNewMin, hNlMinCtr; |
116 float overDrive, overDriveSm; | 116 float overDrive; |
| 117 float overdrive_scaling; |
117 int nlp_mode; | 118 int nlp_mode; |
118 float outBuf[PART_LEN]; | 119 float outBuf[PART_LEN]; |
119 int delayIdx; | 120 int delayIdx; |
120 | 121 |
121 short stNearState, echoState; | 122 short stNearState, echoState; |
122 short divergeState; | 123 short divergeState; |
123 | 124 |
124 int xfBufBlockPos; | 125 int xfBufBlockPos; |
125 | 126 |
126 RingBuffer* far_time_buf; | 127 RingBuffer* far_time_buf; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 float x_pow[PART_LEN1], | 203 float x_pow[PART_LEN1], |
203 float ef[2][PART_LEN1]); | 204 float ef[2][PART_LEN1]); |
204 extern WebRtcAecScaleErrorSignal WebRtcAec_ScaleErrorSignal; | 205 extern WebRtcAecScaleErrorSignal WebRtcAec_ScaleErrorSignal; |
205 typedef void (*WebRtcAecFilterAdaptation)( | 206 typedef void (*WebRtcAecFilterAdaptation)( |
206 int num_partitions, | 207 int num_partitions, |
207 int x_fft_buf_block_pos, | 208 int x_fft_buf_block_pos, |
208 float x_fft_buf[2][kExtendedNumPartitions * PART_LEN1], | 209 float x_fft_buf[2][kExtendedNumPartitions * PART_LEN1], |
209 float e_fft[2][PART_LEN1], | 210 float e_fft[2][PART_LEN1], |
210 float h_fft_buf[2][kExtendedNumPartitions * PART_LEN1]); | 211 float h_fft_buf[2][kExtendedNumPartitions * PART_LEN1]); |
211 extern WebRtcAecFilterAdaptation WebRtcAec_FilterAdaptation; | 212 extern WebRtcAecFilterAdaptation WebRtcAec_FilterAdaptation; |
212 typedef void (*WebRtcAecOverdriveAndSuppress)(AecCore* aec, | 213 typedef void (*WebRtcAecOverdriveAndSuppress)(float overdrive_scaling, |
213 float hNl[PART_LEN1], | 214 float hNl[PART_LEN1], |
214 const float hNlFb, | 215 const float hNlFb, |
215 float efw[2][PART_LEN1]); | 216 float efw[2][PART_LEN1]); |
216 extern WebRtcAecOverdriveAndSuppress WebRtcAec_OverdriveAndSuppress; | 217 extern WebRtcAecOverdriveAndSuppress WebRtcAec_OverdriveAndSuppress; |
217 | 218 |
218 typedef void (*WebRtcAecComfortNoise)(AecCore* aec, | 219 typedef void (*WebRtcAecComfortNoise)(AecCore* aec, |
219 float efw[2][PART_LEN1], | 220 float efw[2][PART_LEN1], |
220 float comfortNoiseHband[2][PART_LEN1], | 221 float comfortNoiseHband[2][PART_LEN1], |
221 const float* noisePow, | 222 const float* noisePow, |
222 const float* lambda); | 223 const float* lambda); |
(...skipping 15 matching lines...) Expand all Loading... |
238 typedef void (*WebRtcAecStoreAsComplex)(const float* data, | 239 typedef void (*WebRtcAecStoreAsComplex)(const float* data, |
239 float data_complex[2][PART_LEN1]); | 240 float data_complex[2][PART_LEN1]); |
240 extern WebRtcAecStoreAsComplex WebRtcAec_StoreAsComplex; | 241 extern WebRtcAecStoreAsComplex WebRtcAec_StoreAsComplex; |
241 | 242 |
242 typedef void (*WebRtcAecWindowData)(float* x_windowed, const float* x); | 243 typedef void (*WebRtcAecWindowData)(float* x_windowed, const float* x); |
243 extern WebRtcAecWindowData WebRtcAec_WindowData; | 244 extern WebRtcAecWindowData WebRtcAec_WindowData; |
244 | 245 |
245 } // namespace webrtc | 246 } // namespace webrtc |
246 | 247 |
247 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ | 248 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ |
OLD | NEW |