#include "modules/audio_processing/utility/pffft_wrapper.h"
#include "rtc_base/checks.h"
#include "third_party/pffft/src/pffft.h"
namespace webrtc {
namespace {
size_t GetBufferSize(size_t fft_size, Pffft::FftType fft_type) { … }
float* AllocatePffftBuffer(size_t size) { … }
}
Pffft::FloatBuffer::FloatBuffer(size_t fft_size, FftType fft_type)
: … { … }
Pffft::FloatBuffer::~FloatBuffer() { … }
rtc::ArrayView<const float> Pffft::FloatBuffer::GetConstView() const { … }
rtc::ArrayView<float> Pffft::FloatBuffer::GetView() { … }
Pffft::Pffft(size_t fft_size, FftType fft_type)
: … { … }
Pffft::~Pffft() { … }
bool Pffft::IsValidFftSize(size_t fft_size, FftType fft_type) { … }
bool Pffft::IsSimdEnabled() { … }
std::unique_ptr<Pffft::FloatBuffer> Pffft::CreateBuffer() const { … }
void Pffft::ForwardTransform(const FloatBuffer& in,
FloatBuffer* out,
bool ordered) { … }
void Pffft::BackwardTransform(const FloatBuffer& in,
FloatBuffer* out,
bool ordered) { … }
void Pffft::FrequencyDomainConvolve(const FloatBuffer& fft_x,
const FloatBuffer& fft_y,
FloatBuffer* out,
float scaling) { … }
}