summaryrefslogtreecommitdiff
path: root/src/audio/dct.h
blob: a44bb150ef6858082a91d2960929dbe7c6491512 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// This file is part of the 64k demo project.
// It defines constants and shared structures for DCT operations.
// The demo uses a 512-point DCT for spectral synthesis.

#pragma once

#define DCT_SIZE 512
#define OLA_HOP_SIZE 256
#define OLA_OVERLAP 256

// Forward declarations
void fdct_512(const float* input, float* output);
void idct_512(const float* input, float* output);
// IMDCT: N=512 coefficients -> 2*DCT_SIZE=1024 samples.
// Window with Hann(1024) and OLA with hop DCT_SIZE for perfect reconstruction.
void imdct_512(const float* input, float* output);