SDL_image: MSVC project: rebuilt libtiff dlls from libsdl's v4.2.0-SDL branch

From 17feaccb991a23fd1a6aed0fc078caafd4945ad7 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Fri, 20 Oct 2023 14:01:02 +0300
Subject: [PATCH] MSVC project: rebuilt libtiff dlls from libsdl's v4.2.0-SDL
 branch

---
 VisualC/SDL_image.vcxproj                   |    8 +-
 VisualC/external/include/tiff.h             | 1380 +++++++++----------
 VisualC/external/include/tiffconf.h         |   57 +-
 VisualC/external/include/tiffio.h           |  874 ++++++------
 VisualC/external/include/tiffvers.h         |   25 +-
 VisualC/external/optional/x64/libtiff-5.dll |  Bin 0 -> 387584 bytes
 VisualC/external/optional/x64/libtiff-6.dll |  Bin 403456 -> 0 bytes
 VisualC/external/optional/x86/libtiff-5.dll |  Bin 0 -> 380416 bytes
 VisualC/external/optional/x86/libtiff-6.dll |  Bin 399360 -> 0 bytes
 9 files changed, 1061 insertions(+), 1283 deletions(-)
 create mode 100644 VisualC/external/optional/x64/libtiff-5.dll
 delete mode 100644 VisualC/external/optional/x64/libtiff-6.dll
 create mode 100644 VisualC/external/optional/x86/libtiff-5.dll
 delete mode 100644 VisualC/external/optional/x86/libtiff-6.dll

diff --git a/VisualC/SDL_image.vcxproj b/VisualC/SDL_image.vcxproj
index 181a1202..5ed188bf 100644
--- a/VisualC/SDL_image.vcxproj
+++ b/VisualC/SDL_image.vcxproj
@@ -108,7 +108,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\include;external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-6.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>OldStyle</DebugInformationFormat>
@@ -136,7 +136,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\include;external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-6.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
@@ -165,7 +165,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\include;external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-6.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
@@ -191,7 +191,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\include;external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-6.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;USE_STBIMAGE;LOAD_AVIF;LOAD_AVIF_DYNAMIC="libavif-16.dll";LOAD_BMP;LOAD_GIF;LOAD_JPG;LOAD_LBM;LOAD_PCX;LOAD_PNG;LOAD_PNM;LOAD_QOI;LOAD_SVG;LOAD_TGA;LOAD_TIF;LOAD_TIF_DYNAMIC="libtiff-5.dll";LOAD_WEBP;LOAD_WEBP_DYNAMIC="libwebp-7.dll";LOAD_WEBPDEMUX_DYNAMIC="libwebpdemux-2.dll";LOAD_XCF;LOAD_XPM;LOAD_XV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
diff --git a/VisualC/external/include/tiff.h b/VisualC/external/include/tiff.h
index b2d11866..2d4a4767 100644
--- a/VisualC/external/include/tiff.h
+++ b/VisualC/external/include/tiff.h
@@ -2,28 +2,28 @@
  * Copyright (c) 1988-1997 Sam Leffler
  * Copyright (c) 1991-1997 Silicon Graphics, Inc.
  *
- * Permission to use, copy, modify, distribute, and sell this software and
+ * Permission to use, copy, modify, distribute, and sell this software and 
  * its documentation for any purpose is hereby granted without fee, provided
  * that (i) the above copyright notices and this permission notice appear in
  * all copies of the software and related documentation, and (ii) the names of
  * Sam Leffler and Silicon Graphics may not be used in any advertising or
  * publicity relating to the software without the specific, prior written
  * permission of Sam Leffler and Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
+ * 
+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
+ * 
  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
+ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  * OF THIS SOFTWARE.
  */
 
 #ifndef _TIFF_
-#define _TIFF_
+#define	_TIFF_
 
 #include "tiffconf.h"
 
@@ -48,46 +48,32 @@
 #define TIFF_VERSION_CLASSIC 42
 #define TIFF_VERSION_BIG 43
 
