Mercurial > mplayer.hg
changeset 6679:5c4beb993674
fixing sinc filter (seems the problem was caused by rounding in pmulhw -> solution use shorter filter, its long and slow enough anyway)
some typos
some warning fixes
author | michael |
---|---|
date | Tue, 09 Jul 2002 17:01:52 +0000 |
parents | c7cfaa38cafb |
children | ff8598fc2ad6 |
files | postproc/swscale.c postproc/swscale_template.c |
diffstat | 2 files changed, 12 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/postproc/swscale.c Tue Jul 09 10:14:55 2002 +0000 +++ b/postproc/swscale.c Tue Jul 09 17:01:52 2002 +0000 @@ -1079,10 +1079,13 @@ else if(flags&SWS_AREA) sizeFactor= 1.0; //downscale only, for upscale it is bilinear else if(flags&SWS_GAUSS) sizeFactor= 8.0; // infinite ;) else if(flags&SWS_LANCZOS) sizeFactor= param ? 2.0*param : 6.0; - else if(flags&SWS_SINC) sizeFactor= 100.0; // infinite ;) + else if(flags&SWS_SINC) sizeFactor= 20.0; // infinite ;) else if(flags&SWS_SPLINE) sizeFactor= 20.0; // infinite ;) else if(flags&SWS_BILINEAR) sizeFactor= 2.0; - else ASSERT(0) + else { + sizeFactor= 0.0; //GCC warning killer + ASSERT(0) + } if(xInc1 <= 1.0) filterSizeInSrc= sizeFactor; // upscale else filterSizeInSrc= sizeFactor*srcW / (double)dstW; @@ -1164,7 +1167,10 @@ double p=-2.196152422706632; coeff = getSplineCoeff(1.0, 0.0, p, -p-1.0, d); } - else ASSERT(0) + else { + coeff= 0.0; //GCC warning killer + ASSERT(0) + } filter[i*filterSize + j]= coeff; xx++; @@ -1318,7 +1324,7 @@ sum+= filter[i*filterSize + j]; } scale/= sum; - for(j=0; j<filterSize; j++) + for(j=0; j<*outFilterSize; j++) { (*outFilter)[i*(*outFilterSize) + j]= (int)(filter[i*filterSize + j]*scale); }
--- a/postproc/swscale_template.c Tue Jul 09 10:14:55 2002 +0000 +++ b/postproc/swscale_template.c Tue Jul 09 17:01:52 2002 +0000 @@ -112,8 +112,8 @@ ".balign 16 \n\t"\ "1: \n\t"\ "movl %1, %%edx \n\t" /* -chrFilterSize */\ - "movl %3, %%ebx \n\t" /* chrMmxFilter+lumFilterSize */\ - "movl %7, %%ecx \n\t" /* chrSrc+lumFilterSize */\ + "movl %3, %%ebx \n\t" /* chrMmxFilter+chrFilterSize */\ + "movl %7, %%ecx \n\t" /* chrSrc+chrFilterSize */\ "pxor %%mm3, %%mm3 \n\t"\ "pxor %%mm4, %%mm4 \n\t"\ "2: \n\t"\