comparison vc1dsp.c @ 8686:674acd1e7e18 libavcodec

fix an overflow in vc1 intra overlap filter
author lorenm
date Wed, 28 Jan 2009 11:12:19 +0000
parents 2f43560f5dba
children e9d9d946f213
comparison
equal deleted inserted replaced
8685:ed386fa1399e 8686:674acd1e7e18
43 d = src[stride]; 43 d = src[stride];
44 d1 = (a - d + 3 + rnd) >> 3; 44 d1 = (a - d + 3 + rnd) >> 3;
45 d2 = (a - d + b - c + 4 - rnd) >> 3; 45 d2 = (a - d + b - c + 4 - rnd) >> 3;
46 46
47 src[-2*stride] = a - d1; 47 src[-2*stride] = a - d1;
48 src[-stride] = b - d2; 48 src[-stride] = av_clip_uint8(b - d2);
49 src[0] = c + d2; 49 src[0] = av_clip_uint8(c + d2);
50 src[stride] = d + d1; 50 src[stride] = d + d1;
51 src++; 51 src++;
52 rnd = !rnd; 52 rnd = !rnd;
53 } 53 }
54 } 54 }
68 d = src[1]; 68 d = src[1];
69 d1 = (a - d + 3 + rnd) >> 3; 69 d1 = (a - d + 3 + rnd) >> 3;
70 d2 = (a - d + b - c + 4 - rnd) >> 3; 70 d2 = (a - d + b - c + 4 - rnd) >> 3;
71 71
72 src[-2] = a - d1; 72 src[-2] = a - d1;
73 src[-1] = b - d2; 73 src[-1] = av_clip_uint8(b - d2);
74 src[0] = c + d2; 74 src[0] = av_clip_uint8(c + d2);
75 src[1] = d + d1; 75 src[1] = d + d1;
76 src += stride; 76 src += stride;
77 rnd = !rnd; 77 rnd = !rnd;
78 } 78 }
79 } 79 }