27 #include <libvisual/lv_defines.h>
61 DFT (
unsigned int samples_out,
unsigned int samples_in);
75 DFT& operator= (
DFT const&) =
delete;
80 DFT& operator= (
DFT&& rhs);
87 unsigned int get_spectrum_size ()
const;
95 void perform (
float *output,
float const* input);
107 static void log_scale (
float* output,
float const* input,
unsigned int size);
109 static void log_scale_standard (
float* output,
float const* input,
unsigned int size);
111 static void log_scale_custom (
float* output,
float const* input,
unsigned int size,
float log_scale_divisor);
117 std::unique_ptr<Impl> m_impl;
130 typedef struct _VisDFT
VisDFT;
136 LV_API
VisDFT *visual_dft_new (
unsigned int samples_out,
unsigned int samples_in);
137 LV_API
void visual_dft_free (
VisDFT *dft);
139 LV_API
void visual_dft_perform (
VisDFT *dft,
float *output,
float const *input);
141 LV_API
void visual_dft_log_scale (
float *output,
float const *input,
unsigned int size);
142 LV_API
void visual_dft_log_scale_standard (
float *output,
float const *input,
unsigned int size);
143 LV_API
void visual_dft_log_scale_custom (
float *output,
float const *input,
unsigned int size,
float log_scale_divisor);