webrtc/modules/audio_processing/utility
Alessio Bazzica caa499b207 PFFFT C++ wrapper for APM
Pretty-Fast Fast Fourier Transform is a 3rd party FFT C library meant to
replace other FFT libraries in WebRTC (see https://crbug.com/webrtc/9577).

This CL adds a WebRTC wrapper meant to be used inside the Audio Processing
Module (APM). As a first step, it only supports aligned memory allocated
via PFFFT. Support for the C++ standard library containers will be done
afterwards since it requires careful investigation and benchmarking (because
PFFFT uses SIMD optimizations).

The wrapper pre-allocates a scratch buffer to avoid VLA.

Bug: webrtc:9577
Change-Id: Ied00c3d3b1df292024f608ccf0ed1917d6e92e56
Reviewed-on: https://webrtc-review.googlesource.com/c/122563
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Max Morin <maxmorin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26808}
2019-02-22 09:20:29 +00:00
..
block_mean_calculator.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
block_mean_calculator.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_mean_calculator_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
BUILD.gn PFFFT C++ wrapper for APM 2019-02-22 09:20:29 +00:00
delay_estimator.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
delay_estimator.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
delay_estimator_internal.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
delay_estimator_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
delay_estimator_wrapper.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
delay_estimator_wrapper.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
DEPS PFFFT C++ wrapper for APM 2019-02-22 09:20:29 +00:00
ooura_fft.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
ooura_fft.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
ooura_fft_mips.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
ooura_fft_neon.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
ooura_fft_sse2.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
ooura_fft_tables_common.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
ooura_fft_tables_neon_sse2.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
pffft_wrapper.cc PFFFT C++ wrapper for APM 2019-02-22 09:20:29 +00:00
pffft_wrapper.h PFFFT C++ wrapper for APM 2019-02-22 09:20:29 +00:00
pffft_wrapper_unittest.cc PFFFT C++ wrapper for APM 2019-02-22 09:20:29 +00:00