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