[SCM] libav/experimental: mpegvideo_mmx: add xmm registers to clobber list

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:18:20 UTC 2013


The following commit has been merged in the experimental branch:
commit 9943f3b91c6c023bf7f98e789ae64785e082d26f
Author: Ramiro Polla <ramiro.polla at gmail.com>
Date:   Sun Oct 31 13:15:16 2010 +0000

    mpegvideo_mmx: add xmm registers to clobber list
    
    Originally committed as revision 25607 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/x86/mpegvideo_mmx.c b/libavcodec/x86/mpegvideo_mmx.c
index c84fb01..a32e35b 100644
--- a/libavcodec/x86/mpegvideo_mmx.c
+++ b/libavcodec/x86/mpegvideo_mmx.c
@@ -581,6 +581,8 @@ static void  denoise_dct_sse2(MpegEncContext *s, DCTELEM *block){
             " jb 1b                             \n\t"
         : "+r" (block), "+r" (sum), "+r" (offset)
         : "r"(block+64)
+          XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                            "%xmm4", "%xmm5", "%xmm6", "%xmm7")
     );
 }
 
diff --git a/libavcodec/x86/mpegvideo_mmx_template.c b/libavcodec/x86/mpegvideo_mmx_template.c
index 0d92792..b292c9d 100644
--- a/libavcodec/x86/mpegvideo_mmx_template.c
+++ b/libavcodec/x86/mpegvideo_mmx_template.c
@@ -180,6 +180,8 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
             : "+a" (last_non_zero_p1)
             : "r" (block+64), "r" (qmat), "r" (bias),
               "r" (inv_zigzag_direct16+64), "r" (temp_block+64)
+              XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                                "%xmm4", "%xmm5", "%xmm6", "%xmm7")
         );
     }else{ // FMT_H263
         __asm__ volatile(
@@ -212,6 +214,8 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
             : "+a" (last_non_zero_p1)
             : "r" (block+64), "r" (qmat+64), "r" (bias+64),
               "r" (inv_zigzag_direct16+64), "r" (temp_block+64)
+              XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                                "%xmm4", "%xmm5", "%xmm6", "%xmm7")
         );
     }
     __asm__ volatile(

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list