Mercurial > libavcodec.hg
changeset 100:1d1182345591 libavcodec
minor QP scaling & auto-contrast bugfix
fixed compilation problem without -fomit-frame-pointer
author | michael |
---|---|
date | Sat, 13 Oct 2001 09:30:07 +0000 |
parents | 4f072fa99ccf |
children | fcf4e8fcb34b |
files | libpostproc/postprocess.c libpostproc/postprocess_template.c |
diffstat | 2 files changed, 16 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/libpostproc/postprocess.c Sat Oct 13 02:31:15 2001 +0000 +++ b/libpostproc/postprocess.c Sat Oct 13 09:30:07 2001 +0000 @@ -850,7 +850,7 @@ "leal (%%eax, %1, 4), %%ebx \n\t" "movq b80, %%mm6 \n\t" - "movd %2, %%mm5 \n\t" // QP + "movd pQPb, %%mm5 \n\t" // QP "movq %%mm5, %%mm4 \n\t" "paddusb %%mm5, %%mm5 \n\t" // 2QP "paddusb %%mm5, %%mm4 \n\t" // 3QP @@ -933,7 +933,7 @@ "psubusb %%mm3, %%mm2 \n\t"\ "movd %%mm1, %%ecx \n\t"\ "psubusb %%mm4, %%mm3 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm0 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm0 \n\t"\ "por %%mm2, %%mm3 \n\t" /* p´x = |px - p(x+1)| */\ "paddb %%mm6, %%mm0 \n\t"\ "pcmpeqb %%mm7, %%mm2 \n\t" /* p´x = sgn[px - p(x+1)] */\ @@ -954,18 +954,18 @@ "movd 4" #c ", %%mm1 \n\t"\ "punpckldq %%mm1, %%mm0 \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm0 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm0 \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ "movq %%mm0, " #c " \n\t"\ "movd %%mm3, %%ecx \n\t"\ "movd " #d ", %%mm0 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm4 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm4 \n\t"\ "movd 4" #d ", %%mm1 \n\t"\ "paddb %%mm6, %%mm4 \n\t"\ "punpckldq %%mm1, %%mm0 \n\t"\ "movq %%mm4, " #b " \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm0 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm0 \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ "movq %%mm0, " #d " \n\t"\ @@ -974,7 +974,7 @@ : - : "r" (src), "r" (stride), "r" (QP), "r" (lut) + : "r" (src), "r" (stride), "r" (lut) : "%eax", "%ebx", "%ecx" ); #else @@ -2101,7 +2101,8 @@ const int stride= dstStride; int QP= isColor ? QPs[(y>>3)*QPStride + (x>>3)]: - (QPs[(y>>4)*QPStride + (x>>4)] * (packedYScale &0xFFFF))>>8; + QPs[(y>>4)*QPStride + (x>>4)]; + if(!isColor && (mode & LEVEL_FIX)) QP= (QP* (packedYScale &0xFFFF))>>8; #ifdef HAVE_MMX asm volatile( "movd %0, %%mm7 \n\t"
--- a/libpostproc/postprocess_template.c Sat Oct 13 02:31:15 2001 +0000 +++ b/libpostproc/postprocess_template.c Sat Oct 13 09:30:07 2001 +0000 @@ -850,7 +850,7 @@ "leal (%%eax, %1, 4), %%ebx \n\t" "movq b80, %%mm6 \n\t" - "movd %2, %%mm5 \n\t" // QP + "movd pQPb, %%mm5 \n\t" // QP "movq %%mm5, %%mm4 \n\t" "paddusb %%mm5, %%mm5 \n\t" // 2QP "paddusb %%mm5, %%mm4 \n\t" // 3QP @@ -933,7 +933,7 @@ "psubusb %%mm3, %%mm2 \n\t"\ "movd %%mm1, %%ecx \n\t"\ "psubusb %%mm4, %%mm3 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm0 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm0 \n\t"\ "por %%mm2, %%mm3 \n\t" /* p´x = |px - p(x+1)| */\ "paddb %%mm6, %%mm0 \n\t"\ "pcmpeqb %%mm7, %%mm2 \n\t" /* p´x = sgn[px - p(x+1)] */\ @@ -954,18 +954,18 @@ "movd 4" #c ", %%mm1 \n\t"\ "punpckldq %%mm1, %%mm0 \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm0 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm0 \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ "movq %%mm0, " #c " \n\t"\ "movd %%mm3, %%ecx \n\t"\ "movd " #d ", %%mm0 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm4 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm4 \n\t"\ "movd 4" #d ", %%mm1 \n\t"\ "paddb %%mm6, %%mm4 \n\t"\ "punpckldq %%mm1, %%mm0 \n\t"\ "movq %%mm4, " #b " \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ - "paddsb (%3, %%ecx, 8), %%mm0 \n\t"\ + "paddsb (%2, %%ecx, 8), %%mm0 \n\t"\ "paddb %%mm6, %%mm0 \n\t"\ "movq %%mm0, " #d " \n\t"\ @@ -974,7 +974,7 @@ : - : "r" (src), "r" (stride), "r" (QP), "r" (lut) + : "r" (src), "r" (stride), "r" (lut) : "%eax", "%ebx", "%ecx" ); #else @@ -2101,7 +2101,8 @@ const int stride= dstStride; int QP= isColor ? QPs[(y>>3)*QPStride + (x>>3)]: - (QPs[(y>>4)*QPStride + (x>>4)] * (packedYScale &0xFFFF))>>8; + QPs[(y>>4)*QPStride + (x>>4)]; + if(!isColor && (mode & LEVEL_FIX)) QP= (QP* (packedYScale &0xFFFF))>>8; #ifdef HAVE_MMX asm volatile( "movd %0, %%mm7 \n\t"