webrtc/modules/audio_processing/agc2
Tommi 6056976709 Updates to AudioFrameView and VectorFloatFrame
Using DeinterleavedView<> simplifies these two classes, so now the
classes are arguably thin wrappers on top of DeinterleavedView<> and
AudioFrameView<> can be replaced with DeinterleavedView<>.

The changes are:
* Make VectorFloatFrame not use a vector of vectors but rather
  just hold a one dimensional vector of samples and leaves the mapping
  into the buffer up to DeinterleavedView<>.
* Remove the `channel_ptrs_` vector which was required due to an
  issue with AudioFrameView.
* AudioFrameView is now a wrapper over DeinterleavedView<>. The most
  important change is to remove the `audio_samples_` pointer, which
  pointed into an externally owned pointer array (in addition to
  the array that holds the samples themselves). Now AudioFrameView
  can be initialized without requiring such a long-lived array.

Bug: chromium:335805780
Change-Id: I8f3c23c0ac4b5a337f68e9161fc3a97271f4e87d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352504
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42498}
2024-06-17 12:13:40 +00:00
..
rnn_vad Mass removal of absl_deps in all BUILD.gn files 2024-05-23 15:09:46 +00:00
adaptive_digital_gain_controller.cc Fix APM AGC2 initialization: pass the correct number of channels 2022-12-09 15:02:20 +00:00
adaptive_digital_gain_controller.h Move webrtc::AudioProcessing include to api/ folder 2024-04-20 07:02:50 +00:00
adaptive_digital_gain_controller_unittest.cc Move webrtc::AudioProcessing include to api/ folder 2024-04-20 07:02:50 +00:00
agc2_common.h AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
agc2_testing_common.cc Use sinf instead of std::sinf to improve libstdc++ compatibility 2023-05-30 20:16:31 +00:00
agc2_testing_common.h AGC2 limiter: faster recovery 2021-11-19 10:00:21 +00:00
agc2_testing_common_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
biquad_filter.cc Optimize the AGC2 Biquad filter. 2022-06-20 16:05:51 +00:00
biquad_filter.h BiQuadFilter: API improvements 2021-10-28 14:04:09 +00:00
biquad_filter_unittest.cc BiQuadFilter: API improvements 2021-10-28 14:04:09 +00:00
BUILD.gn Updates to AudioFrameView and VectorFloatFrame 2024-06-17 12:13:40 +00:00
clipping_predictor.cc InputVolumeController: readability improvements 2022-12-02 12:49:04 +00:00
clipping_predictor.h Move webrtc::AudioProcessing include to api/ folder 2024-04-20 07:02:50 +00:00
clipping_predictor_level_buffer.cc ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_level_buffer.h ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_level_buffer_unittest.cc ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_unittest.cc ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
compute_interpolated_gain_curve.cc Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
compute_interpolated_gain_curve.h Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
cpu_features.cc RNN VAD: FC layer simplified 2020-12-09 00:04:50 +00:00
cpu_features.h RNN VAD: FC layer simplified 2020-12-09 00:04:50 +00:00
fixed_digital_level_estimator.cc Switch away from hz to samples per channel for FrameCombiner et al 2024-06-13 19:00:39 +00:00
fixed_digital_level_estimator.h Switch away from hz to samples per channel for FrameCombiner et al 2024-06-13 19:00:39 +00:00
fixed_digital_level_estimator_unittest.cc Switch away from hz to samples per channel for FrameCombiner et al 2024-06-13 19:00:39 +00:00
gain_applier.cc AGC2: GainController::ApplyConfig removed 2021-10-14 12:58:25 +00:00
gain_applier.h AudioFrameView: size_t -> int 2021-10-07 14:41:03 +00:00
gain_applier_unittest.cc
gain_map_internal.h InputVolumeController: readability improvements 2022-12-02 12:49:04 +00:00
input_volume_controller.cc Unify AGC2 experiment field trials into one 2022-12-14 16:40:41 +00:00
input_volume_controller.h Move webrtc::AudioProcessing include to api/ folder 2024-04-20 07:02:50 +00:00
input_volume_controller_unittest.cc Add generic input volume controller test for both AGC1 and AGC2 2022-12-20 14:41:31 +00:00
input_volume_stats_reporter.cc Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests 2022-12-12 19:26:01 +00:00
input_volume_stats_reporter.h Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests 2022-12-12 19:26:01 +00:00
input_volume_stats_reporter_unittest.cc InputVolumeStatsReporter: replace WebRTC.Audio.AgcSetLevel 2022-12-08 15:44:43 +00:00
interpolated_gain_curve.cc Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
interpolated_gain_curve.h Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
interpolated_gain_curve_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
limiter.cc Switch away from hz to samples per channel for FrameCombiner et al 2024-06-13 19:00:39 +00:00
limiter.h Switch away from hz to samples per channel for FrameCombiner et al 2024-06-13 19:00:39 +00:00
limiter_db_gain_curve.cc Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +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 Switch away from hz to samples per channel for FrameCombiner et al 2024-06-13 19:00:39 +00:00
noise_level_estimator.cc AGC2 NoiseLevelEstimator: DCHECK pointer 2022-12-06 15:14:04 +00:00
noise_level_estimator.h AGC2: removed unused noise estimator implementation 2021-09-01 12:45:20 +00:00
noise_level_estimator_unittest.cc AGC2: removed unused noise estimator implementation 2021-09-01 12:45:20 +00:00
saturation_protector.cc AGC2: use only one headroom parameter 2021-09-28 16:52:16 +00:00
saturation_protector.h AGC2: use only one headroom parameter 2021-09-28 16:52:16 +00:00
saturation_protector_buffer.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
saturation_protector_buffer.h AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
saturation_protector_buffer_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
saturation_protector_unittest.cc AGC2: use only one headroom parameter 2021-09-28 16:52:16 +00:00
speech_level_estimator.cc AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
speech_level_estimator.h Move webrtc::AudioProcessing include to api/ folder 2024-04-20 07:02:50 +00:00
speech_level_estimator_unittest.cc Move webrtc::AudioProcessing include to api/ folder 2024-04-20 07:02:50 +00:00
speech_probability_buffer.cc Add SpeechProbabilityBuffer 2022-10-06 11:23:03 +00:00
speech_probability_buffer.h Add SpeechProbabilityBuffer 2022-10-06 11:23:03 +00:00
speech_probability_buffer_unittest.cc Add SpeechProbabilityBuffer 2022-10-06 11:23:03 +00:00
vad_wrapper.cc Use MonoView for deinterleaved channels in AudioFrameView 2024-06-05 12:39:27 +00:00
vad_wrapper.h AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
vad_wrapper_unittest.cc Replace "(const override)" with "(const, override)" in GMOCKs 2022-01-26 10:59:40 +00:00
vector_float_frame.cc Updates to AudioFrameView and VectorFloatFrame 2024-06-17 12:13:40 +00:00
vector_float_frame.h Updates to AudioFrameView and VectorFloatFrame 2024-06-17 12:13:40 +00:00