--- trunk/xvidcore/src/motion/sad.h 2002/03/08 02:46:11 3 +++ trunk/xvidcore/src/motion/sad.h 2002/07/21 23:34:08 326 @@ -4,43 +4,66 @@ #include "../portab.h" +typedef void (sadInitFunc) (void); +typedef sadInitFunc *sadInitFuncPtr; -typedef uint32_t (sad16Func)(const uint8_t * const cur, - const uint8_t * const ref, - const uint32_t stride, - const uint32_t best_sad); +extern sadInitFuncPtr sadInit; +sadInitFunc sadInit_altivec; -typedef sad16Func* sad16FuncPtr; - +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; - -typedef uint32_t (sad8Func)(const uint8_t * const cur, - const uint8_t * const ref, - const uint32_t stride); - - -typedef sad8Func* sad8FuncPtr; - +sad16Func sad16_sse2; +sad16Func sad16_altivec; +sad16Func sad16_ia64; + +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_ia64; + +//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; +sad8Func sad8_ia64; +extern sad16biFuncPtr sad8bi; +sad16biFunc sad8bi_c; // same as sad8bi -typedef uint32_t (dev16Func)(const uint8_t * const cur, - const uint32_t stride); - - -typedef dev16Func *dev16FuncPtr; +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; +dev16Func dev16_ia64; /* plain c */ /* @@ -89,4 +112,4 @@ const uint32_t stride); */ -#endif /* _ENCODER_SAD_H_ */ +#endif /* _ENCODER_SAD_H_ */