[SCM] libav/experimental: 2 instructions less in h264_loop_filter_luma_mmx2()
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 15:52:55 UTC 2013
The following commit has been merged in the experimental branch:
commit 25225c37731bfb3129139eea7fa61cdb2b1e0321
Author: Michael Niedermayer <michaelni at gmx.at>
Date: Fri Nov 3 12:07:53 2006 +0000
2 instructions less in h264_loop_filter_luma_mmx2()
Originally committed as revision 6882 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/i386/h264dsp_mmx.c b/libavcodec/i386/h264dsp_mmx.c
index c0da80a..185989f 100644
--- a/libavcodec/i386/h264dsp_mmx.c
+++ b/libavcodec/i386/h264dsp_mmx.c
@@ -399,10 +399,9 @@ static inline void h264_loop_filter_luma_mmx2(uint8_t *pix, int stride, int alph
"pand %%mm7, %%mm6 \n\t" // mask & |p2-p0|<beta
"pshufw $80, %4, %%mm4 \n\t"
"pand %%mm7, %%mm4 \n\t" // mask & tc0
- "movq %8, %%mm7 \n\t"
- "pand %%mm6, %%mm7 \n\t" // mask & |p2-p0|<beta & 1
+ "movq %%mm4, %%mm7 \n\t"
+ "psubb %%mm6, %%mm7 \n\t"
"pand %%mm4, %%mm6 \n\t" // mask & |p2-p0|<beta & tc0
- "paddb %%mm4, %%mm7 \n\t" // tc++
H264_DEBLOCK_Q1(%%mm0, %%mm3, "(%1)", "(%1,%3)", %%mm6, %%mm4)
/* filter q1 */
@@ -413,8 +412,7 @@ static inline void h264_loop_filter_luma_mmx2(uint8_t *pix, int stride, int alph
"pand %0, %%mm6 \n\t"
"pshufw $80, %4, %%mm5 \n\t"
"pand %%mm6, %%mm5 \n\t"
- "pand %8, %%mm6 \n\t"
- "paddb %%mm6, %%mm7 \n\t"
+ "psubb %%mm6, %%mm7 \n\t"
"movq (%2,%3), %%mm3 \n\t"
H264_DEBLOCK_Q1(%%mm3, %%mm4, "(%2,%3,2)", "(%2,%3)", %%mm5, %%mm6)
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list