Mercurial > libavcodec.hg
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; |