webrtc/modules/audio_processing/aec3
Gustaf Ullberg 5ea5749a86 AEC3: Multichannel suppressor
This change adds multichannel support to the AEC3 suppressor.
Processing of mono capture is bit-exact to the previous code.

Bug: webrtc:10913
Change-Id: I89affe3e066021bc34e4b525edf44dd3bea68365
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158882
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29692}
2019-11-05 15:51:39 +00:00
..
mock AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +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
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_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_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
aec3_common.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
aec3_common.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
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
aec3_fft_unittest.cc Removed the updating of the padding data buffer in the AEC3 FFT 2018-04-27 19:26:03 +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
aec_state_unittest.cc AEC3: Multi channel ERL estimator 2019-10-18 16:03:46 +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
api_call_jitter_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +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.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
block_delay_buffer.h Format almost everything. 2019-07-08 13:45:15 +00:00
block_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
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_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_processor.cc AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +00:00
block_processor.h AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +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_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
block_processor_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
BUILD.gn AEC3: Multichannel suppressor 2019-11-05 15:51:39 +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
clockdrift_detector_unittest.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +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
comfort_noise_generator_unittest.cc AEC3: Handle multichannel audio in single CNG instance 2019-10-31 14:51:35 +00:00
decimator.cc AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +00:00
decimator.h AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +00:00
decimator_unittest.cc AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +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: Multichannel suppressor 2019-11-05 15:51:39 +00:00
dominant_nearend_detector.h AEC3: Multichannel suppressor 2019-11-05 15:51:39 +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: Made EchoAudibility multichannel 2019-10-15 09:25:46 +00:00
echo_audibility.h AEC3: Made EchoAudibility multichannel 2019-10-15 09:25:46 +00:00
echo_canceller3.cc AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +00:00
echo_canceller3.h AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +00:00
echo_canceller3_unittest.cc AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +00:00
echo_path_delay_estimator.cc AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +00:00
echo_path_delay_estimator.h AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +00:00
echo_path_delay_estimator_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +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_path_variability_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
echo_remover.cc AEC3: Multichannel suppressor 2019-11-05 15:51:39 +00:00
echo_remover.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
echo_remover_metrics.cc AEC3: Made EchoAudibility multichannel 2019-10-15 09:25:46 +00:00
echo_remover_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
echo_remover_metrics_unittest.cc AEC3: Analyze multi-channel SubtractorOutput in AecState 2019-10-01 11:36:58 +00:00
echo_remover_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
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
erl_estimator_unittest.cc AEC3: Multi channel ERL estimator 2019-10-18 16:03: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
erle_estimator_unittest.cc 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.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fft_data_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +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
filter_analyzer_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +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
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
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.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
main_filter_update_gain_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
matched_filter.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
matched_filter.h Format almost everything. 2019-07-08 13:45:15 +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_lag_aggregator_unittest.cc AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
matched_filter_unittest.cc AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +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
moving_average_unittest.cc Format almost everything. 2019-07-08 13:45:15 +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_buffer_unittest.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
render_delay_buffer.cc AEC3: Adding a configurable render signal gain 2019-10-29 23:26:38 +00:00
render_delay_buffer.h AEC3: Support negative delay with external delay estimator 2019-10-24 14:33:21 +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_controller.cc AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +00:00
render_delay_controller.h AEC3: Downmix multichannel signals before delay estimation 2019-09-10 08:16:07 +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_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
render_delay_controller_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +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
render_signal_analyzer_unittest.cc AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +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
residual_echo_estimator_unittest.cc AEC3: Send the spectral power estimates for all channels to AecState 2019-10-09 12:51:21 +00:00
reverb_decay_estimator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
reverb_decay_estimator.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32: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.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
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_estimator_unittest.cc AEC3: Add support for multiple channels to the reverb modelling 2019-10-11 21:49:58 +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
shadow_filter_update_gain_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +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
signal_dependent_erle_estimator_unittest.cc 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
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
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_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_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +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_filter_unittest.cc AEC3: Suppression filter handles multiple channels 2019-09-24 13:50:04 +00:00
suppression_gain.cc AEC3: Multichannel suppressor 2019-11-05 15:51:39 +00:00
suppression_gain.h AEC3: Multichannel suppressor 2019-11-05 15:51:39 +00:00
suppression_gain_unittest.cc AEC3: Multichannel suppressor 2019-11-05 15:51:39 +00:00
vector_math.h Format almost everything. 2019-07-08 13:45:15 +00:00
vector_math_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00