ft2_windowed_sinc.h (929B)
1 #pragma once 2 3 #include <stdint.h> 4 #include <stdbool.h> 5 #include "ft2_mix.h" // MIXER_FRAC_BITS 6 7 #define SINC1_WIDTH 8 8 #define SINC1_WIDTH_BITS 3 // log2(SINC1_WIDTH) 9 #define SINC1_PHASES 8192 10 #define SINC1_PHASES_BITS 13 // log2(SINC1_PHASES) 11 #define SINC1_FRACSHIFT (MIXER_FRAC_BITS-(SINC1_PHASES_BITS+SINC1_WIDTH_BITS)) 12 #define SINC1_FRACMASK ((SINC1_WIDTH*SINC1_PHASES)-SINC1_WIDTH) 13 14 #define SINC2_WIDTH 16 15 #define SINC2_WIDTH_BITS 4 // log2(SINC2_WIDTH) 16 #define SINC2_PHASES 8192 17 #define SINC2_PHASES_BITS 13 // log2(SINC2_PHASES) 18 #define SINC2_FRACSHIFT (MIXER_FRAC_BITS-(SINC2_PHASES_BITS+SINC2_WIDTH_BITS)) 19 #define SINC2_FRACMASK ((SINC2_WIDTH*SINC2_PHASES)-SINC2_WIDTH) 20 21 extern float *fSinc8_1, *fSinc8_2, *fSinc8_3; 22 extern float *fSinc16_1, *fSinc16_2, *fSinc16_3; 23 extern float *fSinc_1, *fSinc_2, *fSinc_3; 24 extern uint64_t sincRatio1, sincRatio2; 25 26 bool setupWindowedSincTables(void); 27 void freeWindowedSincTables(void);