[Ffmpeg-cvslog] r8093 - trunk/libavcodec/i386/dsputil_h264_template_mmx.c

michael subversion
Fri Feb 23 15:29:13 CET 2007


Author: michael
Date: Fri Feb 23 15:29:13 2007
New Revision: 8093

Modified:
   trunk/libavcodec/i386/dsputil_h264_template_mmx.c

Log:
fix chroma mc2 bug, this is based on a patch by (Oleg Metelitsa oleg hitron co kr)
and does slow the mc2 chroma put down, avg interrestingly seems unaffected speedwise on duron
this of course should be rather done in a way which doesnt slow it down but its better a few %
slower but correct then incorrect


Modified: trunk/libavcodec/i386/dsputil_h264_template_mmx.c
==============================================================================
--- trunk/libavcodec/i386/dsputil_h264_template_mmx.c	(original)
+++ trunk/libavcodec/i386/dsputil_h264_template_mmx.c	Fri Feb 23 15:29:13 2007
@@ -293,11 +293,14 @@
         /* writes garbage to the right of dst.
             * ok because partitions are processed from left to right. */
         H264_CHROMA_OP4((%0), %%mm1, %%mm3)
-        "movd %%mm1, (%0)\n\t"
+        "movd %%mm1, %%esi\n\t"
+        "movw %%si, (%0)\n\t"
         "add %4, %0\n\t"
         "sub $1, %2\n\t"
         "jnz 1b\n\t"
-        : "+r" (dst), "+r"(src), "+r"(h) : "m" (ff_pw_32), "r"(stride));
+        : "+r" (dst), "+r"(src), "+r"(h)
+        : "m" (ff_pw_32), "r"(stride)
+        : "%esi");
 
 }
 #endif




More information about the ffmpeg-cvslog mailing list