webrtc/modules/audio_processing/aec3
Per Åhgren 260c788d77 AEC3: Added multi-channel support for the capture delay functionality
This CL adds the missing support for multi-channel in the code that
provides an optional and configurable delay to be added to the
microphone signal.

The CL also makes the creation of the delay object conditional on the
need for that support (this is important since this adds a significant
heap memory footprint)

Bug: webrtc:11314,chromium:1045910
Change-Id: I92d577e31af830945fe9d5ca2032000aad4266be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167525
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30392}
2020-01-28 15:39:26 +00:00
..
mock Allow extracting the linear AEC output 2019-11-13 11:33:53 +00:00
adaptive_fir_filter_erl_unittest.cc AEC3: Reducing the complexity and heap usage of the adaptive filter 2019-09-05 14:30:49 +00:00
adaptive_fir_filter_erl.cc AEC3: Reducing the complexity and heap usage of the adaptive filter 2019-09-05 14:30:49 +00:00
adaptive_fir_filter_erl.h AEC3: Reducing the complexity and heap usage of the adaptive filter 2019-09-05 14:30:49 +00:00
adaptive_fir_filter_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
adaptive_fir_filter.cc AEC3: Add support in the echo subtractor for handling multiple channels 2019-10-05 07:45:47 +00:00
adaptive_fir_filter.h AEC3: Add support in the echo subtractor for handling multiple channels 2019-10-05 07:45:47 +00:00
aec3_common.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
aec3_common.h AEC3: Remove metrics that are not used for analysis 2020-01-02 16:23:43 +00:00
aec3_fft_unittest.cc Removed the updating of the padding data buffer in the AEC3 FFT 2018-04-27 19:26:03 +00:00
aec3_fft.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
aec3_fft.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
aec_state_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
aec_state.cc AEC3: Multi channel ERL estimator 2019-10-18 16:03:46 +00:00
aec_state.h AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
alignment_mixer_unittest.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
alignment_mixer.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
alignment_mixer.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
api_call_jitter_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
api_call_jitter_metrics.cc AEC3: Add metrics for API call jitter 2018-11-27 19:52:08 +00:00
api_call_jitter_metrics.h AEC3: Add metrics for API call jitter 2018-11-27 19:52:08 +00:00
block_buffer.cc Rename VectorBuffer->SpectrumBuffer, MatrixBuffer->BlockBuffer, BlockBuffer->Aec2BlockBuffer 2019-09-05 10:53:24 +00:00
block_buffer.h Remove completed TODOs 2019-09-06 14:53:11 +00:00
block_delay_buffer_unittest.cc AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
block_delay_buffer.cc AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
block_delay_buffer.h AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
block_framer_unittest.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
block_framer.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
block_framer.h Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
block_processor_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
block_processor_metrics.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
block_processor_metrics.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
block_processor_unittest.cc Allow extracting the linear AEC output 2019-11-13 11:33:53 +00:00
block_processor.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
block_processor.h Allow extracting the linear AEC output 2019-11-13 11:33:53 +00:00
BUILD.gn AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
clockdrift_detector_unittest.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
clockdrift_detector.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
clockdrift_detector.h AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
comfort_noise_generator_unittest.cc AEC3: Handle multichannel audio in single CNG instance 2019-10-31 14:51:35 +00:00
comfort_noise_generator.cc AEC3: Handle multichannel audio in single CNG instance 2019-10-31 14:51:35 +00:00
comfort_noise_generator.h AEC3: Handle multichannel audio in single CNG instance 2019-10-31 14:51:35 +00:00
decimator_unittest.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
decimator.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
decimator.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
delay_estimate.h Inform the AEC3 echo remover about the status of the estimated delay 2018-02-21 17:08:36 +00:00
dominant_nearend_detector.cc AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
dominant_nearend_detector.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
downsampled_render_buffer.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
downsampled_render_buffer.h Format almost everything. 2019-07-08 13:45:15 +00:00
echo_audibility.cc AEC3: Correct the number of render channels in the echo audibility code 2019-12-02 13:13:11 +00:00
echo_audibility.h AEC3: Made EchoAudibility multichannel 2019-10-15 09:25:46 +00:00
echo_canceller3_unittest.cc Make the high-pass filter operate in full-band 2019-12-18 16:01:24 +00:00
echo_canceller3.cc AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
echo_canceller3.h AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
echo_path_delay_estimator_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
echo_path_delay_estimator.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
echo_path_delay_estimator.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
echo_path_variability_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
echo_path_variability.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_path_variability.h Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_remover_metrics_unittest.cc AEC3: Analyze multi-channel SubtractorOutput in AecState 2019-10-01 11:36:58 +00:00
echo_remover_metrics.cc AEC3: Remove metrics that are not used for analysis 2020-01-02 16:23:43 +00:00
echo_remover_metrics.h AEC3: Remove metrics that are not used for analysis 2020-01-02 16:23:43 +00:00
echo_remover_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
echo_remover.cc AEC3: Restrict default logging of some delay changes to VERBOSE 2020-01-14 12:52:47 +00:00
echo_remover.h Allow extracting the linear AEC output 2019-11-13 11:33:53 +00:00
erl_estimator_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
erl_estimator.cc AEC3: Multi channel ERL estimator 2019-10-18 16:03:46 +00:00
erl_estimator.h AEC3: Multi channel ERL estimator 2019-10-18 16:03:46 +00:00
erle_estimator_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
erle_estimator.cc AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
erle_estimator.h AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
fft_buffer.cc Add multi-channel to FftBuffer 2019-09-05 14:10:04 +00:00
fft_buffer.h Add multi-channel to FftBuffer 2019-09-05 14:10:04 +00:00
fft_data_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fft_data.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
filter_analyzer_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
filter_analyzer.cc AEC3: Add support for multiple channels to the reverb modelling 2019-10-11 21:49:58 +00:00
filter_analyzer.h AEC3: Add support for multiple channels to the reverb modelling 2019-10-11 21:49:58 +00:00
frame_blocker_unittest.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
frame_blocker.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
frame_blocker.h Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
fullband_erle_estimator.cc AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
fullband_erle_estimator.h AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
main_filter_update_gain_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
main_filter_update_gain.cc AEC3: Add support in the echo subtractor for handling multiple channels 2019-10-05 07:45:47 +00:00
main_filter_update_gain.h AEC3: Reducing the complexity and heap usage of the adaptive filter 2019-09-05 14:30:49 +00:00
matched_filter_lag_aggregator_unittest.cc AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
matched_filter_lag_aggregator.cc Dump histogram data in AEC3 delay estimator 2019-02-11 14:13:38 +00:00
matched_filter_lag_aggregator.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
matched_filter_unittest.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
matched_filter.cc Reduce some logging at INFO level by moving log statements 2019-12-12 21:54:06 +00:00
matched_filter.h Format almost everything. 2019-07-08 13:45:15 +00:00
moving_average_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
moving_average.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
moving_average.h Format almost everything. 2019-07-08 13:45:15 +00:00
nearend_detector.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
render_buffer_unittest.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
render_buffer.cc Rename VectorBuffer->SpectrumBuffer, MatrixBuffer->BlockBuffer, BlockBuffer->Aec2BlockBuffer 2019-09-05 10:53:24 +00:00
render_buffer.h AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
render_delay_buffer_unittest.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
render_delay_buffer.cc Reland "Change log level of AEC3 buffer info to VERBOSE" 2020-01-24 12:58:08 +00:00
render_delay_buffer.h AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +00:00
render_delay_controller_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
render_delay_controller_metrics.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
render_delay_controller_metrics.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
render_delay_controller_unittest.cc Disable unittest that takes too long to finish 2019-12-03 17:27:55 +00:00
render_delay_controller.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
render_delay_controller.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
render_signal_analyzer_unittest.cc AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +00:00
render_signal_analyzer.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
render_signal_analyzer.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
residual_echo_estimator_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
residual_echo_estimator.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
residual_echo_estimator.h AEC3: Add multichannel support to the residual echo estimator 2019-10-08 11:18:35 +00:00
reverb_decay_estimator.cc AEC3: Ensure that the data size in the reverb computer is not fixed 2019-12-19 16:35:56 +00:00
reverb_decay_estimator.h AEC3: Ensure that the data size in the reverb computer is not fixed 2019-12-19 16:35:56 +00:00
reverb_frequency_response.cc Format almost everything. 2019-07-08 13:45:15 +00:00
reverb_frequency_response.h AEC3: Remove remaining kill-switches 2019-01-29 10:31:45 +00:00
reverb_model_estimator_unittest.cc AEC3: Add support for multiple channels to the reverb modelling 2019-10-11 21:49:58 +00:00
reverb_model_estimator.cc AEC3: Add support for multiple channels to the reverb modelling 2019-10-11 21:49:58 +00:00
reverb_model_estimator.h AEC3: Add support for multiple channels to the reverb modelling 2019-10-11 21:49:58 +00:00
reverb_model.cc AEC3: Add multichannel support to the residual echo estimator 2019-10-08 11:18:35 +00:00
reverb_model.h AEC3: Add multichannel support to the residual echo estimator 2019-10-08 11:18:35 +00:00
shadow_filter_update_gain_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
shadow_filter_update_gain.cc AEC3: Add support in the echo subtractor for handling multiple channels 2019-10-05 07:45:47 +00:00
shadow_filter_update_gain.h Format almost everything. 2019-07-08 13:45:15 +00:00
signal_dependent_erle_estimator_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
signal_dependent_erle_estimator.cc AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
signal_dependent_erle_estimator.h AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
spectrum_buffer.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
spectrum_buffer.h AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
stationarity_estimator.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
stationarity_estimator.h AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
subband_erle_estimator.cc AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
subband_erle_estimator.h AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
subband_nearend_detector.cc AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
subband_nearend_detector.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
subtractor_output_analyzer.cc AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
subtractor_output_analyzer.h AEC3: Add multichannel support in the ERLE estimation 2019-10-17 17:34:18 +00:00
subtractor_output.cc AEC3: Changes to initial behavior and handling of saturated echo 2018-10-16 13:22:44 +00:00
subtractor_output.h AEC3: Analyze multi-channel SubtractorOutput in AecState 2019-10-01 11:36:58 +00:00
subtractor_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
subtractor.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
subtractor.h AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
suppression_filter_unittest.cc AEC3: Suppression filter handles multiple channels 2019-09-24 13:50:04 +00:00
suppression_filter.cc AEC3: Suppression filter handles multiple channels 2019-09-24 13:50:04 +00:00
suppression_filter.h AEC3: Suppression filter handles multiple channels 2019-09-24 13:50:04 +00:00
suppression_gain_unittest.cc AEC3: Multichannel suppressor 2019-11-05 15:51:39 +00:00
suppression_gain.cc Adding parametrization of the AEC3 howling mitigation behavior 2019-11-27 11:56:17 +00:00
suppression_gain.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
vector_math_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
vector_math.h Format almost everything. 2019-07-08 13:45:15 +00:00