ref: cf174b4c8c75858b067f2072ffac8336c6ede9c1
dir: /src/mixer/ft2_windowed_sinc.h/
#pragma once #include <stdint.h> #include <stdbool.h> #include "ft2_mix.h" // MIXER_FRAC_BITS #define SINC_KERNELS 3 #define SINC_PHASES 4096 #define SINC_PHASES_BITS 12 /* log2(SINC_PHASES) */ #define SINC8_WIDTH_BITS 3 /* log2(8) */ #define SINC8_FRACSHIFT (MIXER_FRAC_BITS-(SINC_PHASES_BITS+SINC8_WIDTH_BITS)) #define SINC8_FRACMASK ((8*SINC_PHASES)-8) #define SINC16_WIDTH_BITS 4 /* log2(16) */ #define SINC16_FRACSHIFT (MIXER_FRAC_BITS-(SINC_PHASES_BITS+SINC16_WIDTH_BITS)) #define SINC16_FRACMASK ((16*SINC_PHASES)-16) extern float *fSinc[SINC_KERNELS], *fSinc8[SINC_KERNELS], *fSinc16[SINC_KERNELS]; extern uint64_t sincRatio1, sincRatio2; bool setupWindowedSincTables(void); void freeWindowedSincTables(void);