100l (signed vs. unsigend)
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 28 Sep 2004 05:38:36 +0000 (05:38 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 28 Sep 2004 05:38:36 +0000 (05:38 +0000)
Originally committed as revision 3530 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/libpostproc/postprocess_template.c

index 316d9f3..fcfff4b 100644 (file)
@@ -2707,12 +2707,14 @@ asm volatile(
                "paddb %%mm2, %%mm0                             \n\t"
                "psubusb %%mm3, %%mm4                           \n\t"
 
+               "pxor %%mm6, %%mm6                              \n\t"
                 "movq %4, %%mm7                                        \n\t" // QP,..., QP
                "paddusb %%mm7, %%mm7                           \n\t" // 2QP ... 2QP
-               "pcmpgtb %%mm4, %%mm7                           \n\t" // Diff < 2QP -> FF
+               "psubusb %%mm4, %%mm7                           \n\t" // Diff >=2QP -> 0
+               "pcmpeqb %%mm6, %%mm7                           \n\t" // Diff < 2QP -> 0
+               "pcmpeqb %%mm6, %%mm7                           \n\t" // Diff < 2QP -> 0
                "movq %%mm7, %1                                 \n\t"
 
-               "pxor %%mm6, %%mm6                              \n\t"
                "movq %5, %%mm7                                 \n\t"
                "punpcklbw %%mm7, %%mm7                         \n\t"
                "punpcklbw %%mm7, %%mm7                         \n\t"