// Compression algorithms
using MagickCore::CompressionType;
using MagickCore::UndefinedCompression;
+ using MagickCore::NoCompression;
using MagickCore::B44ACompression;
using MagickCore::B44Compression;
using MagickCore::BZipCompression;
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;
RLECompression,
ZipCompression,
ZipSCompression,
- ZstdCompression
+ ZstdCompression,
+ WebPCompression
} CompressionType;
typedef struct _Ascii85Info
{ "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[] =
$(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)
$(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)
$(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)
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
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
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
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
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
compress_tag=COMPRESSION_PACKBITS;
break;
}
+#if defined(COMPRESSION_WEBP)
+ case ZstdCompression:
+ {
+ compress_tag=COMPRESSION_WEBP;
+ break;
+ }
+#endif
case ZipCompression:
{
compress_tag=COMPRESSION_ADOBE_DEFLATE;
#endif
#if defined(ZIP_SUPPORT)
case COMPRESSION_ADOBE_DEFLATE:
-#endif
-#if defined(ZSTD_SUPPORT)
- case COMPRESSION_ZSTD:
#endif
case COMPRESSION_NONE:
break;
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:
{
MAGICK_VERSION=7.0.8-13
-MAGICK_GIT_REVISION=14922:6401c7439:20181014
+MAGICK_GIT_REVISION=14923:08170e637:20181014
# Substitute library versioning