Browse code

fix an overflow in vc1 intra overlap filter

Originally committed as revision 16845 to svn://svn.ffmpeg.org/ffmpeg/trunk

Loren Merritt authored on 2009/01/28 20:12:19
Showing 1 changed files
... ...
@@ -45,8 +45,8 @@ static void vc1_v_overlap_c(uint8_t* src, int stride)
45 45
         d2 = (a - d + b - c + 4 - rnd) >> 3;
46 46
 
47 47
         src[-2*stride] = a - d1;
48
-        src[-stride] = b - d2;
49
-        src[0] = c + d2;
48
+        src[-stride] = av_clip_uint8(b - d2);
49
+        src[0] = av_clip_uint8(c + d2);
50 50
         src[stride] = d + d1;
51 51
         src++;
52 52
         rnd = !rnd;
... ...
@@ -70,8 +70,8 @@ static void vc1_h_overlap_c(uint8_t* src, int stride)
70 70
         d2 = (a - d + b - c + 4 - rnd) >> 3;
71 71
 
72 72
         src[-2] = a - d1;
73
-        src[-1] = b - d2;
74
-        src[0] = c + d2;
73
+        src[-1] = av_clip_uint8(b - d2);
74
+        src[0] = av_clip_uint8(c + d2);
75 75
         src[1] = d + d1;
76 76
         src += stride;
77 77
         rnd = !rnd;