Mercurial > libavcodec.hg
diff vc1.c @ 9440:daee921fb6bb libavcodec
VC1: add and use avg_no_rnd chroma MC functions
author | conrad |
---|---|
date | Tue, 14 Apr 2009 23:56:10 +0000 |
parents | ef3a7b711cc0 |
children | a91f60938763 |
line wrap: on
line diff
--- a/vc1.c Tue Apr 14 23:55:39 2009 +0000 +++ b/vc1.c Tue Apr 14 23:56:10 2009 +0000 @@ -1925,8 +1925,13 @@ uvdxy = ((uvmy & 3) << 2) | (uvmx & 3); uvmx = (uvmx&3)<<1; uvmy = (uvmy&3)<<1; - dsp->avg_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy); - dsp->avg_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy); + if(!v->rnd){ + dsp->avg_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy); + dsp->avg_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy); + }else{ + dsp->avg_no_rnd_vc1_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy); + dsp->avg_no_rnd_vc1_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy); + } } static av_always_inline int scale_mv(int value, int bfrac, int inv, int qs)