···11-/* $Id: tif_color.c,v 1.24 2017-05-29 10:12:54 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···168166}
169167170168/*
171171- * Convert color value from the YCbCr space to CIE XYZ.
169169+ * Convert color value from the YCbCr space to RGB.
172170 * The colorspace conversion algorithm comes from the IJG v5a code;
173171 * see below for more information on how it works.
174172 */
···11-/* $Id: tif_dir.c,v 1.131 2017-07-11 21:38:04 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···863861 const TIFFField* fip = TIFFFindField(tif, tag, TIFF_ANY);
864862 if( fip == NULL ) /* cannot happen since TIFFGetField() already checks it */
865863 return 0;
864864+865865+ /*
866866+ * We want to force the custom code to be used for custom
867867+ * fields even if the tag happens to match a well known
868868+ * one - important for reinterpreted handling of standard
869869+ * tag values in custom directories (i.e. EXIF)
870870+ */
871871+ if (fip->field_bit == FIELD_CUSTOM) {
872872+ standard_tag = 0;
873873+ }
866874867867- if( tag == TIFFTAG_NUMBEROFINKS )
875875+ if( standard_tag == TIFFTAG_NUMBEROFINKS )
868876 {
869877 int i;
870878 for (i = 0; i < td->td_customValueCount; i++) {
871879 uint16 val;
872880 TIFFTagValue *tv = td->td_customValues + i;
873873- if (tv->info->field_tag != tag)
881881+ if (tv->info->field_tag != standard_tag)
874882 continue;
875883 if( tv->value == NULL )
876884 return 0;
···891899 }
892900 return 0;
893901 }
894894-895895- /*
896896- * We want to force the custom code to be used for custom
897897- * fields even if the tag happens to match a well known
898898- * one - important for reinterpreted handling of standard
899899- * tag values in custom directories (i.e. EXIF)
900900- */
901901- if (fip->field_bit == FIELD_CUSTOM) {
902902- standard_tag = 0;
903903- }
904902905903 switch (standard_tag) {
906904 case TIFFTAG_SUBFILETYPE:
···10671065 if (td->td_samplesperpixel - td->td_extrasamples > 1) {
10681066 *va_arg(ap, uint16**) = td->td_transferfunction[1];
10691067 *va_arg(ap, uint16**) = td->td_transferfunction[2];
10681068+ } else {
10691069+ *va_arg(ap, uint16**) = NULL;
10701070+ *va_arg(ap, uint16**) = NULL;
10701071 }
10711072 break;
10721073 case TIFFTAG_REFERENCEBLACKWHITE:
+14-3
dll/3rdparty/libtiff/tif_dirinfo.c
···11-/* $Id: tif_dirinfo.c,v 1.127 2017-06-01 12:44:04 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···979977 case TIFFTAG_CONSECUTIVEBADFAXLINES:
980978 case TIFFTAG_GROUP3OPTIONS:
981979 case TIFFTAG_GROUP4OPTIONS:
980980+ /* LERC */
981981+ case TIFFTAG_LERC_PARAMETERS:
982982 break;
983983 default:
984984 return 1;
···10541054 if (tag == TIFFTAG_PREDICTOR)
10551055 return 1;
10561056 break;
10571057-10571057+ case COMPRESSION_ZSTD:
10581058+ if (tag == TIFFTAG_PREDICTOR)
10591059+ return 1;
10601060+ break;
10611061+ case COMPRESSION_LERC:
10621062+ if (tag == TIFFTAG_LERC_PARAMETERS)
10631063+ return 1;
10641064+ break;
10651065+ case COMPRESSION_WEBP:
10661066+ if (tag == TIFFTAG_PREDICTOR)
10671067+ return 1;
10681068+ break;
10581069 }
10591070 return 0;
10601071}
+94-23
dll/3rdparty/libtiff/tif_dirread.c
···11-/* $Id: tif_dirread.c,v 1.218 2017-09-09 21:44:42 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···167165static int TIFFFetchSubjectDistance(TIFF*, TIFFDirEntry*);
168166static void ChopUpSingleUncompressedStrip(TIFF*);
169167static uint64 TIFFReadUInt64(const uint8 *value);
168168+static int _TIFFGetMaxColorChannels(uint16 photometric);
170169171170static int _TIFFFillStrilesInternal( TIFF *tif, int loadStripByteCount );
172171···776775static enum TIFFReadDirEntryErr TIFFReadDirEntryDataAndRealloc(
777776 TIFF* tif, uint64 offset, tmsize_t size, void** pdest)
778777{
779779-#if SIZEOF_VOIDP == 8 || SIZEOF_SIZE_T == 8
778778+#if SIZEOF_SIZE_T == 8
780779 tmsize_t threshold = INITIAL_THRESHOLD;
781780#endif
782781 tmsize_t already_read = 0;
···797796 void* new_dest;
798797 tmsize_t bytes_read;
799798 tmsize_t to_read = size - already_read;
800800-#if SIZEOF_VOIDP == 8 || SIZEOF_SIZE_T == 8
799799+#if SIZEOF_SIZE_T == 8
801800 if( to_read >= threshold && threshold < MAX_THRESHOLD )
802801 {
803802 to_read = threshold;
···35073506}
3508350735093508/*
35093509+ * Return the maximum number of color channels specified for a given photometric
35103510+ * type. 0 is returned if photometric type isn't supported or no default value
35113511+ * is defined by the specification.
35123512+ */
35133513+static int _TIFFGetMaxColorChannels( uint16 photometric )
35143514+{
35153515+ switch (photometric) {
35163516+ case PHOTOMETRIC_PALETTE:
35173517+ case PHOTOMETRIC_MINISWHITE:
35183518+ case PHOTOMETRIC_MINISBLACK:
35193519+ return 1;
35203520+ case PHOTOMETRIC_YCBCR:
35213521+ case PHOTOMETRIC_RGB:
35223522+ case PHOTOMETRIC_CIELAB:
35233523+ case PHOTOMETRIC_LOGLUV:
35243524+ case PHOTOMETRIC_ITULAB:
35253525+ case PHOTOMETRIC_ICCLAB:
35263526+ return 3;
35273527+ case PHOTOMETRIC_SEPARATED:
35283528+ case PHOTOMETRIC_MASK:
35293529+ return 4;
35303530+ case PHOTOMETRIC_LOGL:
35313531+ case PHOTOMETRIC_CFA:
35323532+ default:
35333533+ return 0;
35343534+ }
35353535+}
35363536+35373537+/*
35103538 * Read the next TIFF directory from a file and convert it to the internal
35113539 * format. We read directories sequentially.
35123540 */
···35223550 uint32 fii=FAILED_FII;
35233551 toff_t nextdiroff;
35243552 int bitspersample_read = FALSE;
35533553+ int color_channels;
3525355435263555 tif->tif_diroff=tif->tif_nextdiroff;
35273556 if (!TIFFCheckDirOffset(tif,tif->tif_nextdiroff))
···40264055 }
40274056 }
40284057 }
40584058+40594059+ /*
40604060+ * Make sure all non-color channels are extrasamples.
40614061+ * If it's not the case, define them as such.
40624062+ */
40634063+ color_channels = _TIFFGetMaxColorChannels(tif->tif_dir.td_photometric);
40644064+ if (color_channels && tif->tif_dir.td_samplesperpixel - tif->tif_dir.td_extrasamples > color_channels) {
40654065+ uint16 old_extrasamples;
40664066+ uint16 *new_sampleinfo;
40674067+40684068+ TIFFWarningExt(tif->tif_clientdata,module, "Sum of Photometric type-related "
40694069+ "color channels and ExtraSamples doesn't match SamplesPerPixel. "
40704070+ "Defining non-color channels as ExtraSamples.");
40714071+40724072+ old_extrasamples = tif->tif_dir.td_extrasamples;
40734073+ tif->tif_dir.td_extrasamples = (uint16) (tif->tif_dir.td_samplesperpixel - color_channels);
40744074+40754075+ // sampleinfo should contain information relative to these new extra samples
40764076+ new_sampleinfo = (uint16*) _TIFFcalloc(tif->tif_dir.td_extrasamples, sizeof(uint16));
40774077+ if (!new_sampleinfo) {
40784078+ TIFFErrorExt(tif->tif_clientdata, module, "Failed to allocate memory for "
40794079+ "temporary new sampleinfo array (%d 16 bit elements)",
40804080+ tif->tif_dir.td_extrasamples);
40814081+ goto bad;
40824082+ }
40834083+40844084+ memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16));
40854085+ _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, new_sampleinfo, tif->tif_dir.td_extrasamples);
40864086+ _TIFFfree(new_sampleinfo);
40874087+ }
40884088+40294089 /*
40304090 * Verify Palette image has a Colormap.
40314091 */
···48814941 err=TIFFReadDirEntryByteArray(tif,dp,&data);
48824942 if (err==TIFFReadDirEntryErrOk)
48834943 {
48844884- uint8* ma;
48854885- uint32 mb;
49444944+ uint32 mb = 0;
48864945 int n;
48874887- ma=data;
48884888- mb=0;
48894889- while (mb<(uint32)dp->tdir_count)
49464946+ if (data != NULL)
48904947 {
48914891- if (*ma==0)
48924892- break;
48934893- ma++;
48944894- mb++;
49484948+ uint8* ma = data;
49494949+ while (mb<(uint32)dp->tdir_count)
49504950+ {
49514951+ if (*ma==0)
49524952+ break;
49534953+ ma++;
49544954+ mb++;
49554955+ }
48954956 }
48964957 if (mb+1<(uint32)dp->tdir_count)
48974958 TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" contains null byte in value; value incorrectly truncated during reading due to implementation limitations",fip->field_name);
···51415202 if (err==TIFFReadDirEntryErrOk)
51425203 {
51435204 int m;
51445144- if( dp->tdir_count > 0 && data[dp->tdir_count-1] != '\0' )
51455145- {
51465146- TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" does not end in null byte. Forcing it to be null",fip->field_name);
51475147- data[dp->tdir_count-1] = '\0';
51485148- }
52055205+ if( data != 0 && dp->tdir_count > 0 && data[dp->tdir_count-1] != '\0' )
52065206+ {
52075207+ TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" does not end in null byte. Forcing it to be null",fip->field_name);
52085208+ data[dp->tdir_count-1] = '\0';
52095209+ }
51495210 m=TIFFSetField(tif,dp->tdir_tag,(uint16)(dp->tdir_count),data);
51505211 if (data!=0)
51515212 _TIFFfree(data);
···53185379 if (err==TIFFReadDirEntryErrOk)
53195380 {
53205381 int m;
53215321- if( dp->tdir_count > 0 && data[dp->tdir_count-1] != '\0' )
53225322- {
53235323- TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" does not end in null byte. Forcing it to be null",fip->field_name);
53245324- data[dp->tdir_count-1] = '\0';
53255325- }
53825382+ if( data != 0 && dp->tdir_count > 0 && data[dp->tdir_count-1] != '\0' )
53835383+ {
53845384+ TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" does not end in null byte. Forcing it to be null",fip->field_name);
53855385+ data[dp->tdir_count-1] = '\0';
53865386+ }
53265387 m=TIFFSetField(tif,dp->tdir_tag,(uint32)(dp->tdir_count),data);
53275388 if (data!=0)
53285389 _TIFFfree(data);
···56975758 nstrips = TIFFhowmany_32(td->td_imagelength, rowsperstrip);
56985759 if( nstrips == 0 )
56995760 return;
57615761+57625762+ /* If we are going to allocate a lot of memory, make sure that the */
57635763+ /* file is as big as needed */
57645764+ if( tif->tif_mode == O_RDONLY &&
57655765+ nstrips > 1000000 &&
57665766+ (offset >= TIFFGetFileSize(tif) ||
57675767+ stripbytes > (TIFFGetFileSize(tif) - offset) / (nstrips - 1)) )
57685768+ {
57695769+ return;
57705770+ }
5700577157015772 newcounts = (uint64*) _TIFFCheckMalloc(tif, nstrips, sizeof (uint64),
57025773 "for chopped \"StripByteCounts\" array");
+5-4
dll/3rdparty/libtiff/tif_dirwrite.c
···11-/* $Id: tif_dirwrite.c,v 1.89 2017-08-23 13:33:42 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···697695 }
698696 break;
699697 default:
700700- assert(0); /* we should never get here */
701701- break;
698698+ TIFFErrorExt(tif->tif_clientdata,module,
699699+ "Cannot write tag %d (%s)",
700700+ TIFFFieldTag(o),
701701+ o->field_name ? o->field_name : "unknown");
702702+ goto bad;
702703 }
703704 }
704705 }
···11-/* $Id: tif_jpeg.c,v 1.134 2017-10-17 19:04:47 erouault Exp $ */
22-31/*
42 * Copyright (c) 1994-1997 Sam Leffler
53 * Copyright (c) 1994-1997 Silicon Graphics, Inc.
···2725#define WIN32_LEAN_AND_MEAN
2826#define VC_EXTRALEAN
29273030-#include <precomp.h>
2828+#include "tiffiop.h"
2929+#include <stdlib.h>
31303231#ifdef JPEG_SUPPORT
3332···7574 "JPEGLib: JPEG parameter struct mismatch: library thinks size is 432,
7675 caller expects 464"
77767878- For such users we wil fix the problem here. See install.doc file from
7777+ For such users we will fix the problem here. See install.doc file from
7978 the JPEG library distribution for details.
8079*/
8180
+6-6
dll/3rdparty/libtiff/tif_luv.c
···11-/* $Id: tif_luv.c,v 1.49 2017-07-24 12:47:30 erouault Exp $ */
22-31/*
42 * Copyright (c) 1997 Greg Ward Larson
53 * Copyright (c) 1997 Silicon Graphics, Inc.
···215213 bp = (unsigned char*) tif->tif_rawcp;
216214 cc = tif->tif_rawcc;
217215 /* get each byte string */
218218- for (shft = 2*8; (shft -= 8) >= 0; ) {
216216+ for (shft = 8; shft >= 0; shft -=8) {
219217 for (i = 0; i < npixels && cc > 0; ) {
220218 if (*bp >= 128) { /* run */
221219 if( cc < 2 )
···349347 bp = (unsigned char*) tif->tif_rawcp;
350348 cc = tif->tif_rawcc;
351349 /* get each byte string */
352352- for (shft = 4*8; (shft -= 8) >= 0; ) {
350350+ for (shft = 24; shft >= 0; shft -=8) {
353351 for (i = 0; i < npixels && cc > 0; ) {
354352 if (*bp >= 128) { /* run */
355353 if( cc < 2 )
···467465 /* compress each byte string */
468466 op = tif->tif_rawcp;
469467 occ = tif->tif_rawdatasize - tif->tif_rawcc;
470470- for (shft = 2*8; (shft -= 8) >= 0; )
468468+ for (shft = 8; shft >= 0; shft -=8) {
471469 for (i = 0; i < npixels; i += rc) {
472470 if (occ < 4) {
473471 tif->tif_rawcp = op;
···522520 } else
523521 rc = 0;
524522 }
523523+ }
525524 tif->tif_rawcp = op;
526525 tif->tif_rawcc = tif->tif_rawdatasize - occ;
527526···618617 /* compress each byte string */
619618 op = tif->tif_rawcp;
620619 occ = tif->tif_rawdatasize - tif->tif_rawcc;
621621- for (shft = 4*8; (shft -= 8) >= 0; )
620620+ for (shft = 24; shft >= 0; shft -=8) {
622621 for (i = 0; i < npixels; i += rc) {
623622 if (occ < 4) {
624623 tif->tif_rawcp = op;
···673672 } else
674673 rc = 0;
675674 }
675675+ }
676676 tif->tif_rawcp = op;
677677 tif->tif_rawcc = tif->tif_rawdatasize - occ;
678678
···11-/* $Id: tif_ojpeg.c,v 1.69 2017-04-27 17:29:26 erouault Exp $ */
22-31/* WARNING: The type of JPEG encapsulation defined by the TIFF Version 6.0
42 specification is now totally obsolete and deprecated for new applications and
53 images. This file was was created solely in order to read unconverted images
···123121#define WIN32_LEAN_AND_MEAN
124122#define VC_EXTRALEAN
125123126126-#include <precomp.h>
127127-124124+#include "tiffiop.h"
128125#ifdef OJPEG_SUPPORT
129126130127/* Configuration defines here are:
···11-/* $Id: tif_predict.h,v 1.9 2016-10-31 17:24:26 erouault Exp $ */
22-31/*
42 * Copyright (c) 1995-1997 Sam Leffler
53 * Copyright (c) 1995-1997 Silicon Graphics, Inc.
···26242725#ifndef _TIFFPREDICT_
2826#define _TIFFPREDICT_
2727+2828+#include "tiffio.h"
2929+#include "tiffiop.h"
3030+2931/*
3032 * ``Library-private'' Support for the Predictor Tag
3133 */
+16-2
sdk/include/reactos/libs/libtiff/tiff.h
···11-/* $Id: tiff.h,v 1.70 2016-01-23 21:20:34 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···189187#define COMPRESSION_SGILOG 34676 /* SGI Log Luminance RLE */
190188#define COMPRESSION_SGILOG24 34677 /* SGI Log 24-bit packed */
191189#define COMPRESSION_JP2000 34712 /* Leadtools JPEG2000 */
190190+#define COMPRESSION_LERC 34887 /* ESRI Lerc codec: https://github.com/Esri/lerc */
191191+/* compression codes 34887-34889 are reserved for ESRI */
192192#define COMPRESSION_LZMA 34925 /* LZMA2 */
193193+#define COMPRESSION_ZSTD 50000 /* ZSTD: WARNING not registered in Adobe-maintained registry */
194194+#define COMPRESSION_WEBP 50001 /* WEBP: WARNING not registered in Adobe-maintained registry */
193195#define TIFFTAG_PHOTOMETRIC 262 /* photometric interpretation */
194196#define PHOTOMETRIC_MINISWHITE 0 /* min value is white */
195197#define PHOTOMETRIC_MINISBLACK 1 /* min value is black */
···450452/* tag 34929 is a private tag registered to FedEx */
451453#define TIFFTAG_FEDEX_EDR 34929 /* unknown use */
452454#define TIFFTAG_INTEROPERABILITYIFD 40965 /* Pointer to Interoperability private directory */
455455+/* tags 50674 to 50677 are reserved for ESRI */
456456+#define TIFFTAG_LERC_PARAMETERS 50674 /* Stores LERC version and additional compression method */
453457/* Adobe Digital Negative (DNG) format tags */
454458#define TIFFTAG_DNGVERSION 50706 /* &DNG version number */
455459#define TIFFTAG_DNGBACKWARDVERSION 50707 /* &DNG compatibility version */
···603607#define TIFFTAG_PERSAMPLE 65563 /* interface for per sample tags */
604608#define PERSAMPLE_MERGED 0 /* present as a single value */
605609#define PERSAMPLE_MULTI 1 /* present as multiple values */
610610+#define TIFFTAG_ZSTD_LEVEL 65564 /* ZSTD compression level */
611611+#define TIFFTAG_LERC_VERSION 65565 /* LERC version */
612612+#define LERC_VERSION_2_4 4
613613+#define TIFFTAG_LERC_ADD_COMPRESSION 65566 /* LERC additional compression */
614614+#define LERC_ADD_COMPRESSION_NONE 0
615615+#define LERC_ADD_COMPRESSION_DEFLATE 1
616616+#define LERC_ADD_COMPRESSION_ZSTD 2
617617+#define TIFFTAG_LERC_MAXZERROR 65567 /* LERC maximum error */
618618+#define TIFFTAG_WEBP_LEVEL 65568 /* WebP compression level: WARNING not registered in Adobe-maintained registry */
619619+#define TIFFTAG_WEBP_LOSSLESS 65569 /* WebP lossless/lossy : WARNING not registered in Adobe-maintained registry */
606620607621/*
608622 * EXIF tags
-9
sdk/include/reactos/libs/libtiff/tiffconf.h
···77#ifndef _TIFFCONF_
88#define _TIFFCONF_
991010-/* Define to 1 if the system has the type `int16'. */
1111-/* #undef HAVE_INT16 */
1212-1313-/* Define to 1 if the system has the type `int32'. */
1414-/* #undef HAVE_INT32 */
1515-1616-/* Define to 1 if the system has the type `int8'. */
1717-/* #undef HAVE_INT8 */
1818-1910/* The size of a `int', as computed by sizeof. */
2011#define SIZEOF_INT 4
2112
-9
sdk/include/reactos/libs/libtiff/tiffconf.vc.h
···77#ifndef _TIFFCONF_
88#define _TIFFCONF_
991010-/* Define to 1 if the system has the type `int16'. */
1111-/* #undef HAVE_INT16 */
1212-1313-/* Define to 1 if the system has the type `int32'. */
1414-/* #undef HAVE_INT32 */
1515-1616-/* Define to 1 if the system has the type `int8'. */
1717-/* #undef HAVE_INT8 */
1818-1910/* The size of a `int', as computed by sizeof. */
2011#define SIZEOF_INT 4
2112
-11
sdk/include/reactos/libs/libtiff/tiffconf.wince.h
···11-/* $Id: tiffconf.wince.h,v 1.3 2010-03-10 18:56:49 bfriesen Exp $ */
22-31/*
42 * Windows CE platform tiffconf.wince.h
53 * Created by Mateusz Loskot (mateusz@loskot.net)
···26242725#ifndef _TIFFCONF_
2826#define _TIFFCONF_
2929-3030-/* Define to 1 if the system has the type `int16'. */
3131-/* #undef HAVE_INT16 */
3232-3333-/* Define to 1 if the system has the type `int32'. */
3434-/* #undef HAVE_INT32 */
3535-3636-/* Define to 1 if the system has the type `int8'. */
3737-/* #undef HAVE_INT8 */
38273928/* The size of a `int', as computed by sizeof. */
4029#define SIZEOF_INT 4
+1-3
sdk/include/reactos/libs/libtiff/tiffio.h
···11-/* $Id: tiffio.h,v 1.94 2017-01-11 19:02:49 erouault Exp $ */
22-31/*
42 * Copyright (c) 1988-1997 Sam Leffler
53 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
···5250 * promoted type (i.e. one of int, unsigned int, pointer,
5351 * or double) and because we defined pseudo-tags that are
5452 * outside the range of legal Aldus-assigned tags.
5555- * NB: tsize_t is int32 and not uint32 because some functions
5353+ * NB: tsize_t is signed and not unsigned because some functions
5654 * return -1.
5755 * NB: toff_t is not off_t for many reasons; TIFFs max out at
5856 * 32-bit file offsets, and BigTIFF maxes out at 64-bit
···11-#define TIFFLIB_VERSION_STR "LIBTIFF, Version 4.0.9\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc."
11+#define TIFFLIB_VERSION_STR "LIBTIFF, Version 4.0.10\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc."
22/*
33 * This define can be used in code that requires
44 * compilation-related definitions specific to a
···66 * version checking should be done based on the
77 * string returned by TIFFGetVersion.
88 */
99-#define TIFFLIB_VERSION 20171118
99+#define TIFFLIB_VERSION 20181110