   * inverse transform
 Index: libavcodec/i386/flacdsp_mmx.c
 ===================================================================
---- libavcodec/i386/flacdsp_mmx.c	(revision 11888)
+--- libavcodec/i386/flacdsp_mmx.c	(revision 16251)
 +++ libavcodec/i386/flacdsp_mmx.c	(working copy)
-@@ -26,7 +26,6 @@
+@@ -27,7 +27,6 @@
      double c = 2.0 / (len-1.0);
      int n2 = len>>1;
      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"
-@@ -54,7 +53,7 @@
+     __asm__ volatile(
+         "movsd   %0,     %%xmm7                \n\t"
+         "movapd  "MANGLE(ff_pd_1)", %%xmm6     \n\t"
+@@ -55,7 +54,7 @@
          "sub      $8,      %1                  \n\t"\
          "add      $8,      %0                  \n\t"\
          "jl 1b                                 \n\t"\

 }
Index: libavcodec/i386/cavsdsp_mmx.c
===================================================================
--- libavcodec/i386/cavsdsp_mmx.c	(revision 13752)
+++ libavcodec/i386/cavsdsp_mmx.c	(working copy)
@@ -25,8 +25,30 @@
 #include "libavutil/common.h"

     );
 }
 
@@ -259,7 +259,7 @@
         "punpckhbw %%mm7, %%mm5         \n\t"
         "paddw %%mm4, %%mm2             \n\t"
         "paddw %%mm5, %%mm3             \n\t"
-        "movq 16+"MANGLE(round_tab)", %%mm5 \n\t"
+        "movq 16+%5, %%mm5              \n\t"
         "paddw %%mm2, %%mm0             \n\t"
         "paddw %%mm3, %%mm1             \n\t"
         "paddw %%mm5, %%mm0             \n\t"
@@ -282,7 +282,7 @@
         "add %4, %%"REG_a"              \n\t"
         " js 1b                         \n\t"
         : "+a" (len)
