1 #ifndef _MCHASM_H 2 #define _MCHASM_H 3 4 #ifdef I386_ASM 5 #define RP2 __attribute__ ((regparm (2))) 6 #else 7 #define RP2 8 #endif 9 10 typedef uint32_t RP2 (*mixAddAbsfn)(const void *ch, uint32_t len); 11 12 extern uint32_t RP2 mixAddAbs16M(const void *ch, uint32_t len); 13 extern uint32_t RP2 mixAddAbs16MS(const void *ch, uint32_t len); 14 extern uint32_t RP2 mixAddAbs16S(const void *ch, uint32_t len); 15 extern uint32_t RP2 mixAddAbs16SS(const void *ch, uint32_t len); 16 17 extern uint32_t RP2 mixAddAbs8M(const void *ch, uint32_t len); 18 extern uint32_t RP2 mixAddAbs8MS(const void *ch, uint32_t len); 19 extern uint32_t RP2 mixAddAbs8S(const void *ch, uint32_t len); 20 extern uint32_t RP2 mixAddAbs8SS(const void *ch, uint32_t len); 21 22 23 #if defined(I386_ASM) && !defined(__PIC__) 24 #define RP3 __attribute__ ((regparm (3))) 25 #else 26 #define RP3 27 #endif 28 29 typedef void RP3 (*mixGetMasterSamplefn)(int16_t *dst, const void *src, uint32_t len, uint32_t step); 30 31 extern void RP3 mixGetMasterSampleMS8M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 32 extern void RP3 mixGetMasterSampleMU8M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 33 extern void RP3 mixGetMasterSampleMS8S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 34 extern void RP3 mixGetMasterSampleMU8S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 35 extern void RP3 mixGetMasterSampleSS8M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 36 extern void RP3 mixGetMasterSampleSU8M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 37 extern void RP3 mixGetMasterSampleSS8S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 38 extern void RP3 mixGetMasterSampleSU8S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 39 extern void RP3 mixGetMasterSampleSS8SR(int16_t *dst, const void *src, uint32_t len, uint32_t step); 40 extern void RP3 mixGetMasterSampleSU8SR(int16_t *dst, const void *src, uint32_t len, uint32_t step); 41 42 extern void RP3 mixGetMasterSampleMS16M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 43 extern void RP3 mixGetMasterSampleMU16M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 44 extern void RP3 mixGetMasterSampleMS16S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 45 extern void RP3 mixGetMasterSampleMU16S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 46 extern void RP3 mixGetMasterSampleSS16M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 47 extern void RP3 mixGetMasterSampleSU16M(int16_t *dst, const void *src, uint32_t len, uint32_t step); 48 extern void RP3 mixGetMasterSampleSS16S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 49 extern void RP3 mixGetMasterSampleSU16S(int16_t *dst, const void *src, uint32_t len, uint32_t step); 50 extern void RP3 mixGetMasterSampleSS16SR(int16_t *dst, const void *src, uint32_t len, uint32_t step); 51 extern void RP3 mixGetMasterSampleSU16SR(int16_t *dst, const void *src, uint32_t len, uint32_t step); 52 53 #endif 54