Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Issue 2848593002: AGC2 as a new APM sub-module operating with hard-coded gain. (Closed)

Created:
3 years, 7 months ago by AleBzk
Modified:
3 years, 7 months ago
Reviewers:
aleloi, peah-webrtc
CC:
webrtc-reviews_webrtc.org, AleBzk, peah-webrtc, Andrew MacDonald, aleloi, tterriberry_mozilla.com, audio-team_agora.io, hlundin-webrtc, kwiberg-webrtc, minyue-webrtc, the sun, aluebs-webrtc, bjornv1
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

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} Committed: https://chromium.googlesource.com/external/webrtc/+/3ec96df9070a0395c7d21d41c48bfe68b26cba92

Patch Set 1 #

Patch Set 2 : AGC2 in APM with enabled flag #

Total comments: 30

Patch Set 3 : mock and iface removed, mv agc2 gain_controller2 #

Total comments: 10

Patch Set 4 : AGC2 Process() with hard coded gain, init and enable in APM #

Total comments: 22

Patch Set 5 : DigitalGainApplier and UTs, AGC2 before LC, minor changes #

Total comments: 4

Patch Set 6 : AudioBuffer only used at AGC2 API level, ArrayView<float> for internal impl #

Total comments: 14

Patch Set 7 : comments addressed + merge #

Patch Set 8 : unneeded DCHECK removed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+358 lines, -3 lines) Patch
M webrtc/modules/audio_processing/BUILD.gn View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/agc2/digital_gain_applier.h View 1 2 3 4 5 1 chunk +32 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/agc2/digital_gain_applier.cc View 1 2 3 4 5 6 1 chunk +38 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/agc2/gain_controller2.h View 1 2 3 4 5 6 1 chunk +56 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/agc2/gain_controller2.cc View 1 2 3 4 5 6 1 chunk +65 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/agc2/gain_controller2_unittest.cc View 1 2 3 4 5 1 chunk +99 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl.h View 1 2 3 5 chunks +4 lines, -2 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl.cc View 1 2 3 4 5 6 7 13 chunks +43 lines, -1 line 0 comments Download
M webrtc/modules/audio_processing/include/audio_processing.h View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/test/audio_processing_simulator.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/audio_processing/test/audio_processing_simulator.cc View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/test/audioproc_float.cc View 1 2 chunks +4 lines, -0 lines 0 comments Download

Messages

