blob: 2d644c4017b1e33d5e34d4d1b09b0160ab32cf87 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include "common.h"
#include <math.h>
void dct4(float* out, const float* x, int N, float scale) {
for (int k = 0; k < N; k++) {
double sum = 0;
for (int n = 0; n < N; n++) {
sum += x[n] * cos((M_PI/N) * ((double)n + 0.5) * ((double)k + 0.5));
}
out[N - 1 - k] = sum * scale;
}
}
|