diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-01-13 14:18:03 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-13 14:19:15 +0100 |
commit | 58eb9b929998f415edf714fc7d8e3a1949d930f3 (patch) | |
tree | 4a01c70120f984ea0ad28e32d06bd43a39eb522f | |
parent | 1df53ff22de2732596571ea98b8bad1c6dd42543 (diff) | |
parent | 6d98959c8a5a749592a878b9523b31eccea5d102 (diff) | |
download | ffmpeg-58eb9b929998f415edf714fc7d8e3a1949d930f3.tar.gz |
Merge commit '6d98959c8a5a749592a878b9523b31eccea5d102'
* commit '6d98959c8a5a749592a878b9523b31eccea5d102':
vc1: Add avg_no_rnd_vc1_chroma_mc4_c()
Conflicts:
libavcodec/vc1dsp.c
See: dd6e291e4083b7af53968c0ae06330841f63405b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/vc1dsp.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c index 960db5602f..3b352d6d83 100644 --- a/libavcodec/vc1dsp.c +++ b/libavcodec/vc1dsp.c @@ -771,23 +771,25 @@ static void avg_no_rnd_vc1_chroma_mc8_c(uint8_t *dst /* align 8 */, } } -static void avg_no_rnd_vc1_chroma_mc4_c(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int stride, int h, int x, int y){ - const int A=(8-x)*(8-y); - const int B=( x)*(8-y); - const int C=(8-x)*( y); - const int D=( x)*( y); +static void avg_no_rnd_vc1_chroma_mc4_c(uint8_t *dst /* align 8 */, + uint8_t *src /* align 1 */, + int stride, int h, int x, int y) +{ + const int A = (8 - x) * (8 - y); + const int B = ( x) * (8 - y); + const int C = (8 - x) * ( y); + const int D = ( x) * ( y); int i; - av_assert2(x<8 && y<8 && x>=0 && y>=0); + av_assert2(x < 8 && y < 8 && x >= 0 && y >= 0); - for(i=0; i<h; i++) - { - dst[0] = avg2(dst[0], ((A*src[0] + B*src[1] + C*src[stride+0] + D*src[stride+1] + 32 - 4) >> 6)); - dst[1] = avg2(dst[1], ((A*src[1] + B*src[2] + C*src[stride+1] + D*src[stride+2] + 32 - 4) >> 6)); - dst[2] = avg2(dst[2], ((A*src[2] + B*src[3] + C*src[stride+2] + D*src[stride+3] + 32 - 4) >> 6)); - dst[3] = avg2(dst[3], ((A*src[3] + B*src[4] + C*src[stride+3] + D*src[stride+4] + 32 - 4) >> 6)); - dst+= stride; - src+= stride; + for (i = 0; i < h; i++) { + dst[0] = avg2(dst[0], chroma_mc(0)); + dst[1] = avg2(dst[1], chroma_mc(1)); + dst[2] = avg2(dst[2], chroma_mc(2)); + dst[3] = avg2(dst[3], chroma_mc(3)); + dst += stride; + src += stride; } } |