diff options
Diffstat (limited to 'src/audio/fdct.cc')
| -rw-r--r-- | src/audio/fdct.cc | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/audio/fdct.cc b/src/audio/fdct.cc index 78973a3..9eaa2dd 100644 --- a/src/audio/fdct.cc +++ b/src/audio/fdct.cc @@ -3,16 +3,9 @@ // Used for analyzing audio files into spectrograms. #include "dct.h" -#include <math.h> +#include "fft.h" +// Fast O(N log N) implementation using FFT void fdct_512(const float* input, float* output) { - const float PI = 3.14159265358979323846f; - for (int k = 0; k < DCT_SIZE; ++k) { - float sum = 0.0f; - for (int n = 0; n < DCT_SIZE; ++n) { - sum += - input[n] * cosf(PI / (float)DCT_SIZE * ((float)n + 0.5f) * (float)k); - } - output[k] = sum; - } + dct_fft(input, output, DCT_SIZE); } |
