Mercurial > libavcodec.hg
changeset 5253:a69976bf878c libavcodec
Pass modes as parameters instead of calculating them inplace.
Patch by by Christophe GISQUET ( echo $name| awk '//{sub(" ",".");print tolower($0) "@free.fr";}')
Thread: [PATCH] Clean up in C VC-1 DSP functions
author | kostya |
---|---|
date | Sun, 08 Jul 2007 13:34:02 +0000 |
parents | e4b9ca118ab1 |
children | 727a49c28c51 |
files | vc1dsp.c |
diffstat | 1 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/vc1dsp.c Sun Jul 08 13:26:13 2007 +0000 +++ b/vc1dsp.c Sun Jul 08 13:34:02 2007 +0000 @@ -342,29 +342,27 @@ /** Function used to do motion compensation with bicubic interpolation */ -static void vc1_mspel_mc(uint8_t *dst, const uint8_t *src, int stride, int mode, int rnd) +static void vc1_mspel_mc(uint8_t *dst, const uint8_t *src, int stride, int hmode, int vmode, int rnd) { int i, j; uint8_t tmp[8*11], *tptr; - int m, r; + int r; - m = (mode & 3); r = rnd; src -= stride; tptr = tmp; for(j = 0; j < 11; j++) { for(i = 0; i < 8; i++) - tptr[i] = av_clip_uint8(vc1_mspel_filter(src + i, 1, m, r)); + tptr[i] = av_clip_uint8(vc1_mspel_filter(src + i, 1, hmode, r)); src += stride; tptr += 8; } r = 1 - rnd; - m = (mode >> 2) & 3; tptr = tmp + 8; for(j = 0; j < 8; j++) { for(i = 0; i < 8; i++) - dst[i] = av_clip_uint8(vc1_mspel_filter(tptr + i, 8, m, r)); + dst[i] = av_clip_uint8(vc1_mspel_filter(tptr + i, 8, vmode, r)); dst += stride; tptr += 8; } @@ -377,7 +375,7 @@ #define PUT_VC1_MSPEL(a, b)\ static void put_vc1_mspel_mc ## a ## b ##_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) { \ - vc1_mspel_mc(dst, src, stride, (a)&((b<<2)), rnd); \ + vc1_mspel_mc(dst, src, stride, a, b, rnd); \ } PUT_VC1_MSPEL(1, 0)