[SCM] libav/experimental: Fix asm constraints in apply_window()

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:09:10 UTC 2013


The following commit has been merged in the experimental branch:
commit 57dbd12b6dcff29526ae0da5168d70146cc72b39
Author: Vitor Sessak <vitor1001 at gmail.com>
Date:   Thu Jun 24 08:46:47 2010 +0000

    Fix asm constraints in apply_window()
    
    Originally committed as revision 23752 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/x86/mpegaudiodec_mmx.c b/libavcodec/x86/mpegaudiodec_mmx.c
index 39122b8..d9efffd 100644
--- a/libavcodec/x86/mpegaudiodec_mmx.c
+++ b/libavcodec/x86/mpegaudiodec_mmx.c
@@ -51,11 +51,11 @@ static void apply_window(const float *buf, const float *win1,
 
 
 #define MULT(a, b)                                 \
-    "movaps " #a "(%0,%5), %%xmm1           \n\t"  \
-    "movaps " #a "(%2,%5), %%xmm2           \n\t"  \
+    "movaps " #a "(%1,%0), %%xmm1           \n\t"  \
+    "movaps " #a "(%3,%0), %%xmm2           \n\t"  \
     "mulps         %%xmm2, %%xmm1           \n\t"  \
     "subps         %%xmm1, %%xmm0           \n\t"  \
-    "mulps  " #b "(%1,%5), %%xmm2           \n\t"  \
+    "mulps  " #b "(%2,%0), %%xmm2           \n\t"  \
     "subps         %%xmm2, %%xmm4           \n\t"  \
 
     __asm__ volatile(
@@ -72,11 +72,12 @@ static void apply_window(const float *buf, const float *win1,
             MULT(1536, 384)
             MULT(1792, 448)
 
-            "movaps      %%xmm0, (%3,%5)          \n\t"
-            "movaps      %%xmm4, (%4,%5)          \n\t"
-            "addl           $16,  %5              \n\t"
+            "movaps      %%xmm0, (%4,%0)          \n\t"
+            "movaps      %%xmm4, (%5,%0)          \n\t"
+            "addl           $16,  %0              \n\t"
             "jl              1b                   \n\t"
-            :"+&r"(win1a), "+&r"(win2a), "+&r"(bufa), "+&r"(sum1a), "+&r"(sum2a), "+&r"(count)
+            :"+&r"(count)
+            :"r"(win1a), "r"(win2a), "r"(bufa), "r"(sum1a), "r"(sum2a)
             );
 
 #undef MULT

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list