GraphicsMagick: WriteTIFFImage(): Allow use of PHOTOMETRIC_MINIS...

GraphicsMagick Commits <[email protected]> Mon, 16 Oct 2023 19:53:20 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.9093.1697504011.1462.graphicsmagick-commit@lists.sourceforge.net>
changeset 61280c3dc87b in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=61280c3dc87b
summary: WriteTIFFImage(): Allow use of PHOTOMETRIC_MINISBLACK for Group3 and Group4 compression.

diffstat:

 ChangeLog                              |  10 ++++++++++
 VisualMagick/installer/inc/version.isx |   4 ++--
 coders/tiff.c                          |  18 +++++-------------
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |  12 ++++++++++++
 5 files changed, 31 insertions(+), 17 deletions(-)

diffs (97 lines):

diff -r a6a8699a7b1a -r 61280c3dc87b ChangeLog
--- a/ChangeLog	Sat Oct 14 10:57:24 2023 -0500
+++ b/ChangeLog	Mon Oct 16 19:53:17 2023 -0500
@@ -1,3 +1,13 @@
+2023-10-16  Bob Friesenhahn  <[email protected]>
+
+	* coders/tiff.c (WriteTIFFImage): Remove safe-guards against use
+	of incorrect PHOTOMETRIC_MINISWHITE or PHOTOMETRIC_MINISBLACK
+	photometic for Group3 and Group4 compression.  Other photometrics
+	are rejected when using Group3 or Group4 compression.  The user is
+	responsible for providing the correct parameters.  This is to
+	address discussion on the graphicsmagick-help list on October 16,
+	2023 under the topic "tiff:photometric and CCITT compression".
+
 2023-10-14  Bob Friesenhahn  <[email protected]>
 
 	* coders/wpg.c (ReadWPGImage): If a colormap is provided, make
diff -r a6a8699a7b1a -r 61280c3dc87b VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sat Oct 14 10:57:24 2023 -0500
+++ b/VisualMagick/installer/inc/version.isx	Mon Oct 16 19:53:17 2023 -0500
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020231014"
-#define public MagickPackageReleaseDate "snapshot-20231014"
+#define public MagickPackageVersionAddendum ".020231016"
+#define public MagickPackageReleaseDate "snapshot-20231016"
diff -r a6a8699a7b1a -r 61280c3dc87b coders/tiff.c
--- a/coders/tiff.c	Sat Oct 14 10:57:24 2023 -0500
+++ b/coders/tiff.c	Mon Oct 16 19:53:17 2023 -0500
@@ -5052,24 +5052,16 @@
                                   "Ignoring request for JPEG compression due "
                                   "to incompatible photometric.");
         }
-      else if ((compress_tag == COMPRESSION_CCITTFAX3) &&
-               (photometric != PHOTOMETRIC_MINISWHITE))
+      else if (((compress_tag == COMPRESSION_CCITTFAX3) ||
+                (compress_tag == COMPRESSION_CCITTFAX4)) &&
+               ((photometric != PHOTOMETRIC_MINISWHITE) &&
+                (photometric != PHOTOMETRIC_MINISBLACK)))
         {
           compress_tag=COMPRESSION_NONE;
           fill_order=FILLORDER_MSB2LSB;
           if (logging)
             (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                  "Ignoring request for Group3 FAX compression"
-                                  " due to incompatible photometric.");
-        }
-      else if ((compress_tag == COMPRESSION_CCITTFAX4) &&
-               (photometric != PHOTOMETRIC_MINISWHITE))
-        {
-          compress_tag=COMPRESSION_NONE;
-          fill_order=FILLORDER_MSB2LSB;
-          if (logging)
-            (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                  "Ignoring request for Group4 FAX compression"
+                                  "Ignoring request for FAX compression"
                                   " due to incompatible photometric.");
         }
 #if defined(COMPRESSION_JBIG)
diff -r a6a8699a7b1a -r 61280c3dc87b magick/version.h
--- a/magick/version.h	Sat Oct 14 10:57:24 2023 -0500
+++ b/magick/version.h	Mon Oct 16 19:53:17 2023 -0500
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x272404
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 27,24,4
-#define MagickChangeDate   "20231014"
-#define MagickReleaseDate  "snapshot-20231014"
+#define MagickChangeDate   "20231016"
+#define MagickReleaseDate  "snapshot-20231016"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r a6a8699a7b1a -r 61280c3dc87b www/Changelog.html
--- a/www/Changelog.html	Sat Oct 14 10:57:24 2023 -0500
+++ b/www/Changelog.html	Mon Oct 16 19:53:17 2023 -0500
@@ -37,6 +37,18 @@
 </div>
 
 <div class="document">
+<p>2023-10-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li><p>coders/tiff.c (WriteTIFFImage): Remove safe-guards against use
+of incorrect PHOTOMETRIC_MINISWHITE or PHOTOMETRIC_MINISBLACK
+photometic for Group3 and Group4 compression.  Other photometrics
+are rejected when using Group3 or Group4 compression.  The user is
+responsible for providing the correct parameters.  This is to
+address discussion on the graphicsmagick-help list on October 16,
+2023 under the topic &quot;tiff:photometric and CCITT compression&quot;.</p></li>
+</ul>
+</blockquote>
 <p>2023-10-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul class="simple">