synced patch with current FFmpeg svn
[vlc.git] / extras / contrib / src / Patches / ffmpeg-macosx-intel-mmx.patch
index c46862a..4753323 100644 (file)
@@ -40,9 +40,9 @@ Index: libavcodec/i386/motion_est_mmx.c
   
 Index: libavcodec/i386/dsputil_mmx.c
 ===================================================================
---- libavcodec/i386/dsputil_mmx.c      (revision 11879)
+--- libavcodec/i386/dsputil_mmx.c      (revision 12547)
 +++ libavcodec/i386/dsputil_mmx.c      (working copy)
-@@ -1927,7 +1927,7 @@
+@@ -860,7 +860,7 @@
  
  #define QPEL_V_LOW(m3,m4,m5,m6, pw_20, pw_3, rnd, in0, in1, in2, in7, out, OP)\
          "paddw " #m4 ", " #m3 "           \n\t" /* x1 */\
@@ -51,7 +51,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          "pmullw " #m3 ", %%mm4            \n\t" /* 20x1 */\
          "movq "#in7", " #m3 "             \n\t" /* d */\
          "movq "#in0", %%mm5               \n\t" /* D */\
-@@ -1939,7 +1939,7 @@
+@@ -872,7 +872,7 @@
          "paddw " #m5 ", %%mm6             \n\t" /* x2 */\
          "paddw %%mm6, %%mm6               \n\t" /* 2x2 */\
          "psubw %%mm6, %%mm5               \n\t" /* -2x2 + x3 */\
@@ -60,7 +60,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          "paddw " #rnd ", %%mm4            \n\t" /* x2 */\
          "paddw %%mm4, %%mm5               \n\t" /* 20x1 - 6x2 + 3x3 - x4 */\
          "psraw $5, %%mm5                  \n\t"\
-@@ -1973,10 +1973,10 @@
+@@ -906,10 +906,10 @@
          "paddw %%mm5, %%mm5               \n\t" /* 2b */\
          "psubw %%mm5, %%mm6               \n\t" /* c - 2b */\
          "pshufw $0x06, %%mm0, %%mm5       \n\t" /* 0C0B0A0A */\
@@ -73,7 +73,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          "psubw %%mm5, %%mm0               \n\t" /* 20a - d */\
          "paddw %6, %%mm6                  \n\t"\
          "paddw %%mm6, %%mm0               \n\t" /* 20a - 6b + 3c - d */\
-@@ -1999,10 +1999,10 @@
+@@ -932,10 +932,10 @@
          "psrlq $24, %%mm6                 \n\t" /* IJKLM000 */\
          "punpcklbw %%mm7, %%mm2           \n\t" /* 0F0G0H0I */\
          "punpcklbw %%mm7, %%mm6           \n\t" /* 0I0J0K0L */\
@@ -86,7 +86,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          "psubw %%mm4, %%mm3               \n\t" /* - 6b +3c - d */\
          "paddw %6, %%mm1                  \n\t"\
          "paddw %%mm1, %%mm3               \n\t" /* 20a - 6b +3c - d */\
-@@ -2025,7 +2025,7 @@
+@@ -958,7 +958,7 @@
          "psubw %%mm5, %%mm0               \n\t" /* c - 2b */\
          "movq %%mm3, %%mm5                \n\t" /* JKLMNOPQ */\
          "psrlq $24, %%mm3                 \n\t" /* MNOPQ000 */\
@@ -95,7 +95,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          "punpcklbw %%mm7, %%mm3           \n\t" /* 0M0N0O0P */\
          "paddw %%mm3, %%mm2               \n\t" /* d */\
          "psubw %%mm2, %%mm0               \n\t" /* -6b + 3c - d */\
-@@ -2033,7 +2033,7 @@
+@@ -966,7 +966,7 @@
          "punpcklbw %%mm7, %%mm2           \n\t" /* 0J0K0L0M */\
          "punpckhbw %%mm7, %%mm5           \n\t" /* 0N0O0P0Q */\
          "paddw %%mm2, %%mm6               \n\t" /* a */\
@@ -104,7 +104,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          "paddw %6, %%mm0                  \n\t"\
          "paddw %%mm6, %%mm0               \n\t" /* 20a - 6b + 3c - d */\
          "psraw $5, %%mm0                  \n\t"\
-@@ -2048,8 +2048,8 @@
+@@ -981,8 +981,8 @@
          "paddw %%mm2, %%mm5               \n\t" /* d */\
          "paddw %%mm6, %%mm6               \n\t" /* 2b */\
          "psubw %%mm6, %%mm4               \n\t" /* c - 2b */\
