[SCM] libav/experimental: fix chroma mc2 bug, this is based on a patch by (Oleg Metelitsa oleg hitron co kr) and does slow the mc2 chroma put down, avg interrestingly seems unaffected speedwise on duron this of course should be rather done in a way which doesnt slow it down but its better a few % slower but correct then incorrect

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:56:48 UTC 2013


The following commit has been merged in the experimental branch:
commit 61240ae5569c9f53a87c2fed9b0985959455f13c
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Fri Feb 23 14:29:13 2007 +0000

    fix chroma mc2 bug, this is based on a patch by (Oleg Metelitsa oleg hitron co kr)
    and does slow the mc2 chroma put down, avg interrestingly seems unaffected speedwise on duron
    this of course should be rather done in a way which doesnt slow it down but its better a few %
    slower but correct then incorrect
    
    Originally committed as revision 8093 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/i386/dsputil_h264_template_mmx.c b/libavcodec/i386/dsputil_h264_template_mmx.c
index 8fa9eac..48cb480 100644
--- a/libavcodec/i386/dsputil_h264_template_mmx.c
+++ b/libavcodec/i386/dsputil_h264_template_mmx.c
@@ -293,11 +293,14 @@ static void H264_CHROMA_MC2_TMPL(uint8_t *dst/*align 2*/, uint8_t *src/*align 1*
         /* writes garbage to the right of dst.
             * ok because partitions are processed from left to right. */
         H264_CHROMA_OP4((%0), %%mm1, %%mm3)
-        "movd %%mm1, (%0)\n\t"
+        "movd %%mm1, %%esi\n\t"
+        "movw %%si, (%0)\n\t"
         "add %4, %0\n\t"
         "sub $1, %2\n\t"
         "jnz 1b\n\t"
-        : "+r" (dst), "+r"(src), "+r"(h) : "m" (ff_pw_32), "r"(stride));
+        : "+r" (dst), "+r"(src), "+r"(h)
+        : "m" (ff_pw_32), "r"(stride)
+        : "%esi");
 
 }
 #endif

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list