AEC3: adding a config option for applying a more conservative initial phase.
Change-Id: If0f93aa6abcb3b8e99ca40dde86b15a4b1487883 Bug: webrtc:8671 Reviewed-on: https://webrtc-review.googlesource.com/94505 Reviewed-by: Per Åhgren <peah@webrtc.org> Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24363}
This commit is contained in:
committed by
Commit Bot
parent
4d95f1eb9b
commit
8459b17c75
@ -54,6 +54,7 @@ struct EchoCanceller3Config {
|
||||
|
||||
size_t config_change_duration_blocks = 250;
|
||||
float initial_state_seconds = 2.5f;
|
||||
bool conservative_initial_phase = false;
|
||||
} filter;
|
||||
|
||||
struct Erle {
|
||||
|
||||
@ -130,10 +130,16 @@ AecState::AecState(const EchoCanceller3Config& config)
|
||||
enforce_delay_after_realignment_(EnableEnforcingDelayAfterRealignment()),
|
||||
allow_linear_mode_with_diverged_filter_(
|
||||
EnableLinearModeWithDivergedFilter()),
|
||||
early_filter_usage_activated_(EnableEarlyFilterUsage()),
|
||||
use_short_initial_state_(EnableShortInitialState()),
|
||||
convergence_trigger_linear_mode_(EnableConvergenceTriggeredLinearMode()),
|
||||
no_alignment_required_for_linear_mode_(EnableNoWaitForAlignment()),
|
||||
early_filter_usage_activated_(EnableEarlyFilterUsage() &&
|
||||
!config.filter.conservative_initial_phase),
|
||||
use_short_initial_state_(EnableShortInitialState() &&
|
||||
!config.filter.conservative_initial_phase),
|
||||
convergence_trigger_linear_mode_(
|
||||
EnableConvergenceTriggeredLinearMode() &&
|
||||
!config.filter.conservative_initial_phase),
|
||||
no_alignment_required_for_linear_mode_(
|
||||
EnableNoWaitForAlignment() &&
|
||||
!config.filter.conservative_initial_phase),
|
||||
use_uncertainty_until_sufficiently_adapted_(
|
||||
EnableUncertaintyUntilSufficientAdapted()),
|
||||
transparent_mode_enforces_nonlinear_mode_(
|
||||
|
||||
@ -214,6 +214,8 @@ EchoCanceller3Config ParseAec3Parameters(const std::string& filename) {
|
||||
&cfg.filter.config_change_duration_blocks);
|
||||
ReadParam(section, "initial_state_seconds",
|
||||
&cfg.filter.initial_state_seconds);
|
||||
ReadParam(section, "conservative_initial_phase",
|
||||
&cfg.filter.conservative_initial_phase);
|
||||
}
|
||||
|
||||
if (rtc::GetValueFromJsonObject(root, "erle", §ion)) {
|
||||
|
||||
Reference in New Issue
Block a user