--- trunk/xvidcore/src/motion/sad.h 2002/03/30 00:58:20 89 +++ trunk/xvidcore/src/motion/sad.h 2002/06/12 20:38:41 195 @@ -4,45 +4,59 @@ #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; +sad16Func sad16_sse2; sad16Func sad16_altivec; -typedef uint32_t (sad8Func)(const uint8_t * const cur, - const uint8_t * const ref, - const uint32_t stride); +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; -typedef sad8Func* sad8FuncPtr; +//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; -sad16Func sad8_altivec; - - -typedef uint32_t (dev16Func)(const uint8_t * const cur, - const uint32_t stride); - +sad8Func sad8_altivec; -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; /* plain c */ @@ -92,4 +106,4 @@ const uint32_t stride); */ -#endif /* _ENCODER_SAD_H_ */ +#endif /* _ENCODER_SAD_H_ */