3 Commits

Author SHA1 Message Date
Alessio Bazzica
53dd1f3c1a PFFFT Wrapper: ordered transform.
Add flag to call either pffft_transform or pffft_transform_ordered.

Bug: webrtc:9577
Change-Id: Ic9af87386264cc5b2baf891a9b4945f58bd3c2ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129761
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27310}
2019-03-27 13:23:36 +00:00
Alessio Bazzica
9b1288c8ec PFFFT APM wrapper: unit test fix.
This CL replaces death tests placed inside a loop with a parametric test.
A better option is to mock Pffft::IsValidFftSize and test CreatePffftWrapper
when the former returns false. However, that would require to define an
interface for the PFFFT wrapper.

Bug: webrtc:10426
Change-Id: I3c49f1b271c8bf0099a4846014bef021676ef3e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128862
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27260}
2019-03-25 09:19:39 +00:00
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