Prevent overflows during mpeg->jpeg yuv.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 9 Sep 2008 03:35:07 +0000 (03:35 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 9 Sep 2008 03:35:07 +0000 (03:35 +0000)
Originally committed as revision 27552 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/swscale_template.c

index ef964ff..be7009c 100644 (file)
@@ -2721,7 +2721,7 @@ FUNNY_Y_CODE
                 dst[i]= (dst[i]*14071 + 33561947)>>14;
         }else{
             for (i=0; i<dstWidth; i++)
-                dst[i]= (dst[i]*19077 - 39057361)>>14;
+                dst[i]= (FFMIN(dst[i],30189)*19077 - 39057361)>>14;
         }
     }
 }
@@ -2986,8 +2986,8 @@ FUNNY_UV_CODE
             }
         }else{
             for (i=0; i<dstWidth; i++){
-                dst[i     ]= (dst[i     ]*4663 - 9289992)>>12; //-264
-                dst[i+VOFW]= (dst[i+VOFW]*4663 - 9289992)>>12; //-264
+                dst[i     ]= (FFMIN(dst[i     ],30775)*4663 - 9289992)>>12; //-264
+                dst[i+VOFW]= (FFMIN(dst[i+VOFW],30775)*4663 - 9289992)>>12; //-264
             }
         }
     }