%
%
*/
-\f
+
+
/*
Include declarations.
*/
#include "jpeglib.h"
#include "jerror.h"
#endif
-\f
+
+
/*
Define declarations.
*/
#define IPTC_MARKER (JPEG_APP0+13)
#define XML_MARKER (JPEG_APP0+1)
#define MaxBufferExtent 16384
-\f
+
+
/*
Typedef declarations.
*/
unsigned int
*levels;
} QuantizationTable;
-\f
+
+
/*
Forward declarations.
*/
static MagickBooleanType
WriteJPEGImage(const ImageInfo *,Image *,ExceptionInfo *);
#endif
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
return(MagickTrue);
return(MagickFalse);
}
-\f
+
+
#if defined(MAGICKCORE_JPEG_DELEGATE)
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#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,
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]) &&
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]) &&
return(GetFirstImageInList(image));
}
#endif
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
(void) RegisterMagickInfo(entry);
return(MagickImageCoderSignature);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
(void) UnregisterMagickInfo("JPEG");
(void) UnregisterMagickInfo("JPG");
}
-\f
+
+
#if defined(MAGICKCORE_JPEG_DELEGATE)
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (status == MagickFalse)
ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
}
- compression=image->compression;
+ compression=UndefinedCompression;
if (image_info->compression != UndefinedCompression)
compression=image_info->compression;
switch (compression)
char
buffer[MaxTextExtent];
+ CompressionType
+ compression;
+
const char
*option;
(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:
{
break;
}
}
- switch (image->compression)
+ switch (compression)
{
case NoCompression:
{
}
}
(void) WriteBlobString(image,"\033*rB"); /* end graphics */
- switch (image->compression)
+ switch (compression)
{
case NoCompression:
break;
scene=0;
do
{
- compression=image->compression;
+ compression=UndefinedCompression;
if (image_info->compression != UndefinedCompression)
compression=image_info->compression;
switch (compression)
*/
- quality=image->quality == UndefinedCompressionQuality ? 75UL :
- image->quality;
+ quality=image_info->quality == UndefinedCompressionQuality ? 75UL :
+ image_info->quality;
if (quality <= 9)
{
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)
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)
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)
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);