[SCM] libav/experimental: tring to workaround gcc 2.95 bug which causes random failures

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:09:24 UTC 2013


The following commit has been merged in the experimental branch:
commit 02d361919a0e53001c0ddc06ad1a828d6c6884d1
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Nov 12 02:04:01 2007 +0000

    tring to workaround gcc 2.95 bug which causes random failures
    
    Originally committed as revision 11003 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c
index 1ca13e7..7a63d25 100644
--- a/libavcodec/i386/dsputil_mmx.c
+++ b/libavcodec/i386/dsputil_mmx.c
@@ -1534,10 +1534,11 @@ static void sub_hfyu_median_prediction_mmx2(uint8_t *dst, uint8_t *src1, uint8_t
         "mov"#m1" "#mm"0, %0          \n\t"\
         DIFF_PIXELS_1(m0, mm##7, mm##0, (%1,%3,4), (%2,%3,4))\
         "mov"#m1" %0, "#mm"0          \n\t"\
-        : "=m"(temp), "+r"(p1b), "+r"(p2b)\
+        : "+m"(temp), "+r"(p1b), "+r"(p2b)\
         : "r"((long)stride), "r"((long)stride*3)\
     );\
 }
+    //the "+m"(temp) is needed as gcc 2.95 sometimes fails to compile "=m"(temp)
 
 #define DIFF_PIXELS_4x8(p1,p2,stride,temp) DIFF_PIXELS_8(d, q,   %%mm,  p1, p2, stride, temp)
 #define DIFF_PIXELS_8x8(p1,p2,stride,temp) DIFF_PIXELS_8(q, dqa, %%xmm, p1, p2, stride, temp)

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list