From 29dd80efe8d7489d5f689a8a723454e684f92a8f Mon Sep 17 00:00:00 2001 From: dirk Date: Thu, 31 Oct 2013 23:11:11 +0000 Subject: [PATCH] Use image_info->quality/compression instead of image->quality/compression. --- coders/jpeg.c | 42 +++++++++++++++++++++--------------------- coders/miff.c | 2 +- coders/pcl.c | 13 ++++++++++--- coders/pdf.c | 2 +- coders/png.c | 4 ++-- coders/ps2.c | 2 +- coders/ps3.c | 2 +- coders/tiff.c | 4 +--- 8 files changed, 38 insertions(+), 33 deletions(-) diff --git a/coders/jpeg.c b/coders/jpeg.c index 2a018eac4..748f0f2fe 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -39,7 +39,8 @@ % % */ - + + /* Include declarations. */ @@ -92,7 +93,8 @@ #include "jpeglib.h" #include "jerror.h" #endif - + + /* Define declarations. */ @@ -101,7 +103,8 @@ #define IPTC_MARKER (JPEG_APP0+13) #define XML_MARKER (JPEG_APP0+1) #define MaxBufferExtent 16384 - + + /* Typedef declarations. */ @@ -168,7 +171,8 @@ typedef struct _QuantizationTable unsigned int *levels; } QuantizationTable; - + + /* Forward declarations. */ @@ -176,7 +180,8 @@ typedef struct _QuantizationTable static MagickBooleanType WriteJPEGImage(const ImageInfo *,Image *,ExceptionInfo *); #endif - + + /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -210,7 +215,8 @@ static MagickBooleanType IsJPEG(const unsigned char *magick,const size_t length) return(MagickTrue); return(MagickFalse); } - + + #if defined(MAGICKCORE_JPEG_DELEGATE) /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -777,16 +783,13 @@ static void JPEGSetImageQuality(struct jpeg_decompress_struct *jpeg_info, #if defined(D_PROGRESSIVE_SUPPORTED) if (image->compression == LosslessJPEGCompression) { - SetImageProperty(image,"jpeg:quality","100",exception); + image->quality=100; (void) LogMagickEvent(CoderEvent,GetMagickModule(), "Quality: 100 (lossless)"); } else #endif { - char - quality[4]; - ssize_t j, qvalue, @@ -848,10 +851,7 @@ static void JPEGSetImageQuality(struct jpeg_decompress_struct *jpeg_info, if ((qvalue < hash[i]) && (sum < sums[i])) continue; if (((qvalue <= hash[i]) && (sum <= sums[i])) || (i >= 50)) - { - FormatLocaleString(quality,4,"%.20g",(double) i+1); - SetImageProperty(image,"jpeg:quality",quality,exception); - } + image->quality=(size_t) i+1; if (image->debug != MagickFalse) (void) LogMagickEvent(CoderEvent,GetMagickModule(), "Quality: %.20g (%s)",(double) i+1,(qvalue <= hash[i]) && @@ -900,10 +900,7 @@ static void JPEGSetImageQuality(struct jpeg_decompress_struct *jpeg_info, if ((qvalue < hash[i]) && (sum < sums[i])) continue; if (((qvalue <= hash[i]) && (sum <= sums[i])) || (i >= 50)) - { - FormatLocaleString(quality,4,"%.20g",(double) i+1); - SetImageProperty(image,"jpeg:quality",quality,exception); - } + image->quality=(size_t)i+1; if (image->debug != MagickFalse) (void) LogMagickEvent(CoderEvent,GetMagickModule(), "Quality: %.20g (%s)",(double) i+1,(qvalue <= hash[i]) && @@ -1450,7 +1447,8 @@ static Image *ReadJPEGImage(const ImageInfo *image_info, return(GetFirstImageInList(image)); } #endif - + + /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -1531,7 +1529,8 @@ ModuleExport size_t RegisterJPEGImage(void) (void) RegisterMagickInfo(entry); return(MagickImageCoderSignature); } - + + /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -1557,7 +1556,8 @@ ModuleExport void UnregisterJPEGImage(void) (void) UnregisterMagickInfo("JPEG"); (void) UnregisterMagickInfo("JPG"); } - + + #if defined(MAGICKCORE_JPEG_DELEGATE) /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/coders/miff.c b/coders/miff.c index 1ff33c019..b71879640 100644 --- a/coders/miff.c +++ b/coders/miff.c @@ -1978,7 +1978,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, if (status == MagickFalse) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); } - compression=image->compression; + compression=UndefinedCompression; if (image_info->compression != UndefinedCompression) compression=image_info->compression; switch (compression) diff --git a/coders/pcl.c b/coders/pcl.c index 18e39c230..eae3699ea 100644 --- a/coders/pcl.c +++ b/coders/pcl.c @@ -665,6 +665,9 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, char buffer[MaxTextExtent]; + CompressionType + compression; + const char *option; @@ -800,7 +803,11 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, (void) ResetMagickMemory(pixels,0,(length+1)*sizeof(*pixels)); compress_pixels=(unsigned char *) NULL; previous_pixels=(unsigned char *) NULL; - switch (image->compression) + + compression=UndefinedCompression; + if (image_info->compression != UndefinedCompression) + compression=image_info->compression; + switch (compression) { case NoCompression: { @@ -915,7 +922,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, break; } } - switch (image->compression) + switch (compression) { case NoCompression: { @@ -952,7 +959,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, } } (void) WriteBlobString(image,"\033*rB"); /* end graphics */ - switch (image->compression) + switch (compression) { case NoCompression: break; diff --git a/coders/pdf.c b/coders/pdf.c index e777315c6..a4692f077 100644 --- a/coders/pdf.c +++ b/coders/pdf.c @@ -1212,7 +1212,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image, scene=0; do { - compression=image->compression; + compression=UndefinedCompression; if (image_info->compression != UndefinedCompression) compression=image_info->compression; switch (compression) diff --git a/coders/png.c b/coders/png.c index 22d39baa3..9645907bf 100644 --- a/coders/png.c +++ b/coders/png.c @@ -10387,8 +10387,8 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info, */ - quality=image->quality == UndefinedCompressionQuality ? 75UL : - image->quality; + quality=image_info->quality == UndefinedCompressionQuality ? 75UL : + image_info->quality; if (quality <= 9) { diff --git a/coders/ps2.c b/coders/ps2.c index f6dd74f6a..6ea1dc55c 100644 --- a/coders/ps2.c +++ b/coders/ps2.c @@ -469,7 +469,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image, status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); - compression=image->compression; + compression=UndefinedCompression; if (image_info->compression != UndefinedCompression) compression=image_info->compression; switch (compression) diff --git a/coders/ps3.c b/coders/ps3.c index 97d7e8953..96cf2acf9 100644 --- a/coders/ps3.c +++ b/coders/ps3.c @@ -885,7 +885,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image, status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(MagickFalse); - compression=image->compression; + compression=UndefinedCompression; if (image_info->compression != UndefinedCompression) compression=image_info->compression; switch (compression) diff --git a/coders/tiff.c b/coders/tiff.c index 658b127c0..561eb3128 100644 --- a/coders/tiff.c +++ b/coders/tiff.c @@ -2782,7 +2782,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, if ((image_info->type != UndefinedType) && (image_info->type != OptimizeType)) (void) SetImageType(image,image_info->type,exception); - compression=image->compression; + compression=UndefinedCompression; if (image_info->compression != UndefinedCompression) compression=image_info->compression; switch (compression) @@ -3107,8 +3107,6 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, flags; rows_per_strip+=(16-(rows_per_strip % 16)); - if (image->quality != 0) - (void) TIFFSetField(tiff,TIFFTAG_JPEGQUALITY,image->quality); if (image_info->quality != UndefinedCompressionQuality) (void) TIFFSetField(tiff,TIFFTAG_JPEGQUALITY,image_info->quality); (void) TIFFSetField(tiff,TIFFTAG_JPEGCOLORMODE,JPEGCOLORMODE_RAW); -- 2.40.0