Mercurial > libavcodec.hg
changeset 334:3912b37ba121 libavcodec
x1 deblocking filter bugfix
author | michael |
---|---|
date | Mon, 22 Apr 2002 15:53:24 +0000 |
parents | 8aa87f1dfc52 |
children | e7e9d9901523 |
files | libpostproc/postprocess_template.c |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libpostproc/postprocess_template.c Mon Apr 22 12:45:22 2002 +0000 +++ b/libpostproc/postprocess_template.c Mon Apr 22 15:53:24 2002 +0000 @@ -503,7 +503,6 @@ asm volatile( "pxor %%mm7, %%mm7 \n\t" // 0 -// "movq "MANGLE(b80)", %%mm6 \n\t" // MIN_SIGNED_BYTE "leal (%0, %1), %%eax \n\t" "leal (%%eax, %1, 4), %%ebx \n\t" // 0 1 2 3 4 5 6 7 8 9 @@ -515,7 +514,7 @@ "psubusb %%mm2, %%mm0 \n\t" "por %%mm1, %%mm0 \n\t" // |l2 - l3| "movq (%%ebx), %%mm3 \n\t" // line 5 - "movq (%%ebx, %1), %%mm4 \n\t" // line 6 + "movq (%%ebx, %1), %%mm4 \n\t" // line 6 "movq %%mm3, %%mm5 \n\t" // line 5 "psubusb %%mm4, %%mm3 \n\t" "psubusb %%mm5, %%mm4 \n\t" @@ -529,7 +528,9 @@ "por %%mm5, %%mm4 \n\t" // |l4 - l5| "psubusb %%mm0, %%mm4 \n\t" //d = MAX(0, |l4-l5| - (|l2-l3| + |l5-l6|)/2) "movq %%mm4, %%mm3 \n\t" // d - "psubusb "MANGLE(pQPb)", %%mm4 \n\t" + "movq "MANGLE(pQPb)", %%mm0 \n\t" + "paddusb %%mm0, %%mm0 \n\t" + "psubusb %%mm0, %%mm4 \n\t" "pcmpeqb %%mm7, %%mm4 \n\t" // d <= QP ? -1 : 0 "psubusb "MANGLE(b01)", %%mm3 \n\t" "pand %%mm4, %%mm3 \n\t" // d <= QP ? d : 0 @@ -606,7 +607,7 @@ int d= ABS(b) - ((ABS(a) + ABS(c))>>1); d= MAX(d, 0); - if(d < QP) + if(d < QP*2) { int v = d * SIGN(-b);