From 5aac07f221cbae9cb07e259b1f59e02803585ffb Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 18 Jan 2017 19:26:37 +0100 Subject: [PATCH] #307 PIXTIFF ZIP compression 50013 support (cherry picked from commit 9199083) --- .../twelvemonkeys/imageio/plugins/tiff/TIFFCustom.java | 4 ++++ .../imageio/plugins/tiff/TIFFImageReader.java | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFCustom.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFCustom.java index d62652a2..3a93895a 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFCustom.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFCustom.java @@ -52,6 +52,10 @@ interface TIFFCustom { int COMPRESSION_JPEG2000 = 34712; // TODO: Aperio SVS JPEG2000: 33003 (YCbCr) and 33005 (RGB), see http://openslide.org/formats/aperio/ + // PIXTIFF aka DELL PixTools, see https://community.emc.com/message/515755#515755 + /** PIXTIFF proprietary ZIP compression, identical to Deflate/ZLib. */ + int COMPRESSION_PIXTIFF_ZIP = 50013; + int PHOTOMETRIC_LOGL = 32844; int PHOTOMETRIC_LOGLUV = 32845; diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java index f1236f30..87e21fbc 100755 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java @@ -815,20 +815,20 @@ public class TIFFImageReader extends ImageReaderBase { Boolean needsCSConversion = null; switch (compression) { - // TIFF Baseline case TIFFBaseline.COMPRESSION_NONE: // No compression - case TIFFExtension.COMPRESSION_DEFLATE: - // 'PKZIP-style' Deflate case TIFFBaseline.COMPRESSION_PACKBITS: // PackBits case TIFFExtension.COMPRESSION_LZW: // LZW case TIFFExtension.COMPRESSION_ZLIB: // 'Adobe-style' Deflate + case TIFFExtension.COMPRESSION_DEFLATE: + // 'PKZIP-style' Deflate + case TIFFCustom.COMPRESSION_PIXTIFF_ZIP: + // PIXTIFF proprietary 'ZIP' compression, same as Deflate case TIFFBaseline.COMPRESSION_CCITT_MODIFIED_HUFFMAN_RLE: // CCITT modified Huffman - // Additionally, the specification defines these values as part of the TIFF extensions: case TIFFExtension.COMPRESSION_CCITT_T4: // CCITT Group 3 fax encoding case TIFFExtension.COMPRESSION_CCITT_T6: @@ -1929,6 +1929,7 @@ public class TIFFImageReader extends ImageReaderBase { case TIFFExtension.COMPRESSION_ZLIB: case TIFFExtension.COMPRESSION_DEFLATE: // TIFF specification, supplement 2 says ZLIB (8) and DEFLATE (32946) algorithms are identical + case TIFFCustom.COMPRESSION_PIXTIFF_ZIP: return new InflaterInputStream(stream, new Inflater(), 1024); case TIFFBaseline.COMPRESSION_CCITT_MODIFIED_HUFFMAN_RLE: case TIFFExtension.COMPRESSION_CCITT_T4: