aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/i386
diff options
context:
space:
mode:
authorMichael Niedermayer2007-08-20 23:02:59 +0000
committerMichael Niedermayer2007-08-20 23:02:59 +0000
commiteee649d3b5033cd49f88e14b6691182e741281dd (patch)
tree714d97059226c9812a84c57fa1a6479dc4e60197 /libavcodec/i386
parentbe3b22f9cae9916405cde209fd93f8593e52ed4b (diff)
slightly change horizontal lift3 so it needs 1 bit less headroom
Originally committed as revision 10159 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386')
-rw-r--r--libavcodec/i386/snowdsp_mmx.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/i386/snowdsp_mmx.c b/libavcodec/i386/snowdsp_mmx.c
index 96cb856e94..eb67a1e498 100644
--- a/libavcodec/i386/snowdsp_mmx.c
+++ b/libavcodec/i386/snowdsp_mmx.c
@@ -333,18 +333,18 @@ void ff_snow_horizontal_compose97i_mmx(DWTELEM *b, int width){
"movq 12(%1), %%mm6 \n\t"
"paddd (%1), %%mm2 \n\t"
"paddd 8(%1), %%mm6 \n\t"
- "movq %%mm2, %%mm0 \n\t"
- "movq %%mm6, %%mm4 \n\t"
- "pslld $2, %%mm2 \n\t"
- "pslld $2, %%mm6 \n\t"
+ "pxor %%mm0, %%mm0 \n\t" //note: the 2 xor could be avoided if we would flip the rounding direction
+ "pxor %%mm4, %%mm4 \n\t"
"psubd %%mm2, %%mm0 \n\t"
"psubd %%mm6, %%mm4 \n\t"
"psrad $1, %%mm0 \n\t"
"psrad $1, %%mm4 \n\t"
- "movq (%0), %%mm2 \n\t"
- "movq 8(%0), %%mm6 \n\t"
"psubd %%mm0, %%mm2 \n\t"
"psubd %%mm4, %%mm6 \n\t"
+ "movq (%0), %%mm0 \n\t"
+ "movq 8(%0), %%mm4 \n\t"
+ "paddd %%mm0, %%mm2 \n\t"
+ "paddd %%mm4, %%mm6 \n\t"
"movq %%mm2, (%2) \n\t"
"movq %%mm6, 8(%2) \n\t"
:: "r"(&src[i]), "r"(&b[i]), "r"(&temp[i])