- jpeg_destroy_decompress(&i->cinfo);
- IMAGE_ERROR(io->context, IMAGE_ERROR_INVALID_PIXEL_FORMAT, "Unsupported color space.");
- return 0;
+ switch (i->cinfo.jpeg_color_space)
+ {
+ case JCS_CMYK:
+ read_flags = (read_flags & ~IMAGE_COLOR_SPACE & IMAGE_CHANNELS_FORMAT) | COLOR_SPACE_CMYK;
+ i->cinfo.out_color_space = JCS_CMYK;
+ break;
+ case JCS_YCCK:
+ read_flags = (read_flags & ~IMAGE_COLOR_SPACE & IMAGE_CHANNELS_FORMAT) | COLOR_SPACE_YCCK;
+ i->cinfo.out_color_space = JCS_YCCK;
+ break;
+ default:
+ read_flags = (read_flags & ~IMAGE_COLOR_SPACE & IMAGE_CHANNELS_FORMAT) | COLOR_SPACE_RGB;
+ i->cinfo.out_color_space = JCS_RGB;
+ break;
+ }
+ break;