[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec/i386 h264dsp_mmx.c,1.6,1.7

Loren Merritt CVS lorenm
Sat Dec 31 00:47:44 CET 2005


Update of /cvsroot/ffmpeg/ffmpeg/libavcodec/i386
In directory mail:/var2/tmp/cvs-serv23456/i386

Modified Files:
	h264dsp_mmx.c 
Log Message:
fix some potential arithmetic overflows in pred_direct_motion() and
ff_h264_weight_WxH_mmx2().



Index: h264dsp_mmx.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/h264dsp_mmx.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- h264dsp_mmx.c	22 Dec 2005 01:10:09 -0000	1.6
+++ h264dsp_mmx.c	30 Dec 2005 23:47:41 -0000	1.7
@@ -518,9 +518,9 @@
         "psraw $2, %%mm0            \n\t"/*(a-b)/4 */\
         "psubw %%mm1, %%mm0         \n\t"/*(a-b)/4-b */\
         "paddsw %%mm2, %%mm0        \n\t"\
-        "psraw $2, %%mm0            \n\t"/*((a-b)/4-b)/4 */\
+        "psraw $2, %%mm0            \n\t"/*((a-b)/4-b+c)/4 */\
         "paddw %%mm6, %%mm2         \n\t"\
-        "paddw %%mm2, %%mm0         \n\t"\
+        "paddw %%mm2, %%mm0         \n\t"/*(a-5*b+20*c)/16 +32 */\
         "psraw $6, %%mm0            \n\t"\
         "packuswb %%mm0, %%mm0      \n\t"\
         OP(%%mm0, (%1),%%mm7, d)\
@@ -955,8 +955,8 @@
                 "punpcklbw %%mm7, %%mm1 \n\t"
                 "pmullw    %%mm4, %%mm0 \n\t"
                 "pmullw    %%mm4, %%mm1 \n\t"
-                "paddw     %%mm5, %%mm0 \n\t"
-                "paddw     %%mm5, %%mm1 \n\t"
+                "paddsw    %%mm5, %%mm0 \n\t"
+                "paddsw    %%mm5, %%mm1 \n\t"
                 "psraw     %%mm6, %%mm0 \n\t"
                 "psraw     %%mm6, %%mm1 \n\t"
                 "packuswb  %%mm7, %%mm0 \n\t"
@@ -995,8 +995,8 @@
                 "punpcklbw %%mm7, %%mm1 \n\t"
                 "pmullw    %%mm3, %%mm0 \n\t"
                 "pmullw    %%mm4, %%mm1 \n\t"
-                "paddw     %%mm5, %%mm0 \n\t"
-                "paddw     %%mm1, %%mm0 \n\t"
+                "paddsw    %%mm1, %%mm0 \n\t"
+                "paddsw    %%mm5, %%mm0 \n\t"
                 "psraw     %%mm6, %%mm0 \n\t"
                 "packuswb  %%mm0, %%mm0 \n\t"
                 "movd      %%mm0, %0    \n\t"





More information about the ffmpeg-cvslog mailing list