@@ -115,18 +115,18 @@ Index: libavcodec/i386/dsputil_mmx.c
          "psubw %%mm5, %%mm3               \n\t" /* -6b + 3c - d */\
          "paddw %6, %%mm4                  \n\t"\
          "paddw %%mm3, %%mm4               \n\t" /* 20a - 6b + 3c - d */\
-@@ -2062,7 +2062,9 @@
+@@ -995,7 +995,9 @@
          "decl %2                          \n\t"\
          " jnz 1b                          \n\t"\
-         : "+a"(src), "+c"(dst), "+g"(h)\
+         : "+a"(src), "+c"(dst), "+D"(h)\
 -        : "d"((long)srcStride), "S"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
-+       : "d"((long)srcStride), "S"((long)dstStride),\ 
-+         "m"(temp), "m"(ROUNDER),\
-+         "m"(ff_pw_20), "m"(ff_pw_3)\
++        : "d"((long)srcStride), "S"((long)dstStride),\ 
++          "m"(temp), "m"(ROUNDER),\
++          "m"(ff_pw_20), "m"(ff_pw_3)\
          : "memory"\
      );\
  }\
-@@ -2140,10 +2142,10 @@
+@@ -1071,10 +1073,10 @@
          "paddw %%mm5, %%mm5               \n\t" /* 2b */\
          "psubw %%mm5, %%mm6               \n\t" /* c - 2b */\
          "pshufw $0x06, %%mm0, %%mm5       \n\t" /* 0C0B0A0A */\
@@ -137,9 +137,9 @@ Index: libavcodec/i386/dsputil_mmx.c
 -        "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\
 +        "pmullw %7, %%mm0 \n\t" /* 20a */\
          "psubw %%mm5, %%mm0               \n\t" /* 20a - d */\
-         "paddw %6, %%mm6                  \n\t"\
+         "paddw %5, %%mm6                  \n\t"\
          "paddw %%mm6, %%mm0               \n\t" /* 20a - 6b + 3c - d */\
-@@ -2161,8 +2163,8 @@
+@@ -1092,8 +1094,8 @@
          "paddw %%mm5, %%mm4               \n\t" /* d */\
          "paddw %%mm2, %%mm2               \n\t" /* 2b */\
          "psubw %%mm2, %%mm3               \n\t" /* c - 2b */\
@@ -148,20 +148,20 @@ Index: libavcodec/i386/dsputil_mmx.c
 +        "pmullw %7, %%mm1 \n\t" /* 20a */\
 +        "pmullw %8, %%mm3  \n\t" /* 3c - 6b */\
          "psubw %%mm4, %%mm3               \n\t" /* -6b + 3c - d */\
-         "paddw %6, %%mm1                  \n\t"\
+         "paddw %5, %%mm1                  \n\t"\
          "paddw %%mm1, %%mm3               \n\t" /* 20a - 6b + 3c - d */\
-@@ -2175,7 +2177,9 @@
+@@ -1106,7 +1108,9 @@
          "decl %2                          \n\t"\
          " jnz 1b                          \n\t"\
-         : "+a"(src), "+c"(dst), "+g"(h)\
--        : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\
+         : "+a"(src), "+c"(dst), "+d"(h)\
+-        : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER)\
 +        : "S"((long)srcStride), "D"((long)dstStride),\
 +          "m"(temp), "m"(ROUNDER),\
 +          "m"(ff_pw_20), "m"(ff_pw_3)\
          : "memory"\
      );\
  }\
-@@ -2254,31 +2258,31 @@
+@@ -1185,31 +1189,31 @@
          "movq 8(%0), %%mm1              \n\t"\
          "movq 16(%0), %%mm2             \n\t"\
          "movq 24(%0), %%mm3             \n\t"\
@@ -209,7 +209,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          \
          "add $136, %0                   \n\t"\
          "add %6, %1                     \n\t"\
-@@ -2286,7 +2290,9 @@
+@@ -1217,7 +1221,9 @@
          " jnz 1b                        \n\t"\
          \
          : "+r"(temp_ptr), "+r"(dst), "+g"(count)\
@@ -220,7 +220,7 @@ Index: libavcodec/i386/dsputil_mmx.c
          :"memory"\
      );\
  }\
-@@ -2326,19 +2332,19 @@
+@@ -1257,19 +1263,19 @@
          "movq 8(%0), %%mm1              \n\t"\
          "movq 16(%0), %%mm2             \n\t"\
          "movq 24(%0), %%mm3             \n\t"\
@@ -248,7 +248,7 @@ Index: libavcodec/i386/dsputil_mmx.c
                  \
          "add $72, %0                    \n\t"\
          "add %6, %1                     \n\t"\
-@@ -2346,7 +2352,9 @@
+@@ -1277,7 +1283,9 @@
          " jnz 1b                        \n\t"\
           \
          : "+r"(temp_ptr), "+r"(dst), "+g"(count)\