diff options
author | godspeed1989 <tongxinjichu@gmail.com> | 2013-05-08 10:49:28 +0800 |
---|---|---|
committer | godspeed1989 <tongxinjichu@gmail.com> | 2013-05-08 10:49:28 +0800 |
commit | a966eab797855744f70101ed6f36a62e99b51c9d (patch) | |
tree | 6633e76ba325e738b061c00c7a730e5a621d01c8 | |
parent | 7672c628aedb3ebe98e843b82dfba8cf848c8e5c (diff) | |
download | fbv-a966eab797855744f70101ed6f36a62e99b51c9d.tar.gz fbv-a966eab797855744f70101ed6f36a62e99b51c9d.zip |
misc fix
-rw-r--r-- | fb_display.c | 8 | ||||
-rw-r--r-- | transforms.c | 83 |
2 files changed, 46 insertions, 45 deletions
diff --git a/fb_display.c b/fb_display.c index 542816e..6064de7 100644 --- a/fb_display.c +++ b/fb_display.c @@ -24,9 +24,9 @@ * */ -unsigned short red[256], green[256], blue[256]; +__u16 red[256], green[256], blue[256]; struct fb_cmap map332 = {0, 256, red, green, blue, NULL}; -unsigned short red_b[256], green_b[256], blue_b[256]; +__u16 red_b[256], green_b[256], blue_b[256]; struct fb_cmap map_back = {0, 256, red_b, green_b, blue_b, NULL}; @@ -228,8 +228,8 @@ void blit2FB(int fh, unsigned char *fbbuff, unsigned char *alpha, set332map(fh); } - fbptr = fb + (yoffs * scr_xs + xoffs) * cpp; - imptr = fbbuff + (yp * pic_xs + xp) * cpp; + fbptr = fb + (yoffs * scr_xs + xoffs) * cpp; + imptr = fbbuff + (yp * pic_xs + xp) * cpp; if(alpha) { diff --git a/transforms.c b/transforms.c index 69c69cd..fbb4165 100644 --- a/transforms.c +++ b/transforms.c @@ -2,44 +2,45 @@ #include <stdlib.h> #include <assert.h> -unsigned char * simple_resize(unsigned char * orgin,int ox,int oy,int dx,int dy) +unsigned char * simple_resize(unsigned char * orgin, + int ox, int oy, int dx, int dy) { - unsigned char *cr,*p,*l; - int i,j,k,ip; - assert(cr = (unsigned char*) malloc(dx*dy*3)); - l=cr; + unsigned char *cr, *p, *l; + int i, j, k, ip; + assert(cr = (unsigned char*)malloc(dx*dy*3)); + l = cr; - for(j=0;j<dy;j++,l+=dx*3) - { - p=orgin+(j*oy/dy*ox*3); - for(i=0,k=0;i<dx;i++,k+=3) + for(j=0; j<dy; j++, l+=dx*3) { - ip=i*ox/dx*3; - l[k]=p[ip]; - l[k+1]=p[ip+1]; - l[k+2]=p[ip+2]; - } + p = orgin + (j * oy/dy * ox * 3); + for(i=0, k=0; i<dx; i++, k+=3) + { + ip = i * ox/dx * 3; + l[k] = p[ip]; + l[k+1] = p[ip+1]; + l[k+2] = p[ip+2]; + } } - return(cr); + return cr; } -unsigned char * alpha_resize(unsigned char * alpha,int ox,int oy,int dx,int dy) +unsigned char * alpha_resize(unsigned char * alpha, int ox, int oy, int dx, int dy) { unsigned char *cr,*p,*l; int i,j,k; - cr=(unsigned char*) malloc(dx*dy); l=cr; + assert(cr = (unsigned char*)malloc(dx*dy)); + l = cr; - for(j=0;j<dy;j++,l+=dx) + for(j=0; j<dy; j++,l+=dx) { - p = alpha+(j*oy/dy*ox); - for(i=0,k=0;i<dx;i++) - l[k++]=p[i*ox/dx]; + p = alpha + (j * oy/dy * ox); + for(i=0,k=0; i<dx; i++) + l[k++] = p[i*ox/dx]; } - - return(cr); + return cr; } -unsigned char * color_average_resize(unsigned char * orgin,int ox,int oy,int dx,int dy) +unsigned char * color_average_resize(unsigned char * orgin, int ox, int oy, int dx, int dy) { unsigned char *cr,*p,*q; int i,j,k,l,xa,xb,ya,yb; @@ -48,24 +49,24 @@ unsigned char * color_average_resize(unsigned char * orgin,int ox,int oy,int dx, for(j=0;j<dy;j++) { - for(i=0;i<dx;i++,p+=3) - { - xa=i*ox/dx; - ya=j*oy/dy; - xb=(i+1)*ox/dx; if(xb>=ox) xb=ox-1; - yb=(j+1)*oy/dy; if(yb>=oy) yb=oy-1; - for(l=ya,r=0,g=0,b=0,sq=0;l<=yb;l++) + for(i=0;i<dx;i++,p+=3) { - q=orgin+((l*ox+xa)*3); - for(k=xa;k<=xb;k++,q+=3,sq++) - { - r+=q[0]; g+=q[1]; b+=q[2]; - } + xa=i*ox/dx; + ya=j*oy/dy; + xb=(i+1)*ox/dx; if(xb>=ox) xb=ox-1; + yb=(j+1)*oy/dy; if(yb>=oy) yb=oy-1; + for(l=ya,r=0,g=0,b=0,sq=0;l<=yb;l++) + { + q=orgin+((l*ox+xa)*3); + for(k=xa;k<=xb;k++,q+=3,sq++) + { + r+=q[0]; g+=q[1]; b+=q[2]; + } + } + p[0]=r/sq; p[1]=g/sq; p[2]=b/sq; } - p[0]=r/sq; p[1]=g/sq; p[2]=b/sq; - } } - return(cr); + return cr; } unsigned char * rotate(unsigned char *i, int ox, int oy, int rot) @@ -115,7 +116,7 @@ unsigned char * rotate(unsigned char *i, int ox, int oy, int rot) } break; } - return(n); + return n; } unsigned char * alpha_rotate(unsigned char *i, int ox, int oy, int rot) @@ -153,6 +154,6 @@ unsigned char * alpha_rotate(unsigned char *i, int ox, int oy, int rot) } break; } - return(n); + return n; } |