From: Cristy Date: Sun, 14 Oct 2018 17:38:40 +0000 (-0400) Subject: ... X-Git-Tag: 7.0.8-13~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e4e290eb45e35d7134dd8423e87c02aff41967a3;p=imagemagick ... --- diff --git a/Magick++/lib/Magick++/Include.h b/Magick++/lib/Magick++/Include.h index 515b19c3f..6bf79af71 100644 --- a/Magick++/lib/Magick++/Include.h +++ b/Magick++/lib/Magick++/Include.h @@ -500,6 +500,7 @@ namespace Magick // Compression algorithms using MagickCore::CompressionType; using MagickCore::UndefinedCompression; + using MagickCore::NoCompression; using MagickCore::B44ACompression; using MagickCore::B44Compression; using MagickCore::BZipCompression; @@ -515,12 +516,13 @@ namespace Magick using MagickCore::LosslessJPEGCompression; using MagickCore::LZMACompression; using MagickCore::LZWCompression; - using MagickCore::NoCompression; using MagickCore::PizCompression; using MagickCore::Pxr24Compression; using MagickCore::RLECompression; + using MagickCore::WebPCompression; using MagickCore::ZipCompression; using MagickCore::ZipSCompression; + using MagickCore::ZstdCompression; // Decoration types using MagickCore::DecorationType; diff --git a/MagickCore/compress.h b/MagickCore/compress.h index 647824866..2d4a1735d 100644 --- a/MagickCore/compress.h +++ b/MagickCore/compress.h @@ -46,7 +46,8 @@ typedef enum RLECompression, ZipCompression, ZipSCompression, - ZstdCompression + ZstdCompression, + WebPCompression } CompressionType; typedef struct _Ascii85Info diff --git a/MagickCore/option.c b/MagickCore/option.c index 014cda165..1d7a76d8c 100644 --- a/MagickCore/option.c +++ b/MagickCore/option.c @@ -1241,9 +1241,10 @@ static const OptionInfo { "Pxr24", Pxr24Compression, UndefinedOptionFlag, MagickFalse }, { "RLE", RLECompression, UndefinedOptionFlag, MagickFalse }, { "RunlengthEncoded", RLECompression, UndefinedOptionFlag, MagickFalse }, + { "WebP", WebPCompression, UndefinedOptionFlag, MagickFalse }, { "ZipS", ZipSCompression, UndefinedOptionFlag, MagickFalse }, { "Zip", ZipCompression, UndefinedOptionFlag, MagickFalse }, - { "ZSTD", ZstdCompression, UndefinedOptionFlag, MagickFalse }, + { "Zstd", ZstdCompression, UndefinedOptionFlag, MagickFalse }, { (char *) NULL, UndefinedCompression, UndefinedOptionFlag, MagickFalse } }, DataTypeOptions[] = diff --git a/Makefile.in b/Makefile.in index 289ed6467..829303184 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1455,6 +1455,7 @@ coders_ps_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(coders_ps_la_LDFLAGS) $(LDFLAGS) -o $@ @WITH_MODULES_TRUE@am_coders_ps_la_rpath = -rpath $(codersdir) coders_ps2_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) @@ -1465,6 +1466,7 @@ coders_ps2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(coders_ps2_la_LDFLAGS) $(LDFLAGS) -o $@ @WITH_MODULES_TRUE@am_coders_ps2_la_rpath = -rpath $(codersdir) coders_ps3_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) @@ -1601,6 +1603,7 @@ coders_thumbnail_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(LDFLAGS) -o $@ @WITH_MODULES_TRUE@am_coders_thumbnail_la_rpath = -rpath $(codersdir) coders_tiff_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) @@ -4014,13 +4017,13 @@ coders_ps_la_LIBADD = $(MAGICKCORE_LIBS) $(GS_LIBS) $(MATH_LIBS) coders_ps2_la_SOURCES = coders/ps2.c coders_ps2_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_ps2_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_ps2_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(MATH_LIBS) +coders_ps2_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # PS3 coder module coders_ps3_la_SOURCES = coders/ps3.c coders_ps3_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_ps3_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_ps3_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(MATH_LIBS) +coders_ps3_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # PSD coder module coders_psd_la_SOURCES = coders/psd.c coders/psd-private.h @@ -4128,7 +4131,7 @@ coders_thumbnail_la_LIBADD = $(MAGICKCORE_LIBS) coders_tiff_la_SOURCES = coders/tiff.c coders/psd.c coders/psd-private.h coders_tiff_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_tiff_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_tiff_la_LIBADD = $(MAGICKCORE_LIBS) $(TIFF_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(MATH_LIBS) +coders_tiff_la_LIBADD = $(MAGICKCORE_LIBS) $(TIFF_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # TILE coder module coders_tile_la_SOURCES = coders/tile.c diff --git a/coders/Makefile.am b/coders/Makefile.am index 9ea8394d7..116c661a2 100644 --- a/coders/Makefile.am +++ b/coders/Makefile.am @@ -984,13 +984,13 @@ coders_ps_la_LIBADD = $(MAGICKCORE_LIBS) $(GS_LIBS) $(MATH_LIBS) coders_ps2_la_SOURCES = coders/ps2.c coders_ps2_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_ps2_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_ps2_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(MATH_LIBS) +coders_ps2_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # PS3 coder module coders_ps3_la_SOURCES = coders/ps3.c coders_ps3_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_ps3_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_ps3_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(MATH_LIBS) +coders_ps3_la_LIBADD = $(MAGICKCORE_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # PSD coder module coders_psd_la_SOURCES = coders/psd.c coders/psd-private.h @@ -1098,7 +1098,7 @@ coders_thumbnail_la_LIBADD = $(MAGICKCORE_LIBS) coders_tiff_la_SOURCES = coders/tiff.c coders/psd.c coders/psd-private.h coders_tiff_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS) coders_tiff_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_tiff_la_LIBADD = $(MAGICKCORE_LIBS) $(TIFF_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(MATH_LIBS) +coders_tiff_la_LIBADD = $(MAGICKCORE_LIBS) $(TIFF_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(LZMA_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) $(WEBPMUX_LIBS) $(WEBP_LIBS) $(MATH_LIBS) # TILE coder module coders_tile_la_SOURCES = coders/tile.c diff --git a/coders/tiff.c b/coders/tiff.c index 7a87bd6ea..92de216e1 100644 --- a/coders/tiff.c +++ b/coders/tiff.c @@ -1583,6 +1583,9 @@ RestoreMSCWarning case COMPRESSION_LZW: image->compression=LZWCompression; break; case COMPRESSION_DEFLATE: image->compression=ZipCompression; break; case COMPRESSION_ADOBE_DEFLATE: image->compression=ZipCompression; break; +#if defined(COMPRESSION_WEBP) + case COMPRESSION_WEBP: image->compression=WebPCompression; break; +#endif #if defined(COMPRESSION_ZSTD) case COMPRESSION_ZSTD: image->compression=ZstdCompression; break; #endif @@ -3590,6 +3593,13 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, compress_tag=COMPRESSION_PACKBITS; break; } +#if defined(COMPRESSION_WEBP) + case ZstdCompression: + { + compress_tag=COMPRESSION_WEBP; + break; + } +#endif case ZipCompression: { compress_tag=COMPRESSION_ADOBE_DEFLATE; @@ -3640,9 +3650,6 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, #endif #if defined(ZIP_SUPPORT) case COMPRESSION_ADOBE_DEFLATE: -#endif -#if defined(ZSTD_SUPPORT) - case COMPRESSION_ZSTD: #endif case COMPRESSION_NONE: break; @@ -3899,6 +3906,21 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, predictor=PREDICTOR_HORIZONTAL; break; } +#if defined(WEBP_SUPPORT) && defined(COMPRESSION_WEBP) + case COMPRESSION_WEBP: + { + (void) TIFFGetFieldDefaulted(tiff,TIFFTAG_BITSPERSAMPLE, + &bits_per_sample); + if (((photometric == PHOTOMETRIC_RGB) || + (photometric == PHOTOMETRIC_MINISBLACK)) && + ((bits_per_sample == 8) || (bits_per_sample == 16))) + predictor=PREDICTOR_HORIZONTAL; + (void) TIFFSetField(tiff,TIFFTAG_WEBP_LEVEL,image_info->quality); + if (image_info->quality >= 100) + (void) TIFFSetField(tiff,TIFFTAG_WEBP_LOSSLESS,1); + break; + } +#endif #if defined(ZSTD_SUPPORT) && defined(COMPRESSION_ZSTD) case COMPRESSION_ZSTD: { diff --git a/configure b/configure index 8fe3c7665..504582ddd 100755 --- a/configure +++ b/configure @@ -4569,7 +4569,7 @@ MAGICK_PATCHLEVEL_VERSION=13 MAGICK_VERSION=7.0.8-13 -MAGICK_GIT_REVISION=14922:6401c7439:20181014 +MAGICK_GIT_REVISION=14923:08170e637:20181014 # Substitute library versioning