From: cristy Date: Sat, 18 May 2013 01:13:56 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~3669 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b8ed29f04617e0ef630a7765d4476390b316643;p=imagemagick --- diff --git a/coders/jpeg.c b/coders/jpeg.c index c74eaaad1..ad69796ed 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -2024,6 +2024,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, error_manager; int + colorspace, quality; JSAMPLE @@ -2333,17 +2334,27 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, } } #endif - sampling_factor=(const char *) NULL; - value=GetImageOption(image_info,"jpeg:sampling-factor"); + colorspace=jpeg_info.in_color_space; + value=GetImageOption(image_info,"jpeg:colorspace"); if (value == (char *) NULL) - value=GetImageProperty(image,"jpeg:sampling-factor",exception); + value=GetImageProperty(image,"jpeg:colorspace",exception); if (value != (char *) NULL) + colorspace=StringToInteger(value); + sampling_factor=(const char *) NULL; + if (colorspace == jpeg_info.in_color_space) { - sampling_factor=value; - if (image->debug != MagickFalse) - (void) LogMagickEvent(CoderEvent,GetMagickModule(), - " Input sampling-factors=%s",sampling_factor); + value=GetImageOption(image_info,"jpeg:sampling-factor"); + if (value == (char *) NULL) + value=GetImageProperty(image,"jpeg:sampling-factor",exception); + if (value != (char *) NULL) + { + sampling_factor=value; + if (image->debug != MagickFalse) + (void) LogMagickEvent(CoderEvent,GetMagickModule(), + " Input sampling-factors=%s",sampling_factor); + } } + value=GetImageOption(image_info,"jpeg:sampling-factor"); if (image_info->sampling_factor != (char *) NULL) sampling_factor=image_info->sampling_factor; if (sampling_factor == (const char *) NULL) @@ -2392,12 +2403,6 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, jpeg_info.comp_info[i].v_samp_factor=1; } } - if (jpeg_info.input_components == 1) - for (i=0; i < MAX_COMPONENTS; i++) - { - jpeg_info.comp_info[i].h_samp_factor=1; - jpeg_info.comp_info[i].v_samp_factor=1; - } option=GetImageOption(image_info,"jpeg:q-table"); if (option != (const char *) NULL) {