webrtc/modules/audio_processing
Per Åhgren 19775cbd29 Reland "Reduce complexity in the APM pipeline when the output is not used"
This is a reland of aa6adffba3

What was changed in the reland is that the merging of the bands is
excluded from the code that is not run when the output is not used.
I.e., the merging is always done.

This is important to have since some clients may apply muting before APM,
and still flag to APM that the signal is muted. If the merging is not
always done, those clients will get nonzero output from APM during muting.


Original change's description:
> Reduce complexity in the APM pipeline when the output is not used
>
> This CL selectively turns off parts of the audio processing when
> the output of APM is not used. The parts turned off are such that
> don't need to continuously need to be trained, but rather can be
> temporarily deactivated.
>
> The purpose of this CL is to allow CPU to be reduced when the
> client is muted.
>
> The CL will be follow by additional CLs, adding similar functionality
> in the echo canceller and the noiser suppressor
>
> Bug: b/177830919
> Change-Id: I72d24505197a53872562c0955f3e7b670c43df6b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209703
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33431}

Bug: b/177830919
Change-Id: Ib74dd1cefa173d45101e26c4f2b931860abc6d08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211760
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33478}
2021-03-16 09:33:02 +00:00
..
aec3 Allowing reduced computations in the AEC3 when the output is not used 2021-03-16 09:16:32 +00:00
aec_dump Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
aecm Reland "Merge cpu_features build targets into //system_wrappers." 2020-09-06 10:38:23 +00:00
agc Adding initial support for lock-less informing of muting 2021-02-09 12:08:54 +00:00
agc2 Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
capture_levels_adjuster Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
echo_detector Format almost everything. 2019-07-08 13:45:15 +00:00
include Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
logging Allow separate dump sets for the data dumper in APM 2021-01-20 16:38:17 +00:00
ns Allowing reduced computations in the noise suppressor when the output is not used 2021-03-16 09:28:42 +00:00
test Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
transient Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
utility Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
vad Merge OOURA BUILD.gn files. 2020-04-21 09:06:37 +00:00
audio_buffer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
audio_buffer.cc APM: Replace most usages of AudioFrame with a stream interface 2020-03-16 11:51:47 +00:00
audio_buffer.h APM: Replace most usages of AudioFrame with a stream interface 2020-03-16 11:51:47 +00:00
audio_frame_view_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
audio_processing_builder_impl.cc Cleanup of the APM creation 2020-09-02 20:28:49 +00:00
audio_processing_impl_locking_unittest.cc Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
audio_processing_impl_unittest.cc Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
audio_processing_impl.cc Reland "Reduce complexity in the APM pipeline when the output is not used" 2021-03-16 09:33:02 +00:00
audio_processing_impl.h Reland "Reduce complexity in the APM pipeline when the output is not used" 2021-03-16 09:33:02 +00:00
audio_processing_performance_unittest.cc Removing call to deprecated SetExtraOptions method 2020-08-20 16:13:12 +00:00
audio_processing_unittest.cc Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
BUILD.gn Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
common.h Enabling a safe fall-back functionality for overruns in the runtime settings 2021-03-03 12:06:54 +00:00
config_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
debug.proto Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
DEPS
echo_control_mobile_bit_exact_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
echo_control_mobile_impl.cc Removing deprecated legacy noise suppressor 2020-01-31 07:14:25 +00:00
echo_control_mobile_impl.h Removing deprecated legacy noise suppressor 2020-01-31 07:14:25 +00:00
echo_control_mobile_unittest.cc Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
gain_control_impl.cc Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_control_impl.h Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_control_unittest.cc Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_controller2_unittest.cc Move AGC2 config ToString to the right place and update Validate() 2020-10-14 12:00:54 +00:00
gain_controller2.cc AGC2 limiter stats + config ToString missing param 2020-11-20 17:03:05 +00:00
gain_controller2.h AGC2 limiter stats + config ToString missing param 2020-11-20 17:03:05 +00:00
high_pass_filter_unittest.cc Make the high-pass filter operate in full-band 2019-12-18 16:01:24 +00:00
high_pass_filter.cc Make the high-pass filter operate in full-band 2019-12-18 16:01:24 +00:00
high_pass_filter.h Reduce for reallocations the pre-amplifier and high-pass filter 2020-01-03 14:10:21 +00:00
level_estimator_unittest.cc Remove AudioProcessing::level_estimator() getter 2019-10-11 18:08:17 +00:00
level_estimator.cc Remove AudioProcessing::level_estimator() getter 2019-10-11 18:08:17 +00:00
level_estimator.h Remove AudioProcessing::level_estimator() getter 2019-10-11 18:08:17 +00:00
optionally_built_submodule_creators.cc Add unittests for APM with submodule creation disabled 2020-04-27 11:47:15 +00:00
optionally_built_submodule_creators.h Add unittests for APM with submodule creation disabled 2020-04-27 11:47:15 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
render_queue_item_verifier.h
residual_echo_detector_unittest.cc Make echo metrics optional 2020-04-29 14:29:27 +00:00
residual_echo_detector.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
residual_echo_detector.h Add more parameters to the Initialize function of the echo detector. 2018-03-15 09:21:56 +00:00
rms_level_unittest.cc Removing all external access to the integer sample data in AudioBuffer 2019-08-20 08:36:47 +00:00
rms_level.cc Removing all external access to the integer sample data in AudioBuffer 2019-08-20 08:36:47 +00:00
rms_level.h Add directive to make webrtc metrics optional. 2019-12-09 13:55:50 +00:00
splitting_filter_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
splitting_filter.cc Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
splitting_filter.h Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
three_band_filter_bank.cc Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
three_band_filter_bank.h Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
typing_detection.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
typing_detection.h Reland "Export symbols needed by the Chromium component build (part 1)." 2018-10-11 09:50:21 +00:00
voice_detection_unittest.cc Delete voice_detection() pointer to submodule 2019-10-07 13:06:05 +00:00
voice_detection.cc APM: Localize/abstract the usage of AudioFrame 2020-03-17 13:55:41 +00:00
voice_detection.h Delete voice_detection() pointer to submodule 2019-10-07 13:06:05 +00:00