This CL introduces a new APM sub-module named AGC2 that does not use the band

split domain and only implements floating point operations (to avoid spectral
leakage issues and unnecessary complexity).

The goal of this CL is adding the new sub-module into APM without providing an
implementation that could replace the existing gain control modules. The focus
is in fact on initialization, reset, and configuration of AGC2.

The module itself only applies a hard-coded gain value. This behavior will
change in the coming CLs.

BUG=webrtc:7494

Review-Url: https://codereview.webrtc.org/2848593002
Cr-Commit-Position: refs/heads/master@{#18222}
This commit is contained in:
alessiob
2017-05-22 06:57:06 -07:00
committed by Commit bot
parent c0876aab46
commit 3ec96df907
12 changed files with 358 additions and 3 deletions

View File

@ -267,6 +267,14 @@ class AudioProcessing {
struct EchoCanceller3 {
bool enabled = false;
} echo_canceller3;
// 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.
struct GainController2 {
bool enabled = false;
} gain_controller2;
};
// TODO(mgraczyk): Remove once all methods that use ChannelLayout are gone.