From e029c9c4c2ee6b4d944a7c46bd39d35d4aa56213 Mon Sep 17 00:00:00 2001 From: kramm Date: Wed, 28 Nov 2001 22:23:47 +0000 Subject: [PATCH] * Don't rely on jpeglib to do any conversions anymore. * Implemented CMYK->RGB conversion. --- lib/modules/swfbits.c | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/lib/modules/swfbits.c b/lib/modules/swfbits.c index 1b311f8..0fb7c22 100644 --- a/lib/modules/swfbits.c +++ b/lib/modules/swfbits.c @@ -124,8 +124,6 @@ int swf_SetJPEGBits(TAG * t,char * fname,int quality) jpeg_stdio_src(&cinfo,f); jpeg_read_header(&cinfo, TRUE); - if(JPEG_LIB_VERSION>=62) /* jpeglib Version 6b is required for grayscale-> color conversion */ - cinfo.out_color_space = JCS_RGB; //automatically convert grayscale images jpeg_start_decompress(&cinfo); out = swf_SetJPEGBitsStart(t,cinfo.output_width,cinfo.output_height,quality); @@ -135,8 +133,6 @@ int swf_SetJPEGBits(TAG * t,char * fname,int quality) { int y; U8 * js = scanline; if(cinfo.out_color_space == JCS_GRAYSCALE) { - /* happens only if JPEG_LIB_VERSION above - was too small - let's do the conversion ourselves */ 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); + } + } } swf_SetJPEGBitsFinish(out); -- 1.7.10.4