-#define TIFF_BIGENDIAN 0x4d4d
-#define TIFF_LITTLEENDIAN 0x4949
-#define MDI_LITTLEENDIAN 0x5045
-#define MDI_BIGENDIAN 0x4550
+#define TIFF_BIGENDIAN      0x4d4d
+#define TIFF_LITTLEENDIAN   0x4949
+#define MDI_LITTLEENDIAN    0x5045
+#define MDI_BIGENDIAN       0x4550
 
 /*
  * Intrinsic data types required by the file format:
  *
- * 8-bit quantities     int8_t/uint_8_t
- * 16-bit quantities    int16_t/uint_16_t
- * 32-bit quantities    int32_t/uint_32_t
- * 64-bit quantities    int64_t/uint_64_t
+ * 8-bit quantities     int8/uint8
+ * 16-bit quantities    int16/uint16
+ * 32-bit quantities    int32/uint32
+ * 64-bit quantities    int64/uint64
  * strings              unsigned char*
  */
-#ifdef __GNUC__
-#define TIFF_GCC_DEPRECATED __attribute__((deprecated))
-#else
-#define TIFF_GCC_DEPRECATED
-#endif
-#ifdef _MSC_VER
-#define TIFF_MSC_DEPRECATED                                                    \
-    __declspec(deprecated("libtiff type deprecated; please use corresponding " \
-                          "C99 stdint.h type"))
-#else
-#define TIFF_MSC_DEPRECATED
-#endif
 
-#ifndef TIFF_DISABLE_DEPRECATED
-typedef TIFF_MSC_DEPRECATED int8_t int8 TIFF_GCC_DEPRECATED;
-typedef TIFF_MSC_DEPRECATED uint8_t uint8 TIFF_GCC_DEPRECATED;
+typedef TIFF_INT8_T   int8;
+typedef TIFF_UINT8_T  uint8;
 
-typedef TIFF_MSC_DEPRECATED int16_t int16 TIFF_GCC_DEPRECATED;
-typedef TIFF_MSC_DEPRECATED uint16_t uint16 TIFF_GCC_DEPRECATED;
+typedef TIFF_INT16_T  int16;
+typedef TIFF_UINT16_T uint16;
 
-typedef TIFF_MSC_DEPRECATED int32_t int32 TIFF_GCC_DEPRECATED;
-typedef TIFF_MSC_DEPRECATED uint32_t uint32 TIFF_GCC_DEPRECATED;
+typedef TIFF_INT32_T  int32;
+typedef TIFF_UINT32_T uint32;
 
-typedef TIFF_MSC_DEPRECATED int64_t int64 TIFF_GCC_DEPRECATED;
-typedef TIFF_MSC_DEPRECATED uint64_t uint64 TIFF_GCC_DEPRECATED;
-#endif /* TIFF_DISABLE_DEPRECATED */
+typedef TIFF_INT64_T  int64;
+typedef TIFF_UINT64_T uint64;
 
 /*
  * Some types as promoted in a variable argument list
@@ -102,26 +88,24 @@ typedef int uint16_vap;
 /*
  * TIFF header.
  */
