 @@ -26,7 +26,6 @@
      double c = 2.0 / (len-1.0);
      int n2 = len>>1;
-     long i = -n2*sizeof(int32_t);
--    long j =  n2*sizeof(int32_t);
+     x86_reg i = -n2*sizeof(int32_t);
+-    x86_reg j =  n2*sizeof(int32_t);
      asm volatile(
          "movsd   %0,     %%xmm7 \n\t"
          "movapd  %1,     %%xmm6 \n\t"

 }
Index: libavcodec/i386/cavsdsp_mmx.c
===================================================================
--- libavcodec/i386/cavsdsp_mmx.c	(revision 11727)
+++ libavcodec/i386/cavsdsp_mmx.c	(working copy)
@@ -23,9 +23,31 @@
  */
 
 #include "dsputil.h"
-#include "dsputil_mmx.h"
 #include "common.h"
 
+#define SUMSUB_BA( a, b ) \
+"paddw "#b", "#a" \n\t"\

         "sub $2, %0                     \n\t"
         " jg 1b                         \n\t"
         : "+r" (h), "+r" (blk1), "+r" (blk2)
-        : "r" ((x86_reg)stride)
+        : "r" ((x86_reg)stride), "m" (bone)
     );
 }
 
