comparison 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
comparison
equal deleted inserted replaced
9439:ef3a7b711cc0 9440:daee921fb6bb
1923 if(s->flags & CODEC_FLAG_GRAY) return; 1923 if(s->flags & CODEC_FLAG_GRAY) return;
1924 /* Chroma MC always uses qpel blilinear */ 1924 /* Chroma MC always uses qpel blilinear */
1925 uvdxy = ((uvmy & 3) << 2) | (uvmx & 3); 1925 uvdxy = ((uvmy & 3) << 2) | (uvmx & 3);
1926 uvmx = (uvmx&3)<<1; 1926 uvmx = (uvmx&3)<<1;
1927 uvmy = (uvmy&3)<<1; 1927 uvmy = (uvmy&3)<<1;
1928 dsp->avg_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy); 1928 if(!v->rnd){
1929 dsp->avg_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy); 1929 dsp->avg_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);
1930 dsp->avg_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);
1931 }else{
1932 dsp->avg_no_rnd_vc1_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);
1933 dsp->avg_no_rnd_vc1_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);
1934 }
1930 } 1935 }
1931 1936
1932 static av_always_inline int scale_mv(int value, int bfrac, int inv, int qs) 1937 static av_always_inline int scale_mv(int value, int bfrac, int inv, int qs)
1933 { 1938 {
1934 int n = bfrac; 1939 int n = bfrac;