AEC3: Parametrize the delay estimator to leverage strong echo paths

This CL introduces a new behavior for leveraging early information
about the delay that is acquired before the standard delay estimate
has been established.

To simplify the process of setting the parameters for that, the CL
also surfaces the delay estimator parameters to the config struct.

Bug: webrtc:9720,chromium: 880686
Change-Id: If886813f70cd805bd37752c63913d28398f1c6fe
Reviewed-on: https://webrtc-review.googlesource.com/97860
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24614}
This commit is contained in:
Per Åhgren
2018-09-07 00:13:03 +02:00
committed by Commit Bot
parent 88e3e3f570
commit 6a4fd19bbd
9 changed files with 134 additions and 47 deletions

View File

@ -32,6 +32,12 @@ struct EchoCanceller3Config {
size_t hysteresis_limit_2_blocks = 1;
size_t skew_hysteresis_blocks = 3;
size_t fixed_capture_delay_samples = 0;
float delay_estimate_smoothing = 0.7f;
float delay_candidate_detection_threshold = 0.2f;
struct DelaySelectionThresholds {
int initial;
int converged;
} delay_selection_thresholds = {25, 25};
} delay;
struct Filter {