|
|
@ -636,7 +636,7 @@ static inline void MC_avg2_16 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
} while (--height);
|
|
|
|
} while (--height);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static mmx_t tqmask_one = {0x0101010101010101LL};
|
|
|
|
static mmx_t mask_one = {0x0101010101010101LL};
|
|
|
|
|
|
|
|
|
|
|
|
static inline void MC_put4_8 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
static inline void MC_put4_8 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
const int stride, const int cpu)
|
|
|
|
const int stride, const int cpu)
|
|
|
@ -664,7 +664,7 @@ static inline void MC_put4_8 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
pand_r2r (mm5, mm7);
|
|
|
|
pand_r2r (mm5, mm7);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
|
|
|
|
|
|
|
|
pand_m2r (tqmask_one, mm7);
|
|
|
|
pand_m2r (mask_one, mm7);
|
|
|
|
|
|
|
|
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
|
|
|
|
|
|
|
@ -695,7 +695,7 @@ static inline void MC_put4_16 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_m2r (tqmask_one, mm7);
|
|
|
|
pand_m2r (mask_one, mm7);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
movq_r2m (mm0, *dest);
|
|
|
|
movq_r2m (mm0, *dest);
|
|
|
@ -714,7 +714,7 @@ static inline void MC_put4_16 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_m2r (tqmask_one, mm7);
|
|
|
|
pand_m2r (mask_one, mm7);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
ref += stride;
|
|
|
|
ref += stride;
|
|
|
@ -741,7 +741,7 @@ static inline void MC_avg4_8 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_m2r (tqmask_one, mm7);
|
|
|
|
pand_m2r (mask_one, mm7);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
movq_m2r (*dest, mm1);
|
|
|
|
movq_m2r (*dest, mm1);
|
|
|
@ -770,7 +770,7 @@ static inline void MC_avg4_16 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_m2r (tqmask_one, mm7);
|
|
|
|
pand_m2r (mask_one, mm7);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
movq_m2r (*dest, mm1);
|
|
|
|
movq_m2r (*dest, mm1);
|
|
|
@ -791,7 +791,7 @@ static inline void MC_avg4_16 (int height, uint8_t * dest, const uint8_t * ref,
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
movq_r2r (mm0, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pxor_r2r (mm2, mm6);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_r2r (mm6, mm7);
|
|
|
|
pand_m2r (tqmask_one, mm7);
|
|
|
|
pand_m2r (mask_one, mm7);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
pavg_r2r (mm2, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
psubusb_r2r (mm7, mm0);
|
|
|
|
movq_m2r (*(dest+8), mm1);
|
|
|
|
movq_m2r (*(dest+8), mm1);
|
|
|
|