X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswfbits.c;h=cef0c2741580355c80f64e97ac5a2388063bb4db;hb=27a2ee6e915f44184e530dbc70a8406bfb80f3b6;hp=d6e59fc0dc6b4d9729f08f080b12851432492171;hpb=7f599a74eb9265eb57328cde4826e0f5d5c8bbd9;p=swftools.git diff --git a/lib/modules/swfbits.c b/lib/modules/swfbits.c index d6e59fc..cef0c27 100644 --- a/lib/modules/swfbits.c +++ b/lib/modules/swfbits.c @@ -110,6 +110,24 @@ int swf_SetJPEGBitsFinish(JPEGBITS * jpegbits) return 0; } +void swf_SetJPEGBits2(TAG * tag,U16 width,U16 height,RGBA* bitmap, int quality) +{ + JPEGBITS* jpeg; + int y; + jpeg = swf_SetJPEGBitsStart(tag,width,height,quality); + for (y=0;y=0;x--) { + js[x*3] = js[x*3+1] = js[x*3+2] = js[x]; + } + swf_SetJPEGBitsLines(out,(U8**)&js,1); + } + } + else if(cinfo.out_color_space == JCS_RGB) + { + for (y=0;y>8); + js[x*3+1] = y - ((88*(u-128)-183*(v-128))>>8); + js[x*3+2] = y + ((455 * (u-128))>>8); + } + } + } + else if(cinfo.out_color_space == JCS_CMYK) + { + for (y=0;yRGB conversion routines I found in the + web. (which all produced garbage) + I'm happily accepting suggestions. (mk)*/ + for(x=0;x>8); + js[x*3+1] = white - ((js[x*4+1]*white)>>8); + js[x*3+2] = white - ((js[x*4+2]*white)>>8); + } + swf_SetJPEGBitsLines(out,(U8**)&js,1); + } } } @@ -150,7 +220,7 @@ int swf_SetJPEGBits(TAG * t,char * fname,int quality) // Lossless compression texture based on zlib -#ifdef _ZLIB_INCLUDED_ +#ifdef HAVE_ZLIB int RFXSWF_deflate_wraper(TAG * t,z_stream * zs,U8 * data,boolean finish) { while (1) @@ -200,7 +270,7 @@ int swf_SetLosslessBits(TAG * t,U16 width,U16 height,void * bitmap,U8 bitmap_fla swf_SetU16(t,width); swf_SetU16(t,height); - if (data=malloc(OUTBUFFER_SIZE)) + if ((data=malloc(OUTBUFFER_SIZE))) { z_stream zs; memset(&zs,0x00,sizeof(z_stream)); @@ -246,7 +316,7 @@ int swf_SetLosslessBitsIndexed(TAG * t,U16 width,U16 height,U8 * bitmap,RGBA * p swf_SetU16(t,height); swf_SetU8(t,ncolors-1); // number of pal entries - if (data=malloc(OUTBUFFER_SIZE)) + if ((data=malloc(OUTBUFFER_SIZE))) { z_stream zs; memset(&zs,0x00,sizeof(z_stream)); @@ -255,7 +325,7 @@ int swf_SetLosslessBitsIndexed(TAG * t,U16 width,U16 height,U8 * bitmap,RGBA * p if (deflateInit(&zs,Z_DEFAULT_COMPRESSION)==Z_OK) { U8 * zpal; // compress palette - if (zpal = malloc(ncolors*4)) + if ((zpal = malloc(ncolors*4))) { U8 * pp = zpal; int i; @@ -322,7 +392,7 @@ int swf_SetLosslessBitsGrayscale(TAG * t,U16 width,U16 height,U8 * bitmap) } -#endif // _ZLIB_INCLUDED_ +#endif // HAVE_ZLIB #undef OUTBUFFER_SIZE