-typedef struct
-{
-    uint16_t tiff_magic;   /* magic number (defines byte order) */
-    uint16_t tiff_version; /* TIFF version number */
+typedef struct {
+	uint16 tiff_magic;      /* magic number (defines byte order) */
+	uint16 tiff_version;    /* TIFF version number */
 } TIFFHeaderCommon;
-typedef struct
-{
-    uint16_t tiff_magic;   /* magic number (defines byte order) */
-    uint16_t tiff_version; /* TIFF version number */
-    uint32_t tiff_diroff;  /* byte offset to first directory */
+typedef struct {
+	uint16 tiff_magic;      /* magic number (defines byte order) */
+	uint16 tiff_version;    /* TIFF version number */
+	uint32 tiff_diroff;     /* byte offset to first directory */
 } TIFFHeaderClassic;
-typedef struct
-{
-    uint16_t tiff_magic;      /* magic number (defines byte order) */
-    uint16_t tiff_version;    /* TIFF version number */
-    uint16_t tiff_offsetsize; /* size of offsets, should be 8 */
-    uint16_t tiff_unused;     /* unused word, should be 0 */
-    uint64_t tiff_diroff;     /* byte offset to first directory */
+typedef struct {
+	uint16 tiff_magic;      /* magic number (defines byte order) */
+	uint16 tiff_version;    /* TIFF version number */
+	uint16 tiff_offsetsize; /* size of offsets, should be 8 */
+	uint16 tiff_unused;     /* unused word, should be 0 */
+	uint64 tiff_diroff;     /* byte offset to first directory */
 } TIFFHeaderBig;
 
+
 /*
  * NB: In the comments below,
  *  - items marked with a + are obsoleted by revision 5.0,
@@ -136,551 +120,464 @@ typedef struct
  *
  * Note: RATIONALs are the ratio of two 32-bit integer values.
  *--:
- * Note2: TIFF_IFD8 data type is used in tiffFields[]-tag definition in order to
- distinguish the write-handling of those tags between ClassicTIFF and BigTiff:
-                  For ClassicTIFF libtiff writes a 32-bit value and the TIFF_IFD
- type-id into the file For BigTIFF     libtiff writes a 64-bit value and the
- TIFF_IFD8 type-id into the file
+ * Note2: TIFF_IFD8 data type is used in tiffFields[]-tag definition in order to distinguish the write-handling 
+          of those tags between ClassicTIFF and BigTiff:
+		  For ClassicTIFF libtiff writes a 32-bit value and the TIFF_IFD type-id into the file
+		  For BigTIFF     libtiff writes a 64-bit value and the TIFF_IFD8 type-id into the file
  */
-typedef enum
-{
-    TIFF_NOTYPE = 0,     /* placeholder */
-    TIFF_BYTE = 1,       /* 8-bit unsigned integer */
-    TIFF_ASCII = 2,      /* 8-bit bytes w/ last byte null */
-    TIFF_SHORT = 3,      /* 16-bit unsigned integer */
-    TIFF_LONG = 4,       /* 32-bit unsigned integer */
-    TIFF_RATIONAL = 5,   /* 64-bit unsigned fraction */
-    TIFF_SBYTE = 6,      /* !8-bit signed integer */
-    TIFF_UNDEFINED = 7,  /* !8-bit untyped data */
-    TIFF_SSHORT = 8,     /* !16-bit signed integer */
-    TIFF_SLONG = 9,      /* !32-bit signed integer */
-    TIFF_SRATIONAL = 10, /* !64-bit signed fraction */
-    TIFF_FLOAT = 11,     /* !32-bit IEEE floating point */
-    TIFF_DOUBLE = 12,    /* !64-bit IEEE floating point */
-    TIFF_IFD = 13,       /* %32-bit unsigned integer (offset) */
-    TIFF_LONG8 = 16,     /* BigTIFF 64-bit unsigned integer */
-    TIFF_SLONG8 = 17,    /* BigTIFF 64-bit signed integer */
-    TIFF_IFD8 = 18       /* BigTIFF 64-bit unsigned integer (offset) */
+typedef enum {
+	TIFF_NOTYPE = 0,      /* placeholder */
+	TIFF_BYTE = 1,        /* 8-bit unsigned integer */
+	TIFF_ASCII = 2,       /* 8-bit bytes w/ last byte null */
+	TIFF_SHORT = 3,       /* 16-bit unsigned integer */
+	TIFF_LONG = 4,        /* 32-bit unsigned integer */
+	TIFF_RATIONAL = 5,    /* 64-bit unsigned fraction */
+	TIFF_SBYTE = 6,       /* !8-bit signed integer */
+	TIFF_UNDEFINED = 7,   /* !8-bit untyped data */
+	TIFF_SSHORT = 8,      /* !16-bit signed integer */
+	TIFF_SLONG = 9,       /* !32-bit signed integer */
+	TIFF_SRATIONAL = 10,  /* !64-bit signed fraction */
+	TIFF_FLOAT = 11,      /* !32-bit IEEE floating point */
+	TIFF_DOUBLE = 12,     /* !64-bit IEEE floating point */
+	TIFF_IFD = 13,        /* %32-bit unsigned integer (offset) */
+	TIFF_LONG8 = 16,      /* BigTIFF 64-bit unsigned integer */
+	TIFF_SLONG8 = 17,     /* BigTIFF 64-bit signed integer */
+	TIFF_IFD8 = 18        /* BigTIFF 64-bit unsigned integer (offset) */
 } TIFFDataType;
 
 /*
  * TIFF Tag Definitions.
  */
-/* clang-format off */   /* for better readability of tag comments */
-#define TIFFTAG_SUBFILETYPE 254       /* subfile data descriptor */
-#define FILETYPE_REDUCEDIMAGE 0x1     /* reduced resolution version */
-#define FILETYPE_PAGE 0x2             /* one page of many */
-#define FILETYPE_MASK 0x4             /* transparency mask */
-#define TIFFTAG_OSUBFILETYPE 255      /* +kind of data in subfile */
-#define OFILETYPE_IMAGE 1             /* full resolution image data */
-#define OFILETYPE_REDUCEDIMAGE 2      /* reduced size image data */
-#define OFILETYPE_PAGE 3              /* one page of many */
-#define TIFFTAG_IMAGEWIDTH 256        /* image width in pixels */
-#define TIFFTAG_IMAGELENGTH 257       /* image height in pixels */
-#define TIFFTAG_BITSPERSAMPLE 258     /* bits per channel (sample) */
-#define TIFFTAG_COMPRESSION 259       /* data compression technique */
-#define COMPRESSION_NONE 1            /* dump mode */
-#define COMPRESSION_CCITTRLE 2        /* CCITT modified Huffman RLE */
-#define COMPRESSION_CCITTFAX3 3       /* CCITT Group 3 fax encoding */
-#define COMPRESSION_CCITT_T4 3        /* CCITT T.4 (TIFF 6 name) */
-#define COMPRESSION_CCITTFAX4 4       /* CCITT Group 4 fax encoding */
-#define COMPRESSION_CCITT_T6 4        /* CCITT T.6 (TIFF 6 name) */
-#define COMPRESSION_LZW 5             /* Lempel-Ziv  & Welch */
-#define COMPRESSION_OJPEG 6           /* !6.0 JPEG */
-#define COMPRESSION_JPEG 7            /* %JPEG DCT compression */
-#define COMPRESSION_T85 9             /* !TIFF/FX T.85 JBIG compression */
-#define COMPRESSION_T43 10            /* !TIFF/FX T.43 colour by layered JBIG compression */
-#define COMPRESSION_NEXT 32766        /* NeXT 2-bit RLE */
-#define COMPRESSION_CCITTRLEW 32771   /* #1 w/ word alignment */
-#define COMPRESSION_PACKBITS 32773    /* Macintosh RLE */
-#define COMPRESSION_THUNDERSCAN 32809 /* ThunderScan RLE */
+#define	TIFFTAG_SUBFILETYPE		254	/* subfile data descriptor */
+#define	    FILETYPE_REDUCEDIMAGE	0x1	/* reduced resolution version */
+#define	    FILETYPE_PAGE		0x2	/* one page of many */
+#define	    FILETYPE_MASK		0x4	/* transparency mask */
+#define	TIFFTAG_OSUBFILETYPE		255	/* +kind of data in subfile */
+#define	    OFILETYPE_IMAGE		1	/* full resolution image data */
+#define	    OFILETYPE_REDUCEDIMAGE	2	/* reduced size image data */
+#define	    OFILETYPE_PAGE		3	/* one page of many */
+#define	TIFFTAG_IMAGEWIDTH		256	/* image width in pixels */
+#define	TIFFTAG_IMAGELENGTH		257	/* image height in pixels */
+#define	TIFFTAG_BITSPERSAMPLE		258	/* bits per channel (sample) */
+#define	TIFFTAG_COMPRESSION		259	/* data compression technique */
+#define	    COMPRESSION_NONE		1	/* dump mode */
+#define	    COMPRESSION_CCITTRLE	2	/* CCITT modified Huffman RLE */
+#define	    COMPRESSION_CCITTFAX3	3	/* CCITT Group 3 fax encoding */
+#define     COMPRESSION_CCITT_T4        3       /* CCITT T.4 (TIFF 6 name) */
+#define	    COMPRESSION_CCITTFAX4	4	/* CCITT Group 4 fax encoding */
+#define     COMPRESSION_CCITT_T6        4       /* CCITT T.6 (TIFF 6 name) */
+#define	    COMPRESSION_LZW		5       /* Lempel-Ziv  & Welch */
+#define	    COMPRESSION_OJPEG		6	/* !6.0 JPEG */
+#define	    COMPRESSION_JPEG		7	/* %JPEG DCT compression */
+#define     COMPRESSION_T85			9	/* !TIFF/FX T.85 JBIG compression */
+#define     COMPRESSION_T43			10	/* !TIFF/FX T.43 colour by layered JBIG compression */
+#define	    COMPRESSION_NEXT		32766	/* NeXT 2-bit RLE */
+#define	    COMPRESSION_CCITTRLEW	32771	/* #1 w/ word alignment */
+#define	    COMPRESSION_PACKBITS	32773	/* Macintosh RLE */
+#define	    COMPRESSION_THUNDERSCAN	32809	/* ThunderScan RLE */
 /* codes 32895-32898 are reserved for ANSI IT8 TIFF/IT <dkelly@apago.com) */
-#define COMPRESSION_IT8CTPAD 32895 /* IT8 CT w/padding */
-#define COMPRESSION_IT8LW 32896    /* IT8 Linework RLE */
-#define COMPRESSION_IT8MP 32897    /* IT8 Monochrome picture */
-#define COMPRESSION_IT8BL 32898    /* IT8 Binary line art */
+#define	    COMPRESSION_IT8CTPAD	32895   /* IT8 CT w/padding */
+#define	    COMPRESSION_IT8LW		32896   /* IT8 Linework RLE */
+#define	    COMPRESSION_IT8MP		32897   /* IT8 Monochrome picture */
+#define	    COMPRESSION_IT8BL		32898   /* IT8 Binary line art */
 /* compression codes 32908-32911 are reserved for Pixar */
-#define COMPRESSION_PIXARFILM 32908 /* Pixar companded 10bit LZW */
-#define COMPRESSION_PIXARLOG 32909  /* Pixar companded 11bit ZIP */
-#define COMPRESSION_DEFLATE 32946   /* Deflate compression, legacy tag */
-#define COMPRESSION_ADOBE_DEFLATE 8 /* Deflate compression, as recognized by Adobe */
+#define     COMPRESSION_PIXARFILM	32908   /* Pixar companded 10bit LZW */
+#define	    COMPRESSION_PIXARLOG	32909   /* Pixar companded 11bit ZIP */
+#define	    COMPRESSION_DEFLATE		32946	/* Deflate compression */
+#define     COMPRESSION_ADOBE_DEFLATE   8       /* Deflate compression,
+						   as recognized by Adobe */
 /* compression code 32947 is reserved for Oceana Matrix <dev@oceana.com> */
-#define COMPRESSION_DCS 32947      /* Kodak DCS encoding */
-#define COMPRESSION_JBIG 34661     /* ISO JBIG */
-#define COMPRESSION_SGILOG 34676   /* SGI Log Luminance RLE */
-#define COMPRESSION_SGILOG24 34677 /* SGI Log 24-bit packed */
-#define COMPRESSION_JP2000 34712   /* Leadtools JPEG2000 */
-#define COMPRESSION_LERC 34887     /* ESRI Lerc codec: https://github.com/Esri/lerc */
+#define     COMPRESSION_DCS             32947   /* Kodak DCS encoding */
+#define	    COMPRESSION_JBIG		34661	/* ISO JBIG */
+#define     COMPRESSION_SGILOG		34676	/* SGI Log Luminance RLE */
+#define     COMPRESSION_SGILOG24	34677	/* SGI Log 24-bit packed */
+#define     COMPRESSION_JP2000          34712   /* Leadtools JPEG2000 */
+#define     COMPRESSION_LERC            34887   /* ESRI Lerc codec: https://github.com/Esri/lerc */
 /* compression codes 34887-34889 are reserved for ESRI */
-#define COMPRESSION_LZMA 34925             /* LZMA2 */
-#define COMPRESSION_ZSTD 50000             /* ZSTD: WARNING not registered in Adobe-maintained registry */
-#define COMPRESSION_WEBP 50001             /* WEBP: WARNING not registered in Adobe-maintained registry */
-#define COMPRESSION_JXL 50002              /* JPEGXL: WARNING not registered in Adobe-maintained registry */
-#define TIFFTAG_PHOTOMETRIC 262            /* photometric interpretation */
-#define PHOTOMETRIC_MINISWHITE 0           /* min value is white */
-#define PHOTOMETRIC_MINISBLACK 1           /* min value is black */
-#define PHOTOMETRIC_RGB 2                  /* RGB color model */
-#define PHOTOMETRIC_PALETTE 3              /* color map indexed */
-#define PHOTOMETRIC_MASK 4                 /* $holdout mask */
-#define PHOTOMETRIC_SEPARATED 5            /* !color separations */
-#define PHOTOMETRIC_YCBCR 6                /* !CCIR 601 */
-#define PHOTOMETRIC_CIELAB 8               /* !1976 CIE L*a*b* */
-#define PHOTOMETRIC_ICCLAB 9               /* ICC L*a*b* [Adobe TIFF Technote 4] */
-#define PHOTOMETRIC_ITULAB 10              /* ITU L*a*b* */
-#define PHOTOMETRIC_CFA 32803              /* color filter array */
-#define PHOTOMETRIC_LOGL 32844             /* CIE Log2(L) */
-#define PHOTOMETRIC_LOGLUV 32845           /* CIE Log2(L) (u',v') */
-#define TIFFTAG_THRESHHOLDING 263          /* +thresholding used on data */
-#define THRESHHOLD_BILEVEL 1               /* b&w art scan */
-#define THRESHHOLD_HALFTONE 2              /* or dithered scan */
-#define THRESHHOLD_ERRORDIFFUSE 3          /* usually floyd-steinberg */
-#define TIFFTAG_CELLWIDTH 264              /* +dithering matrix width */
-#define TIFFTAG_CELLLENGTH 265             /* +dithering matrix height */
-#define TIFFTAG_FILLORDER 266              /* data order within a byte */
-#define FILLORDER_MSB2LSB 1                /* most significant -> least */
-#define FILLORDER_LSB2MSB 2                /* least significant -> most */
-#define TIFFTAG_DOCUMENTNAME 269           /* name of doc. image is from */
-#define TIFFTAG_IMAGEDESCRIPTION 270       /* info about image */
-#define TIFFTAG_MAKE 271                   /* scanner manufacturer name */
-#define TIFFTAG_MODEL 272                  /* scanner model name/number */
-#define TIFFTAG_STRIPOFFSETS 273           /* offsets to data strips */
-#define TIFFTAG_ORIENTATION 274            /* +image orientation */
-#define ORIENTATION_TOPLEFT 1              /* row 0 top, col 0 lhs */
-#define ORIENTATION_TOPRIGHT 2             /* row 0 top, col 0 rhs */
-#define ORIENTATION_BOTRIGHT 3             /* row 0 bottom, col 0 rhs */
-#define ORIENTATION_BOTLEFT 4              /* row 0 bottom, col 0 lhs */
-#define ORIENTATION_LEFTTOP 5              /* row 0 lhs, col 0 top */
-#define ORIENTATION_RIGHTTOP 6             /* row 0 rhs, col 0 top */
-#define ORIENTATION_RIGHTBOT 7             /* row 0 rhs, col 0 bottom */
-#define ORIENTATION_LEFTBOT 8              /* row 0 lhs, col 0 bottom */
-#define TIFFTAG_SAMPLESPERPIXEL 277        /* samples per pixel */
-#define TIFFTAG_ROWSPERSTRIP 278           /* rows per strip of data */
-#define TIFFTAG_STRIPBYTECOUNTS 279        /* bytes counts for strips */
-#define TIFFTAG_MINSAMPLEVALUE 280         /* +minimum sample value */
-#define TIFFTAG_MAXSAMPLEVALUE 281         /* +maximum sample value */
-#define TIFFTAG_XRESOLUTION 282            /* pixels/resolution in x */
-#define TIFFTAG_YRESOLUTION 283            /* pixels/resolution in y */
-#define TIFFTAG_PLANARCONFIG 284           /* storage organization */
-#define PLANARCONFIG_CONTIG 1              /* single image plane */
-#define PLANARCONFIG_SEPARATE 2            /* separate planes of data */
-#define TIFFTAG_PAGENAME 285               /* page name image is from */
-#define TIFFTAG_XPOSITION 286              /* x page offset of image lhs */
-#define TIFFTAG_YPOSITION 287              /* y page offset of image lhs */
-#define TIFFTAG_FREEOFFSETS 288            /* +byte offset to free block */
-#define TIFFTAG_FREEBYTECOUNTS 289         /* +sizes of free blocks */
-#define TIFFTAG_GRAYRESPONSEUNIT 290       /* $gray scale curve accuracy */
-#define GRAYRESPONSEUNIT_10S 1             /* tenths of a unit */
-#define GRAYRESPONSEUNIT_100S 2            /* hundredths of a unit */
-#define GRAYRESPONSEUNIT_1000S 3           /* thousandths of a unit */
-#define GRAYRESPONSEUNIT_10000S 4          /* ten-thousandths of a unit */
-#define GRAYRESPONSEUNIT_100000S 5         /* hundred-thousandths */
-#define TIFFTAG_GRAYRESPONSECURVE 291      /* $gray scale response curve */
-#define TIFFTAG_GROUP3OPTIONS 292          /* 32 flag bits */
-#define TIFFTAG_T4OPTIONS 292              /* TIFF 6.0 proper name alias */
-#define GROUP3OPT_2DENCODING 0x1           /* 2-dimensional coding */
-#define GROUP3OPT_UNCOMPRESSED 0x2         /* data not compressed */
-#define GROUP3OPT_FILLBITS 0x4             /* fill to byte boundary */
-#define TIFFTAG_GROUP4OPTIONS 293          /* 32 flag bits */
-#define TIFFTAG_T6OPTIONS 293              /* TIFF 6.0 proper name */
-#define GROUP4OPT_UNCOMPRESSED 0x2         /* data not compressed */
-#define TIFFTAG_RESOLUTIONUNIT 296         /* units of resolutions */
-#define RESUNIT_NONE 1                     /* no meaningful units */
-#define RESUNIT_INCH 2                     /* english */
-#define RESUNIT_CENTIMETER 3               /* metric */
-#define TIFFTAG_PAGENUMBER 297             /* page numbers of multi-page */
-#define TIFFTAG_COLORRESPONSEUNIT 300      /* $color curve accuracy */
-#define COLORRESPONSEUNIT_10S 1            /* tenths of a unit */
-#define COLORRESPONSEUNIT_100S 2           /* hundredths of a unit */
-#define COLORRESPONSEUNIT_1000S 3          /* thousandths of a unit */
-#define COLORRESPONSEUNIT_10000S 4         /* ten-thousandths of a unit */
-#define COLORRESPONSEUNIT_100000S 5        /* hundred-thousandths */
-#define TIFFTAG_TRANSFERFUNCTION 301       /* !colorimetry info */
-#define TIFFTAG_SOFTWARE 305               /* name & release */
-#define TIFFTAG_DATETIME 306               /* creation date and time */
-#define TIFFTAG_ARTIST 315                 /* creator of image */
-#define TIFFTAG_HOSTCOMPUTER 316           /* machine where created */
-#define TIFFTAG_PREDICTOR 317              /* prediction scheme w/ LZW */
-#define PREDICTOR_NONE 1                   /* no prediction scheme used */
-#define PREDICTOR_HORIZONTAL 2             /* horizontal differencing */
-#define PREDICTOR_FLOATINGPOINT 3          /* floating point predictor */
-#define TIFFTAG_WHITEPOINT 318             /* image white point */
-#define TIFFTAG_PRIMARYCHROMATICITIES 319  /* !primary chromaticities */
-#define TIFFTAG_COLORMAP 320               /* RGB map for palette image */
-#define TIFFTAG_HALFTONEHINTS 321          /* !highlight+shadow info */
-#define TIFFTAG_TILEWIDTH 322              /* !tile width in pixels */
-#define TIFFTAG_TILELENGTH 323             /* !tile height in pixels */
-#define TIFFTAG_TILEOFFSETS 324            /* !offsets to data tiles */
-#define TIFFTAG_TILEBYTECOUNTS 325         /* !byte counts for tiles */
-#define TIFFTAG_BADFAXLINES 326            /* lines w/ wrong pixel count */
-#define TIFFTAG_CLEANFAXDATA 327           /* regenerated line info */
-#define CLEANFAXDATA_CLEAN 0               /* no errors detected */
-#define CLEANFAXDATA_REGENERATED 1         /* receiver regenerated lines */
-#define CLEANFAXDATA_UNCLEAN 2             /* uncorrected errors exist */
-#define TIFFTAG_CONSECUTIVEBADFAXLINES 328 /* max consecutive bad lines */
-#define TIFFTAG_SUBIFD 330                 /* subimage descriptors */
-#define TIFFTAG_INKSET 332                 /* !inks in separated image */
-#define INKSET_CMYK 1                      /* !cyan-magenta-yellow-black color */
-#define INKSET_MULTIINK 2                  /* !multi-ink or hi-fi color */
-#define TIFFTAG_INKNAMES 333               /* !ascii names of inks */
-#define TIFFTAG_NUMBEROFINKS 334           /* !number of inks */
-#define TIFFTAG_DOTRANGE 336               /* !0% and 100% dot codes */
-#define TIFFTAG_TARGETPRINTER 337          /* !separation target */
-#define TIFFTAG_EXTRASAMPLES 338           /* !info about extra samples */
-#define EXTRASAMPLE_UNSPECIFIED 0          /* !unspecified data */
-#define EXTRASAMPLE_ASSOCALPHA 1           /* !associated alpha data */
-#define EXTRASAMPLE_UNASSALPHA 2           /* !unassociated alpha data */
-#define TIFFTAG_SAMPLEFORMAT 339           /* !data sample format */
-#define SAMPLEFORMAT_UINT 1                /* !unsigned integer data */
-#define SAMPLEFORMAT_INT 2                 /* !signed integer data */
-#define SAMPLEFORMAT_IEEEFP 3              /* !IEEE floating point data */
-#define SAMPLEFORMAT_VOID 4                /* !untyped data */
-#define SAMPLEFORMAT_COMPLEXINT 5          /* !complex signed int */
-#define SAMPLEFORMAT_COMPLEXIEEEFP 6       /* !complex ieee floating */
-#define TIFFTAG_SMINSAMPLEVALUE 340        /* !variable MinSampleValue */
-#define TIFFTAG_SMAXSAMPLEVALUE 341        /* !variable MaxSampleValue */
-#define TIFFTAG_CLIPPATH 343               /* %ClipPath [Adobe TIFF technote 2] */
-#define TIFFTAG_XCLIPPATHUNITS 344         /* %XClipPathUnits [Adobe TIFF technote 2] */
-#define TIFFTAG_YCLIPPATHUNITS 345         /* %YClipPathUnits [Adobe TIFF technote 2] */
-#define TIFFTAG_INDEXED 346                /* %Indexed [Adobe TIFF Technote 3] */
-#define TIFFTAG_JPEGTABLES 347             /* %JPEG table stream */
-#define TIFFTAG_OPIPROXY 351               /* %OPI Proxy [Adobe TIFF technote] */
+#define	    COMPRESSION_LZMA		34925	/* LZMA2 */
+#define	    COMPRESSION_ZSTD		50000	/* ZSTD: WARNING not registered in Adobe-maintained registry */
+#define	    COMPRESSION_WEBP		50001	/* WEBP: WARNING not registered in Adobe-maintained registry */
+#define	TIFFTAG_PHOTOMETRIC		262	/* photometric interpretation */
+#define	    PHOTOMETRIC_MINISWHITE	0	/* min value is white */
+#define	    PHOTOMETRIC_MINISBLACK	1	/* min value is black */
+#define	    PHOTOMETRIC_RGB		2	/* RGB color model */
+#define	    PHOTOMETRIC_PALETTE		3	/* color map indexed */
+#define	    PHOTOMETRIC_MASK		4	/* $holdout mask */
+#define	    PHOTOMETRIC_SEPARATED	5	/* !color separations */
+#define	    PHOTOMETRIC_YCBCR		6	/* !CCIR 601 */
+#define	    PHOTOMETRIC_CIELAB		8	/* !1976 CIE L*a*b* */
+#define	    PHOTOMETRIC_ICCLAB		9	/* ICC L*a*b* [Adobe TIFF Technote 4] */
+#define	    PHOTOMETRIC_ITULAB		10	/* ITU L*a*b* */
+#define	    PHOTOMETRIC_CFA		32803	/* color filter array */
+#define     PHOTOMETRIC_LOGL		32844	/* CIE Log2(L) */
+#define     PHOTOMETRIC_LOGLUV		32845	/* CIE Log2(L) (u',v') */
+#define	TIFFTAG_THRESHHOLDING		263	/* +thresholding used on data */
+#define	    THRESHHOLD_BILEVEL		1	/* b&w art scan */
+#define	    THRESHHOLD_HALFTONE		2	/* or dithered scan */
+#define	    THRESHHOLD_ERRORDIFFUSE	3	/* usually floyd-steinberg */
+#define	TIFFTAG_CELLWIDTH		264	/* +dithering matrix width */
+#define	TIFFTAG_CELLLENGTH		265	/* +dithering matrix height */
+#define	TIFFTAG_FILLORDER		266	/* data order within a byte */
+#define	    FILLORDER_MSB2LSB		1	/* most significant -> lea

(Patch may be truncated, please check the link at the top of this post.)