diff --git a/libavcodec/ppc/dsputil_snow_altivec.c b/libavcodec/ppc/dsputil_snow_altivec.c index 02ef678d36..b2ae8734cd 100644 --- a/libavcodec/ppc/dsputil_snow_altivec.c +++ b/libavcodec/ppc/dsputil_snow_altivec.c @@ -423,8 +423,8 @@ static void inner_add_yblock_bw_8_obmc_16_altivec(uint8_t *obmc, { int y, x; DWTELEM * dst; - vector bool int mask; - vector signed int vs; +// vector bool int mask; +// vector signed int vs; vector unsigned short h1, h2, l1, l2; vector unsigned char ih, il, tmp1, tmp2, align; vector unsigned char b0,b1,b2,b3; @@ -546,6 +546,18 @@ static void inner_add_yblock_bw_8_obmc_16_altivec(uint8_t *obmc, #endif + +#if 1 + for(x=0; x> FRAC_BITS; + if(vbuf[x]&(~255)) vbuf[x]= ~(vbuf[x]>>31); + dst8[x + y*src_stride] = vbuf[x]; + }else{ + dst[x + src_x] -= vbuf[x]; + } +#else if(add) { for(x=0; x