X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=lib%2Fmodules%2Fswfbits.c;h=0fb7c2259165e55ab9292b772fa8fa6985917850;hb=e029c9c4c2ee6b4d944a7c46bd39d35d4aa56213;hp=4349b965e3b428c40c8962429aaddfafc4f9cb85;hpb=e448c7a56df8e289c9dbd5b8d87753addd541091;p=swftools.git diff --git a/lib/modules/swfbits.c b/lib/modules/swfbits.c index 4349b96..0fb7c22 100644 --- a/lib/modules/swfbits.c +++ b/lib/modules/swfbits.c @@ -121,7 +121,6 @@ int swf_SetJPEGBits(TAG * t,char * fname,int quality) jpeg_create_decompress(&cinfo); if ((f=fopen(fname,"rb"))==NULL) return -1; - jpeg_stdio_src(&cinfo,f); jpeg_read_header(&cinfo, TRUE); @@ -130,12 +129,56 @@ int swf_SetJPEGBits(TAG * t,char * fname,int quality) out = swf_SetJPEGBitsStart(t,cinfo.output_width,cinfo.output_height,quality); scanline = (U8*)malloc(4*cinfo.output_width); - if (scanline) + if (scanline) { int y; U8 * js = scanline; - 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;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); + } } }