pike.git / src / modules / Image / dct.c

version» Context lines:

pike.git/src/modules/Image/dct.c:1: - /* $Id: dct.c,v 1.17 2000/12/01 08:10:00 hubbe Exp $ */ + /* $Id: dct.c,v 1.18 2001/07/12 13:29:50 grubba Exp $ */      /*   **! module Image   **! note - **! $Id: dct.c,v 1.17 2000/12/01 08:10:00 hubbe Exp $ + **! $Id: dct.c,v 1.18 2001/07/12 13:29:50 grubba Exp $   **! class Image   */      #include "global.h"      #include <math.h>   #include <ctype.h>      #include "stralloc.h"   #include "global.h"
pike.git/src/modules/Image/dct.c:138:    for (x=0; x<THIS->xsize; x++)    costbl[x]=cos( (2*x+1)*u*pi/xsz2 );       for (y=0; y<THIS->ysize; y++)    {    z0=cos( (2*y+1)*v*pi/ysz2 );    for (x=0; x<THIS->xsize; x++)    {    double z;    z = costbl[x] * z0; -  sum.r+=pix->r*z; -  sum.g+=pix->g*z; -  sum.b+=pix->b*z; +  sum.r += (float)(pix->r*z); +  sum.g += (float)(pix->g*z); +  sum.b += (float)(pix->b*z);    pix++;    }    } -  sum.r*=d; -  sum.g*=d; -  sum.b*=d; +  sum.r *= (float)d; +  sum.g *= (float)d; +  sum.b *= (float)d;    area[u+v*THIS->xsize]=sum;    }    fprintf(stderr,"."); fflush(stderr);    }    fprintf(stderr,"\n");       dx=((double)(THIS->xsize-1))/(img->xsize);    dy=((double)(THIS->ysize-1))/(img->ysize);       pix=img->img;
pike.git/src/modules/Image/dct.c:177:    for (u=0; u<THIS->xsize; u++)    costbl[u]=cos( (2*xp+1)*u*pi/xsz2 );       for (v=0; v<THIS->ysize; v++)    {    z0=cos( (2*yp+1)*v*pi/ysz2 )*(v?1:c0)/4.0;    for (u=0; u<THIS->xsize; u++)    {    double z;    z = (u?1:c0) * costbl[u] * z0; -  sum.r+=val->r*z; -  sum.g+=val->g*z; -  sum.b+=val->b*z; +  sum.r += (float)val->r*z; +  sum.g += (float)val->g*z; +  sum.b += (float)val->b*z;    val++;    }    } -  sum.r*=enh; -  sum.g*=enh; -  sum.b*=enh; +  sum.r *= (float)enh; +  sum.g *= (float)enh; +  sum.b *= (float)enh;    pix->r=testrange((DOUBLE_TO_INT(sum.r+0.5)));    pix->g=testrange((DOUBLE_TO_INT(sum.g+0.5)));    pix->b=testrange((DOUBLE_TO_INT(sum.b+0.5)));    pix++;    }    fprintf(stderr,"."); fflush(stderr);    }       free(area);    free(costbl);       pop_n_elems(args);    push_object(o);   }