summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2007-02-23 14:29:13 +0000
committerMichael Niedermayer <michaelni@gmx.at>2007-02-23 14:29:13 +0000
commit61240ae5569c9f53a87c2fed9b0985959455f13c (patch)
treeaef0a7db0a577840359df9bdf6acad68c9c6deca
parent89daa6b8b6c49b44d04bc031447a26c77e26418b (diff)
downloadffmpeg-streaming-61240ae5569c9f53a87c2fed9b0985959455f13c.zip
ffmpeg-streaming-61240ae5569c9f53a87c2fed9b0985959455f13c.tar.gz
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
-rw-r--r--libavcodec/i386/dsputil_h264_template_mmx.c7
1 files changed, 5 insertions, 2 deletions
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
OpenPOWER on IntegriCloud