Make possible to activate adaptive AGC2 in the APM.

We update the configuration settings for AGC2. We also update their
effects. Now, 'gain_controller2.enable=true' means 'first run Adaptive
AGC2; then run AGC2 limiter'.

Previously, only the AGC2 limiter was implemented. To run that, one
had to set both 'gain_controller2.enable=true' and
'gain_controller2.enable_limiter=true'.

This setting also enables adaptive AGC2 in the test tool 'audioproc_f'.

Bug: webrtc:7494
Change-Id: I0d5dfe443f2cdc0ecf3aa4054442dab6276d284d
Reviewed-on: https://webrtc-review.googlesource.com/64990
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22669}
This commit is contained in:
Alex Loiko
2018-03-29 11:02:43 +02:00
committed by Commit Bot
parent 5f88f0d203
commit 9d2788f745
8 changed files with 30 additions and 54 deletions

View File

@ -270,14 +270,13 @@ class AudioProcessing : public rtc::RefCountInterface {
bool enabled = false;
} high_pass_filter;
// Enables the next generation AGC functionality. This feature replaces the
// standard methods of gain control in the previous AGC.
// The functionality is not yet activated in the code and turning this on
// does not yet have the desired behavior.
// Enables the next generation AGC functionality. This feature
// replaces the standard methods of gain control in the previous
// AGC. This functionality is currently only partially
// implemented.
struct GainController2 {
bool enabled = false;
float fixed_gain_db = 0.f;
bool enable_limiter = true;
} gain_controller2;
// Explicit copy assignment implementation to avoid issues with memory