Total messages: 34 (14 generated)
AleBzk
Hi Alex, As discussed offline, this CL is only a personal "experiment". Just wanted to ...
3 years, 7 months ago (2017-04-27 16:26:17 UTC) #4
aleloi
Nice work! Suggestion: perhaps add a few proccessing / analyzing functions that do nothing, and ...
3 years, 7 months ago (2017-05-02 10:11:54 UTC) #5
peah-webrtc
https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/agc2/agc2.h File webrtc/modules/audio_processing/agc2/agc2.h (right): https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/agc2/agc2.h#newcode16 webrtc/modules/audio_processing/agc2/agc2.h:16: class Agc2 { On 2017/05/02 10:11:53, aleloi wrote: > ...
3 years, 7 months ago (2017-05-02 11:01:08 UTC) #8
AleBzk
Thanks for your feedback. Before uploading a new PS, I'd like that you answer my ...
3 years, 7 months ago (2017-05-02 11:31:55 UTC) #9
peah-webrtc
https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/agc2/agc2.h File webrtc/modules/audio_processing/agc2/agc2.h (right): https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/agc2/agc2.h#newcode16 webrtc/modules/audio_processing/agc2/agc2.h:16: class Agc2 { On 2017/05/02 11:31:54, AleBzk wrote: > ...
3 years, 7 months ago (2017-05-02 11:45:20 UTC) #10
AleBzk
All the comments address except for the following suggestion from Alex: "Perhaps add a few ...
3 years, 7 months ago (2017-05-02 15:42:53 UTC) #11
peah-webrtc
Nice! LGTM, conditioned that you have a look at the comments I added. https://codereview.webrtc.org/2848593002/diff/40001/webrtc/modules/audio_processing/agc2/gain_controller2.h File ...
3 years, 7 months ago (2017-05-05 20:44:11 UTC) #12
peah-webrtc
On 2017/05/05 20:44:11, peah-webrtc wrote: > Nice! > LGTM, conditioned that you have a look ...
3 years, 7 months ago (2017-05-05 20:52:24 UTC) #13
AleBzk
Hi, I could finally come back to AGC2. As anticipated in the CL description, the ...
3 years, 7 months ago (2017-05-16 12:38:44 UTC) #17
peah-webrtc
Hi, Thanks for the new patch! I have added some comments. PTAL! https://codereview.webrtc.org/2848593002/diff/80001/webrtc/modules/audio_processing/agc2/gain_controller2.cc File webrtc/modules/audio_processing/agc2/gain_controller2.cc ...
3 years, 7 months ago (2017-05-16 13:06:58 UTC) #18
AleBzk
Hi, Comments addressed :) PTAL Alessio https://codereview.webrtc.org/2848593002/diff/80001/webrtc/modules/audio_processing/agc2/gain_controller2.cc File webrtc/modules/audio_processing/agc2/gain_controller2.cc (right): https://codereview.webrtc.org/2848593002/diff/80001/webrtc/modules/audio_processing/agc2/gain_controller2.cc#newcode32 webrtc/modules/audio_processing/agc2/gain_controller2.cc:32: ++instance_count_; On 2017/05/16 ...
3 years, 7 months ago (2017-05-18 08:31:39 UTC) #21
peah-webrtc
Awesome! Looks great! My main comment is the use of AudioBuffer inside AGC2 but since ...
3 years, 7 months ago (2017-05-18 10:51:19 UTC) #22
AleBzk
Thanks Per! @Alex: let me know if you have further comments, otherwise I will land ...
3 years, 7 months ago (2017-05-18 12:06:22 UTC) #23
peah-webrtc
2 more comments. https://codereview.webrtc.org/2848593002/diff/120001/webrtc/modules/audio_processing/agc2/gain_controller2.cc File webrtc/modules/audio_processing/agc2/gain_controller2.cc (right): https://codereview.webrtc.org/2848593002/diff/120001/webrtc/modules/audio_processing/agc2/gain_controller2.cc#newcode45 webrtc/modules/audio_processing/agc2/gain_controller2.cc:45: RTC_DCHECK_LT(0, audio->num_channels()); Since you anyway store ...
3 years, 7 months ago (2017-05-18 12:27:05 UTC) #24
aleloi
LG, see comments https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/BUILD.gn File webrtc/modules/audio_processing/BUILD.gn (right): https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/BUILD.gn#newcode113 webrtc/modules/audio_processing/BUILD.gn:113: "agc2/agc2_impl.h", On 2017/05/02 11:31:54, AleBzk wrote: ...
3 years, 7 months ago (2017-05-18 15:01:18 UTC) #25
peah-webrtc
https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/BUILD.gn File webrtc/modules/audio_processing/BUILD.gn (right): https://codereview.webrtc.org/2848593002/diff/20001/webrtc/modules/audio_processing/BUILD.gn#newcode113 webrtc/modules/audio_processing/BUILD.gn:113: "agc2/agc2_impl.h", On 2017/05/18 15:01:17, aleloi wrote: > On 2017/05/02 ...
3 years, 7 months ago (2017-05-18 20:17:53 UTC) #26
AleBzk
Thanks again! I address everything except for two points for which I will create two ...
3 years, 7 months ago (2017-05-19 13:15:42 UTC) #27
peah-webrtc
https://codereview.webrtc.org/2848593002/diff/120001/webrtc/modules/audio_processing/agc2/gain_controller2.cc File webrtc/modules/audio_processing/agc2/gain_controller2.cc (right): https://codereview.webrtc.org/2848593002/diff/120001/webrtc/modules/audio_processing/agc2/gain_controller2.cc#newcode45 webrtc/modules/audio_processing/agc2/gain_controller2.cc:45: RTC_DCHECK_LT(0, audio->num_channels()); On 2017/05/19 13:15:41, AleBzk wrote: > On ...
3 years, 7 months ago (2017-05-22 08:16:00 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2848593002/160001
3 years, 7 months ago (2017-05-22 13:07:31 UTC) #31
commit-bot: I haz the power
3 years, 7 months ago (2017-05-22 13:57:13 UTC) #34
Message was sent while issue was closed.
Committed patchset #8 (id:160001) as
https://chromium.googlesource.com/external/webrtc/+/3ec96df9070a0395c7d21d41c...

Powered by Google App Engine
This is Rietveld 408576698