This CL does the following:
1. Adds a new AdaptiveModeLevelEstimatorAgc implementation of the Agc
interface. The new implementation differs from webrtc::Agc by
1. using the AGC2 speech level estimator in
GetRmsErrorDb. webrtc::Agc implements its own with help of
webrtc::LoudnessHistogram.
2. Doesn't forget its past at every GetRmsErrorDb call.
2. Makes AgcManagerDirect use AdaptiveModeLevelEstimatorAgc instead of
webrtc::Agc if the use_agc2_level_estimation flag is set.
Bug: webrtc:7494
Change-Id: I8df3f52e322d433eb5ce5297f4236af2f1877b04
Reviewed-on: https://webrtc-review.googlesource.com/86603
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23875}