webrtc/modules/audio_processing/agc2
Alessio Bazzica b81ab995a2 RNN VAD: Optimize GRU (recurrent) weights optimized layout
This CL adds the GRU weights memory layout optimization with which it
will be easier to add SSE2 code in a follow up CL. The new memory
layout also improves the performance of the unoptimized code.

This CL also includes a bug fix in the GRU layer input validation.
It was a silent bug since the GRU layer of the RNN VAD has the same
input and output size. This was caught by changing memory layout of
the recurrent weights. The unit test has been adapted by removing the
unused recurrent weights (the expected result does not change).

Bug: webrtc:10480
Change-Id: Ia1551abde4cb24aa7e109c4447e0fffe7c839077
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142177
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29717}
2019-11-06 21:51:07 +00:00
..
rnn_vad RNN VAD: Optimize GRU (recurrent) weights optimized layout 2019-11-06 21:51:07 +00:00
adaptive_agc.cc AGC2: adding level estimation option (RMS or peak-based). 2018-11-13 14:32:13 +00:00
adaptive_agc.h AGC2: adding level estimation option (RMS or peak-based). 2018-11-13 14:32:13 +00:00
adaptive_digital_gain_applier.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
adaptive_digital_gain_applier.h Reduce digital adaptive AGC2 gain in some situations. 2018-10-02 08:34:10 +00:00
adaptive_digital_gain_applier_unittest.cc Reduce digital adaptive AGC2 gain in some situations. 2018-10-02 08:34:10 +00:00
adaptive_mode_level_estimator.cc AGC2: adding level estimation option (RMS or peak-based). 2018-11-13 14:32:13 +00:00
adaptive_mode_level_estimator.h AGC2: adding level estimation option (RMS or peak-based). 2018-11-13 14:32:13 +00:00
adaptive_mode_level_estimator_agc.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
adaptive_mode_level_estimator_agc.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
adaptive_mode_level_estimator_unittest.cc Lower gain parameters for AGC2. 2018-10-05 09:55:25 +00:00
agc2_common.cc Format almost everything. 2019-07-08 13:45:15 +00:00
agc2_common.h Re-tuning of VAD in AGC2. 2018-12-10 14:47:29 +00:00
agc2_testing_common.cc Fixed Digital mode of AGC2 implementation finished. 2018-02-20 15:59:25 +00:00
agc2_testing_common.h Delete unneeded includes of basictypes.h. 2018-05-21 19:35:08 +00:00
agc2_testing_common_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
biquad_filter.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
biquad_filter.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
biquad_filter_unittest.cc AGC2 RNN VAD: Feature extraction. 2018-05-15 10:02:20 +00:00
BUILD.gn Use source_sets in component builds and static_library in release builds. 2019-10-17 21:17:18 +00:00
compute_interpolated_gain_curve.cc AGC2 Limiter class renamed. 2018-10-23 15:20:52 +00:00
compute_interpolated_gain_curve.h Fixed Digital mode of AGC2 implementation finished. 2018-02-20 15:59:25 +00:00
down_sampler.cc Format almost everything. 2019-07-08 13:45:15 +00:00
down_sampler.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
fixed_digital_level_estimator.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
fixed_digital_level_estimator.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
fixed_digital_level_estimator_unittest.cc Fixed Digital mode of AGC2 implementation finished. 2018-02-20 15:59:25 +00:00
fixed_gain_controller.cc AGC2: renaming GainCurveApplier to Limiter. 2018-10-30 16:00:18 +00:00
gain_applier.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
gain_applier.h webrtc: Remove semicolons. 2019-02-20 16:02:59 +00:00
gain_applier_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
interpolated_gain_curve.cc Format almost everything. 2019-07-08 13:45:15 +00:00
interpolated_gain_curve.h Format almost everything. 2019-07-08 13:45:15 +00:00
interpolated_gain_curve_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
limiter.cc Fix AGC2 fixed-adaptive gain controllers order. 2018-11-01 20:35:36 +00:00
limiter.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
limiter_db_gain_curve.cc AGC2 Limiter class renamed. 2018-10-23 15:20:52 +00:00
limiter_db_gain_curve.h AGC2 Limiter class renamed. 2018-10-23 15:20:52 +00:00
limiter_db_gain_curve_unittest.cc AGC2 Limiter class renamed. 2018-10-23 15:20:52 +00:00
limiter_unittest.cc AGC2: renaming GainCurveApplier to Limiter. 2018-10-30 16:00:18 +00:00
noise_level_estimator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
noise_level_estimator.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
noise_level_estimator_unittest.cc Noise level estimation for AGC2. 2018-04-04 18:23:55 +00:00
noise_spectrum_estimator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
noise_spectrum_estimator.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
saturation_protector.cc Make the extra seturation margin configurable. 2018-11-01 15:12:11 +00:00
saturation_protector.h Make the extra seturation margin configurable. 2018-11-01 15:12:11 +00:00
saturation_protector_unittest.cc Lower gain parameters for AGC2. 2018-10-05 09:55:25 +00:00
signal_classifier.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
signal_classifier.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
signal_classifier_unittest.cc Noise level estimation for AGC2. 2018-04-04 18:23:55 +00:00
vad_with_level.cc Qualify cmath function calls 2019-05-10 09:00:54 +00:00
vad_with_level.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
vad_with_level_unittest.cc AGC2: adding level estimation option (RMS or peak-based). 2018-11-13 14:32:13 +00:00
vector_float_frame.cc Add FixedGainController and move GainController2 in APM. 2018-02-16 10:56:38 +00:00
vector_float_frame.h AGC2-fixed-digital: Level Estimator 2018-02-16 13:55:18 +00:00