Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n0.9
| @@ -25,16 +25,19 @@ | |||||
| #define ONE (1.0) | #define ONE (1.0) | ||||
| #define R(x) x | #define R(x) x | ||||
| #define SAMPLE float | #define SAMPLE float | ||||
| #define COEFF float | |||||
| #define RENAME(x) x ## _float | #define RENAME(x) x ## _float | ||||
| #include "rematrix_template.c" | #include "rematrix_template.c" | ||||
| #undef SAMPLE | #undef SAMPLE | ||||
| #undef RENAME | #undef RENAME | ||||
| #undef R | #undef R | ||||
| #undef ONE | #undef ONE | ||||
| #undef COEFF | |||||
| #define ONE (-32768) | #define ONE (-32768) | ||||
| #define R(x) (((x) + 16384)>>15) | #define R(x) (((x) + 16384)>>15) | ||||
| #define SAMPLE int16_t | #define SAMPLE int16_t | ||||
| #define COEFF int | |||||
| #define RENAME(x) x ## _s16 | #define RENAME(x) x ## _s16 | ||||
| #include "rematrix_template.c" | #include "rematrix_template.c" | ||||
| @@ -19,14 +19,14 @@ | |||||
| */ | */ | ||||
| static void RENAME(sum2)(SAMPLE *out, const SAMPLE *in1, const SAMPLE *in2, SAMPLE coeff1, SAMPLE coeff2, int len){ | |||||
| static void RENAME(sum2)(SAMPLE *out, const SAMPLE *in1, const SAMPLE *in2, COEFF coeff1, COEFF coeff2, int len){ | |||||
| int i; | int i; | ||||
| for(i=0; i<len; i++) | for(i=0; i<len; i++) | ||||
| out[i] = R(coeff1*in1[i] + coeff2*in2[i]); | out[i] = R(coeff1*in1[i] + coeff2*in2[i]); | ||||
| } | } | ||||
| static void RENAME(copy)(SAMPLE *out, const SAMPLE *in, SAMPLE coeff, int len){ | |||||
| static void RENAME(copy)(SAMPLE *out, const SAMPLE *in, COEFF coeff, int len){ | |||||
| if(coeff == ONE){ | if(coeff == ONE){ | ||||
| memcpy(out, in, sizeof(SAMPLE)*len); | memcpy(out, in, sizeof(SAMPLE)*len); | ||||
| }else{ | }else{ | ||||