kodi
rfft.h
1 /*
2  * Copyright (C) 2015-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include <vector>
12 
13 #include <kissfft/kiss_fftr.h>
14 
16 class RFFT
17 {
18 public:
22  RFFT(int size, bool windowed=false);
23 
25  ~RFFT();
26 
30  void calc(const float* input, float* output);
31 protected:
34  static void hann(std::vector<kiss_fft_scalar>& data);
35 
36  size_t m_size;
37  bool m_windowed;
39 };
kiss_fftr_cfg m_cfg
FFT plan.
Definition: rfft.h:38
RFFT(int size, bool windowed=false)
The constructor creates a RFFT plan.
Definition: rfft.cpp:16
size_t m_size
Size for a single channel.
Definition: rfft.h:36
static void hann(std::vector< kiss_fft_scalar > &data)
Apply a Hann window to a buffer.
Definition: rfft.cpp:69
void calc(const float *input, float *output)
Calculate FFTs.
Definition: rfft.cpp:31
~RFFT()
Free the RFFT plan.
Definition: rfft.cpp:22
Definition: kiss_fftr.c:13
bool m_windowed
Whether or not a Hann window is applied.
Definition: rfft.h:37
Class performing a RFFT of interleaved stereo data.
Definition: rfft.h:16