From 774da0eb175e36c6b8a563f3a7af82e6640b19c9 Mon Sep 17 00:00:00 2001 From: kramm Date: Wed, 21 Nov 2001 17:21:04 +0000 Subject: [PATCH] some versions of jpeglib don't support color conversion. in this case, the conversion is now done here. --- lib/modules/swfbits.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/modules/swfbits.c b/lib/modules/swfbits.c index d6e59fc..1b311f8 100644 --- a/lib/modules/swfbits.c +++ b/lib/modules/swfbits.c @@ -124,18 +124,33 @@ int swf_SetJPEGBits(TAG * t,char * fname,int quality) jpeg_stdio_src(&cinfo,f); jpeg_read_header(&cinfo, TRUE); - cinfo.out_color_space = JCS_RGB; //automatically convert grayscale images + 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); 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 { + for (y=0;y