ft2-clone

Fasttracker 2 clone
Log | Files | Refs | README | LICENSE

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);