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:
@ -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 {
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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", §ion)) {
|
||||
|
||||
Reference in New Issue
Block a user