Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: webrtc/modules/audio_processing/aec/aec_core.h

Issue 2567513003: Added basic framework for AEC3 in the audio processing module (Closed)
Patch Set: Changes in response to reviewer comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 int delay_correction_count; 232 int delay_correction_count;
233 int shift_offset; 233 int shift_offset;
234 float delay_quality_threshold; 234 float delay_quality_threshold;
235 int frame_count; 235 int frame_count;
236 236
237 // 0 = delay agnostic mode (signal based delay correction) disabled. 237 // 0 = delay agnostic mode (signal based delay correction) disabled.
238 // Otherwise enabled. 238 // Otherwise enabled.
239 int delay_agnostic_enabled; 239 int delay_agnostic_enabled;
240 // 1 = extended filter mode enabled, 0 = disabled. 240 // 1 = extended filter mode enabled, 0 = disabled.
241 int extended_filter_enabled; 241 int extended_filter_enabled;
242 // 1 = next generation aec mode enabled, 0 = disabled. 242 // 1 = refined filter adaptation aec mode enabled, 0 = disabled.
243 int aec3_enabled;
244 bool refined_adaptive_filter_enabled; 243 bool refined_adaptive_filter_enabled;
245 244
246 // Runtime selection of number of filter partitions. 245 // Runtime selection of number of filter partitions.
247 int num_partitions; 246 int num_partitions;
248 247
249 // Flag that extreme filter divergence has been detected by the Echo 248 // Flag that extreme filter divergence has been detected by the Echo
250 // Suppressor. 249 // Suppressor.
251 int extreme_filter_divergence; 250 int extreme_filter_divergence;
252 }; 251 };
253 252
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 int metrics_mode, 302 int metrics_mode,
304 int delay_logging); 303 int delay_logging);
305 304
306 // Non-zero enables, zero disables. 305 // Non-zero enables, zero disables.
307 void WebRtcAec_enable_delay_agnostic(AecCore* self, int enable); 306 void WebRtcAec_enable_delay_agnostic(AecCore* self, int enable);
308 307
309 // Returns non-zero if delay agnostic (i.e., signal based delay estimation) is 308 // Returns non-zero if delay agnostic (i.e., signal based delay estimation) is
310 // enabled and zero if disabled. 309 // enabled and zero if disabled.
311 int WebRtcAec_delay_agnostic_enabled(AecCore* self); 310 int WebRtcAec_delay_agnostic_enabled(AecCore* self);
312 311
313 // Non-zero enables, zero disables.
314 void WebRtcAec_enable_aec3(AecCore* self, int enable);
315
316 // Returns 1 if the next generation aec is enabled and zero if disabled.
317 int WebRtcAec_aec3_enabled(AecCore* self);
318
319 // Turns on/off the refined adaptive filter feature. 312 // Turns on/off the refined adaptive filter feature.
320 void WebRtcAec_enable_refined_adaptive_filter(AecCore* self, bool enable); 313 void WebRtcAec_enable_refined_adaptive_filter(AecCore* self, bool enable);
321 314
322 // Returns whether the refined adaptive filter is enabled. 315 // Returns whether the refined adaptive filter is enabled.
323 bool WebRtcAec_refined_adaptive_filter(const AecCore* self); 316 bool WebRtcAec_refined_adaptive_filter(const AecCore* self);
324 317
325 // Enables or disables extended filter mode. Non-zero enables, zero disables. 318 // Enables or disables extended filter mode. Non-zero enables, zero disables.
326 void WebRtcAec_enable_extended_filter(AecCore* self, int enable); 319 void WebRtcAec_enable_extended_filter(AecCore* self, int enable);
327 320
328 // Returns non-zero if extended filter mode is enabled and zero if disabled. 321 // Returns non-zero if extended filter mode is enabled and zero if disabled.
329 int WebRtcAec_extended_filter_enabled(AecCore* self); 322 int WebRtcAec_extended_filter_enabled(AecCore* self);
330 323
331 // Returns the current |system_delay|, i.e., the buffered difference between 324 // Returns the current |system_delay|, i.e., the buffered difference between
332 // far-end and near-end. 325 // far-end and near-end.
333 int WebRtcAec_system_delay(AecCore* self); 326 int WebRtcAec_system_delay(AecCore* self);
334 327
335 // Sets the |system_delay| to |value|. Note that if the value is changed 328 // Sets the |system_delay| to |value|. Note that if the value is changed
336 // improperly, there can be a performance regression. So it should be used with 329 // improperly, there can be a performance regression. So it should be used with
337 // care. 330 // care.
338 void WebRtcAec_SetSystemDelay(AecCore* self, int delay); 331 void WebRtcAec_SetSystemDelay(AecCore* self, int delay);
339 332
340 } // namespace webrtc 333 } // namespace webrtc
341 334
342 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_H_ 335 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_H_
OLDNEW
« no previous file with comments | « webrtc/modules/audio_processing/BUILD.gn ('k') | webrtc/modules/audio_processing/aec/aec_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698