ft2_cubic_spline.h (580B)
1 #pragma once 2 3 #include <stdint.h> 4 #include <stdbool.h> 5 #include "ft2_mix.h" // MIXER_FRAC_BITS 6 7 #define CUBIC_SPLINE_WIDTH 4 8 #define CUBIC_SPLINE_WIDTH_BITS 2 /* log2(CUBIC_SPLINE_WIDTH) */ 9 #define CUBIC_SPLINE_PHASES 8192 10 #define CUBIC_SPLINE_PHASES_BITS 13 // log2(CUBIC_SPLINE_PHASES) 11 #define CUBIC_SPLINE_FRACSHIFT (MIXER_FRAC_BITS-(CUBIC_SPLINE_PHASES_BITS+CUBIC_SPLINE_WIDTH_BITS)) 12 #define CUBIC_SPLINE_FRACMASK ((CUBIC_SPLINE_WIDTH*CUBIC_SPLINE_PHASES)-CUBIC_SPLINE_WIDTH) 13 14 extern float *fCubicSplineLUT; 15 16 bool setupCubicSplineTable(void); 17 void freeCubicSplineTable(void);