diff -r be596f836a61 -r 29c6febae0d5 linux/drivers/media/video/cafe_ccic.c --- a/linux/drivers/media/video/cafe_ccic.c Tue Apr 24 13:40:07 2007 -0300 +++ b/linux/drivers/media/video/cafe_ccic.c Fri Apr 06 20:34:05 2007 -0700 @@ -3333,9 +3403,9 @@ #undef dspfunc c->avg_h264_chroma_pixels_tab[0]= avg_h264_chroma_mc8_mmx2; - c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_mmx2; - c->avg_h264_chroma_pixels_tab[2]= avg_h264_chroma_mc2_mmx2; - c->put_h264_chroma_pixels_tab[2]= put_h264_chroma_mc2_mmx2; +// c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_mmx2; +// c->avg_h264_chroma_pixels_tab[2]= avg_h264_chroma_mc2_mmx2; +// c->put_h264_chroma_pixels_tab[2]= put_h264_chroma_mc2_mmx2; c->h264_v_loop_filter_luma= h264_v_loop_filter_luma_mmx2; c->h264_h_loop_filter_luma= h264_h_loop_filter_luma_mmx2; c->h264_v_loop_filter_chroma= h264_v_loop_filter_chroma_mmx2; @@ -3459,7 +3529,7 @@ dspfunc(avg_2tap_qpel, 1, 8); c->avg_h264_chroma_pixels_tab[0]= avg_h264_chroma_mc8_3dnow; - c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_3dnow; +// c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_3dnow; } #ifdef CONFIG_SNOW_DECODER Index: dsputil.c =================================================================== --- dsputil.c (revision 8551) +++ dsputil.c (working copy) @@ -1481,8 +1481,8 @@ }\ } -#define op_avg(a, b) a = (((a)+(((b) + 32)>>6)+1)>>1) -#define op_put(a, b) a = (((b) + 32)>>6) +#define op_avg(a, b) a = (((a)+(((b) + 32 - ((b>>6)&1) )>>6)+1)>>1) +#define op_put(a, b) a = (((b) + 32 - ((b>>6)&1) )>>6) H264_CHROMA_MC(put_ , op_put) H264_CHROMA_MC(avg_ , op_avg)