You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/09/27 14:54:39 UTC

[commons-imaging] branch master updated: Issue-360: Add more TIFF compression entries to ImageInfo

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-imaging.git


The following commit(s) were added to refs/heads/master by this push:
     new adba5dca Issue-360: Add more TIFF compression entries to ImageInfo
     new 57151c5f Merge pull request #311 from gwlucastrig/Issue-360
adba5dca is described below

commit adba5dcad7aa258328207162a395abca3b6bc933
Author: gwlucastrig <co...@gmail.com>
AuthorDate: Wed Aug 16 20:11:17 2023 -0400

    Issue-360: Add more TIFF compression entries to ImageInfo
---
 src/main/java/org/apache/commons/imaging/ImageInfo.java        |  4 +++-
 .../apache/commons/imaging/formats/tiff/TiffImageParser.java   | 10 ++++++++++
 .../commons/imaging/formats/tiff/constants/TiffConstants.java  |  3 ++-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/commons/imaging/ImageInfo.java b/src/main/java/org/apache/commons/imaging/ImageInfo.java
index cc13f604..15d38520 100644
--- a/src/main/java/org/apache/commons/imaging/ImageInfo.java
+++ b/src/main/java/org/apache/commons/imaging/ImageInfo.java
@@ -57,6 +57,7 @@ public class ImageInfo {
         NONE("None"),
         LZW("LZW"),
         PACKBITS("PackBits"),
+        JPEG_TIFF_OBSOLETE("JPEG Obsolete (TIFF only)"),
         JPEG("JPEG"),
         RLE("RLE: Run-Length Encoding"),
         ADAPTIVE_RLE("Adaptive RLE"),
@@ -64,7 +65,8 @@ public class ImageInfo {
         PNG_FILTER("PNG Filter"),
         CCITT_GROUP_3("CCITT Group 3 1-Dimensional Modified Huffman run-length encoding."),
         CCITT_GROUP_4("CCITT Group 4"),
-        CCITT_1D("CCITT 1D");
+        CCITT_1D("CCITT 1D"),
+        DEFLATE("DEFLATE (ZIP)");
 
         private final String description;
 
diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
index 17ed6eca..6ab1f2e0 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
@@ -49,6 +49,9 @@ import org.apache.commons.imaging.common.ImageMetadata;
 import org.apache.commons.imaging.common.XmpEmbeddable;
 import org.apache.commons.imaging.common.XmpImagingParameters;
 import org.apache.commons.imaging.formats.tiff.TiffDirectory.ImageDataElement;
+import static org.apache.commons.imaging.formats.tiff.constants.TiffConstants.TIFF_COMPRESSION_DEFLATE_ADOBE;
+import static org.apache.commons.imaging.formats.tiff.constants.TiffConstants.TIFF_COMPRESSION_DEFLATE_PKZIP;
+import static org.apache.commons.imaging.formats.tiff.constants.TiffConstants.TIFF_COMPRESSION_JPEG_OBSOLETE;
 import org.apache.commons.imaging.formats.tiff.constants.TiffEpTagConstants;
 import org.apache.commons.imaging.formats.tiff.constants.TiffPlanarConfiguration;
 import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
@@ -558,6 +561,9 @@ public class TiffImageParser extends ImageParser<TiffImagingParameters> implemen
         case TIFF_COMPRESSION_LZW:
             compressionAlgorithm = ImageInfo.CompressionAlgorithm.LZW;
             break;
+        case TIFF_COMPRESSION_JPEG_OBSOLETE:
+            compressionAlgorithm = ImageInfo.CompressionAlgorithm.JPEG_TIFF_OBSOLETE;
+            break;
         case TIFF_COMPRESSION_JPEG:
             compressionAlgorithm = ImageInfo.CompressionAlgorithm.JPEG;
             break;
@@ -567,6 +573,10 @@ public class TiffImageParser extends ImageParser<TiffImagingParameters> implemen
         case TIFF_COMPRESSION_PACKBITS:
             compressionAlgorithm = ImageInfo.CompressionAlgorithm.PACKBITS;
             break;
+       case TIFF_COMPRESSION_DEFLATE_PKZIP:
+       case TIFF_COMPRESSION_DEFLATE_ADOBE:
+          compressionAlgorithm = ImageInfo.CompressionAlgorithm.DEFLATE;
+          break;
         default:
             compressionAlgorithm = ImageInfo.CompressionAlgorithm.UNKNOWN;
             break;
diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffConstants.java b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffConstants.java
index 16ca42ff..2440960f 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffConstants.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffConstants.java
@@ -38,7 +38,8 @@ public final class TiffConstants {
     public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
     public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
     public static final int TIFF_COMPRESSION_LZW = 5;
-    public static final int TIFF_COMPRESSION_JPEG = 6;
+    public static final int TIFF_COMPRESSION_JPEG_OBSOLETE = 6;
+    public static final int TIFF_COMPRESSION_JPEG = 7;
     public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
     public static final int TIFF_COMPRESSION_PACKBITS = 32773;
     public static final int TIFF_COMPRESSION_DEFLATE_PKZIP = 32946;