AEC3: Parametrize the shadow filter output usage

This CL introduces the ability to control the usage of the shadow filter
output in the echo canceller output.

Bug: webrtc:9694,chromium:879451
Change-Id: I01f90de60de1799b32892051c176bda5e1a8d33e
Reviewed-on: https://webrtc-review.googlesource.com/97020
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24506}
This commit is contained in:
Per Åhgren
2018-08-31 07:34:29 +02:00
committed by Commit Bot
parent 558b93b3e9
commit 240215431e
3 changed files with 6 additions and 1 deletions

View File

@ -58,6 +58,7 @@ struct EchoCanceller3Config {
size_t config_change_duration_blocks = 250;
float initial_state_seconds = 2.5f;
bool conservative_initial_phase = false;
bool enable_shadow_filter_output_usage = true;
} filter;
struct Erle {

View File

@ -162,7 +162,9 @@ EchoRemoverImpl::EchoRemoverImpl(const EchoCanceller3Config& config,
new ApmDataDumper(rtc::AtomicOps::Increment(&instance_count_))),
optimization_(DetectOptimization()),
sample_rate_hz_(sample_rate_hz),
use_shadow_filter_output_(UseShadowFilterOutput()),
use_shadow_filter_output_(
UseShadowFilterOutput() &&
config_.filter.enable_shadow_filter_output_usage),
use_smooth_signal_transitions_(UseSmoothSignalTransitions()),
subtractor_(config, data_dumper_.get(), optimization_),
suppression_gain_(config_, optimization_, sample_rate_hz),

View File

@ -235,6 +235,8 @@ class Aec3ParametersParser {
&cfg.filter.initial_state_seconds);
ReadParam(section, "conservative_initial_phase",
&cfg.filter.conservative_initial_phase);
ReadParam(section, "enable_shadow_filter_output_usage",
&cfg.filter.enable_shadow_filter_output_usage);
}
if (rtc::GetValueFromJsonObject(root, "erle", &section)) {