--- trunk/xvidcore/src/motion/sad.h 2002/03/08 02:46:11 3 +++ trunk/xvidcore/src/motion/sad.h 2002/05/13 19:41:41 177 @@ -4,43 +4,59 @@ #include "../portab.h" +typedef void (sadInitFunc)(void); +typedef sadInitFunc* sadInitFuncPtr; + +extern sadInitFuncPtr sadInit; +sadInitFunc sadInit_altivec; + typedef uint32_t (sad16Func)(const uint8_t * const cur, const uint8_t * const ref, const uint32_t stride, const uint32_t best_sad); - - typedef sad16Func* sad16FuncPtr; - extern sad16FuncPtr sad16; sad16Func sad16_c; sad16Func sad16_mmx; sad16Func sad16_xmm; +sad16Func sad16_sse2; +sad16Func sad16_altivec; + +sad16Func mrsad16_c; + + +typedef uint32_t (sad16biFunc)(const uint8_t * const cur, + const uint8_t * const ref1, + const uint8_t * const ref2, + const uint32_t stride); +typedef sad16biFunc* sad16biFuncPtr; +extern sad16biFuncPtr sad16bi; +sad16biFunc sad16bi_c; +//sad16biFunc sad16bi_mmx; +//sad16biFunc sad16bi_xmm; + typedef uint32_t (sad8Func)(const uint8_t * const cur, const uint8_t * const ref, const uint32_t stride); - - typedef sad8Func* sad8FuncPtr; - extern sad8FuncPtr sad8; sad8Func sad8_c; sad8Func sad8_mmx; sad8Func sad8_xmm; +sad8Func sad8_altivec; typedef uint32_t (dev16Func)(const uint8_t * const cur, const uint32_t stride); - - typedef dev16Func *dev16FuncPtr; - extern dev16FuncPtr dev16; dev16Func dev16_c; dev16Func dev16_mmx; dev16Func dev16_xmm; +dev16Func dev16_sse2; +dev16Func dev16_altivec; /* plain c */ /*