37#ifdef HAVE_SYS_TYPES_H
56#ifndef STRIP_SIZE_DEFAULT
57#define STRIP_SIZE_DEFAULT 8192
60#ifndef TIFF_MAX_DIR_COUNT
61#define TIFF_MAX_DIR_COUNT 1048576
64#define TIFF_NON_EXISTENT_DIR_NUMBER UINT_MAX
66#define streq(a, b) (strcmp(a, b) == 0)
67#define strneq(a, b, n) (strncmp(a, b, n) == 0)
118#define TIFF_FILLORDER 0x00003U
119#define TIFF_DIRTYHEADER 0x00004U
120#define TIFF_DIRTYDIRECT 0x00008U
121#define TIFF_BUFFERSETUP 0x00010U
122#define TIFF_CODERSETUP 0x00020U
123#define TIFF_BEENWRITING 0x00040U
124#define TIFF_SWAB 0x00080U
125#define TIFF_NOBITREV 0x00100U
126#define TIFF_MYBUFFER 0x00200U
127#define TIFF_ISTILED 0x00400U
128#define TIFF_MAPPED 0x00800U
129#define TIFF_POSTENCODE 0x01000U
130#define TIFF_INSUBIFD 0x02000U
131#define TIFF_UPSAMPLED 0x04000U
132#define TIFF_STRIPCHOP 0x08000U
133#define TIFF_HEADERONLY \
135#define TIFF_NOREADRAW \
137#define TIFF_INCUSTOMIFD 0x40000U
138#define TIFF_BIGTIFF 0x80000U
139#define TIFF_BUF4WRITE 0x100000U
140#define TIFF_DIRTYSTRIP 0x200000U
141#define TIFF_PERSAMPLE 0x400000U
142#define TIFF_BUFFERMMAP \
144#define TIFF_DEFERSTRILELOAD \
146#define TIFF_LAZYSTRILELOAD \
150#define TIFF_CHOPPEDUPARRAYS \
275#define isPseudoTag(t) (t > 0xffff)
277#define isTiled(tif) (((tif)->tif_flags & TIFF_ISTILED) != 0)
278#define isMapped(tif) (((tif)->tif_flags & TIFF_MAPPED) != 0)
279#define isFillOrder(tif, o) (((tif)->tif_flags & (o)) != 0)
280#define isUpSampled(tif) (((tif)->tif_flags & TIFF_UPSAMPLED) != 0)
281#define TIFFReadFile(tif, buf, size) \
282 ((*(tif)->tif_readproc)((tif)->tif_clientdata, (buf), (size)))
283#define TIFFWriteFile(tif, buf, size) \
284 ((*(tif)->tif_writeproc)((tif)->tif_clientdata, (buf), (size)))
285#define TIFFSeekFile(tif, off, whence) \
286 ((*(tif)->tif_seekproc)((tif)->tif_clientdata, (off), (whence)))
287#define TIFFCloseFile(tif) ((*(tif)->tif_closeproc)((tif)->tif_clientdata))
288#define TIFFGetFileSize(tif) ((*(tif)->tif_sizeproc)((tif)->tif_clientdata))
289#define TIFFMapFileContents(tif, paddr, psize) \
290 ((*(tif)->tif_mapproc)((tif)->tif_clientdata, (paddr), (psize)))
291#define TIFFUnmapFileContents(tif, addr, size) \
292 ((*(tif)->tif_unmapproc)((tif)->tif_clientdata, (addr), (size)))
298#define ReadOK(tif, buf, size) (TIFFReadFile((tif), (buf), (size)) == (size))
301#define SeekOK(tif, off) _TIFFSeekOK(tif, off)
304#define WriteOK(tif, buf, size) (TIFFWriteFile((tif), (buf), (size)) == (size))
308#define TIFFhowmany_32(x, y) \
309 (((uint32_t)x < (0xffffffff - (uint32_t)(y - 1))) \
310 ? ((((uint32_t)(x)) + (((uint32_t)(y)) - 1)) / ((uint32_t)(y))) \
314#define TIFFhowmany_32_maxuint_compat(x, y) \
315 (((uint32_t)(x) / (uint32_t)(y)) + \
316 ((((uint32_t)(x) % (uint32_t)(y)) != 0) ? 1 : 0))
317#define TIFFhowmany8_32(x) \
318 (((x)&0x07) ? ((uint32_t)(x) >> 3) + 1 : (uint32_t)(x) >> 3)
319#define TIFFroundup_32(x, y) (TIFFhowmany_32(x, y) * (y))
320#define TIFFhowmany_64(x, y) \
321 ((((uint64_t)(x)) + (((uint64_t)(y)) - 1)) / ((uint64_t)(y)))
322#define TIFFhowmany8_64(x) \
323 (((x)&0x07) ? ((uint64_t)(x) >> 3) + 1 : (uint64_t)(x) >> 3)
324#define TIFFroundup_64(x, y) (TIFFhowmany_64(x, y) * (y))
328#define TIFFSafeMultiply(t, v, m) \
329 ((((t)(m) != (t)0) && (((t)(((v) * (m)) / (m))) == (t)(v))) \
333#define TIFFmax(A, B) ((A) > (B) ? (A) : (B))
334#define TIFFmin(A, B) ((A) < (B) ? (A) : (B))
336#define TIFFArrayCount(a) (sizeof(a) / sizeof((a)[0]))
344#if defined(HAVE_FSEEKO)
356#if defined(HAVE_FSEEKO)
357#define fseek(stream, offset, whence) fseeko(stream, offset, whence)
358#define ftell(stream, offset, whence) ftello(stream, offset, whence)
361#if defined(_WIN32) && \
362 !(defined(__MSVCRT_VERSION__) && __MSVCRT_VERSION__ < 0x800)
364#define _TIFF_lseek_f(fildes, offset, whence) \
365 _lseeki64(fildes, offset, whence)
367#define _TIFF_fseek_f(stream, offset, whence) \
368 _fseeki64(stream, offset, whence)
369#define _TIFF_fstat_f(fildes, stat_buff) \
370 _fstati64(fildes, stat_buff)
374#define _TIFF_stat_s struct _stati64
375#define _TIFF_off_t __int64
378#define _TIFF_lseek_f(fildes, offset, whence) lseek(fildes, offset, whence)
380#define _TIFF_fseek_f(stream, offset, whence) fseek(stream, offset, whence)
381#define _TIFF_fstat_f(fildes, stat_buff) fstat(fildes, stat_buff)
384#define _TIFF_stat_s struct stat
385#define _TIFF_off_t off_t
388#if defined(__has_attribute) && defined(__clang__)
389#if __has_attribute(no_sanitize)
390#define TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW \
391 __attribute__((no_sanitize("unsigned-integer-overflow")))
393#define TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
396#define TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
399#if defined(__cplusplus)
457 const char *
module,
const char *
fmt, ...)
490#ifdef PACKBITS_SUPPORT
497#ifdef THUNDER_SUPPORT
519#ifdef PIXARLOG_SUPPORT
539 int32_t b,
float *,
float *,
float *);
546#if defined(__cplusplus)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLboolean GLboolean GLboolean GLboolean a
_Must_inspect_result_ _Out_ LPSIZE psize
void * errorhandler_user_data
tmsize_t max_cumulated_mem_alloc
TIFFErrorHandlerExtR errorhandler
int warn_about_unknown_tags
TIFFErrorHandlerExtR warnhandler
void * warnhandler_user_data
tmsize_t max_single_mem_alloc
struct client_info * next
TIFFReadWriteProc tif_readproc
int tif_warn_about_unknown_tags
TIFFReadWriteProc tif_writeproc
const TIFFField * tif_foundfield
TIFFTileMethod tif_deftilesize
tmsize_t tif_max_single_mem_alloc
TIFFCodeMethod tif_encodestrip
uint64_t tif_lastvalidoff
TIFFUnmapFileProc tif_unmapproc
TIFFSeekProc tif_seekproc
TIFFCodeMethod tif_encodetile
TIFFTagMethods tif_tagmethods
int tif_setdirectory_force_absolute
TIFFErrorHandlerExtR tif_errorhandler
tmsize_t tif_scanlinesize
TIFFPreMethod tif_preencode
TIFFBoolMethod tif_fixuptags
TIFFHashSet * tif_map_dir_number_to_offset
TIFFDirectory tif_customdir
tmsize_t tif_rawdataloaded
TIFFPreMethod tif_predecode
void * tif_errorhandler_user_data
TIFFCodeMethod tif_decodestrip
TIFFCloseProc tif_closeproc
TIFFClientInfoLink * tif_clientinfo
TIFFHashSet * tif_map_dir_offset_to_number
TIFFPostMethod tif_postdecode
TIFFStripMethod tif_defstripsize
TIFFCodeMethod tif_decoderow
TIFFBoolMethod tif_setupencode
TIFFBoolMethod tif_postencode
TIFFErrorHandlerExtR tif_warnhandler
tmsize_t tif_scanlineskew
TIFFCodeMethod tif_encoderow
tmsize_t tif_cur_cumulated_mem_alloc
TIFFVoidMethod tif_cleanup
void * tif_warnhandler_user_data
TIFFMapFileProc tif_mapproc
TIFFBoolMethod tif_setupdecode
TIFFHeaderUnion tif_header
tmsize_t tif_max_cumulated_mem_alloc
TIFFCodeMethod tif_decodetile
TIFFFieldArray * tif_fieldscompat
TIFFSizeProc tif_sizeproc
#define TIFFInitCCITTRLEW
#define TIFFInitCCITTFax4
#define TIFFInitCCITTFax3
#define TIFFInitThunderScan
#define TIFF_ATTRIBUTE(x)
int(* TIFFMapFileProc)(thandle_t, void **base, toff_t *size)
void(* TIFFErrorHandler)(const char *, const char *, va_list)
int(* TIFFErrorHandlerExtR)(TIFF *, void *user_data, const char *, const char *, va_list)
void(* TIFFUnmapFileProc)(thandle_t, void *base, toff_t size)
toff_t(* TIFFSizeProc)(thandle_t)
void(* TIFFErrorHandlerExt)(thandle_t, const char *, const char *, va_list)
tmsize_t(* TIFFReadWriteProc)(thandle_t, void *, tmsize_t)
toff_t(* TIFFSeekProc)(thandle_t, toff_t, int)
int(* TIFFCloseProc)(thandle_t)
void _TIFFprintAsciiTag(FILE *, const char *, const char *)
void _TIFFDefaultTileSize(TIFF *tif, uint32_t *tw, uint32_t *th)
void _TIFFfreeExt(TIFF *tif, void *p)
tmsize_t _TIFFReadEncodedTileAndAllocBuffer(TIFF *tif, uint32_t tile, void **buf, tmsize_t bufsizetoalloc, tmsize_t size_to_read)
tmsize_t _TIFFCastUInt64ToSSize(TIFF *, uint64_t, const char *)
void _TIFFprintAscii(FILE *, const char *)
int _TIFFSeekOK(TIFF *tif, toff_t off)
int(* TIFFSeekMethod)(TIFF *, uint32_t)
uint32_t _TIFFClampDoubleToUInt32(double)
void _TIFFCleanupIFDOffsetAndNumberMaps(TIFF *tif)
void(* TIFFVoidMethod)(TIFF *)
void _TIFFsetByteArrayExt(TIFF *, void **, const void *, uint32_t)
TIFFErrorHandler _TIFFwarningHandler
TIFFErrorHandlerExt _TIFFerrorHandlerExt
uint32_t(* TIFFStripMethod)(TIFF *, uint32_t)
void(* TIFFTileMethod)(TIFF *, uint32_t *, uint32_t *)
int(* TIFFCodeMethod)(TIFF *tif, uint8_t *buf, tmsize_t size, uint16_t sample)
void _TIFFsetLongArrayExt(TIFF *, uint32_t **, const uint32_t *, uint32_t)
void _TIFFNoPostDecode(TIFF *tif, uint8_t *buf, tmsize_t cc)
tmsize_t _TIFFReadEncodedStripAndAllocBuffer(TIFF *tif, uint32_t strip, void **buf, tmsize_t bufsizetoalloc, tmsize_t size_to_read)
uint32_t _TIFFDefaultStripSize(TIFF *tif, uint32_t s)
void uint32_t _TIFFMultiply32(TIFF *, uint32_t, uint32_t, const char *)
int _TIFFNoTileDecode(TIFF *, uint8_t *pp, tmsize_t cc, uint16_t s)
TIFFErrorHandlerExt _TIFFwarningHandlerExt
tmsize_t _TIFFReadTileAndAllocBuffer(TIFF *tif, void **buf, tmsize_t bufsizetoalloc, uint32_t x, uint32_t y, uint32_t z, uint16_t s)
void(* TIFFPostMethod)(TIFF *tif, uint8_t *buf, tmsize_t size)
int _TIFFRewriteField(TIFF *, uint16_t, TIFFDataType, tmsize_t, void *)
int TIFFSetCompressionScheme(TIFF *tif, int scheme)
int _tiffDummyMapProc(thandle_t fd, void **pbase, toff_t *psize)
void * _TIFFreallocExt(TIFF *tif, void *p, tmsize_t s)
void _TIFFsetFloatArrayExt(TIFF *, float **, const float *, uint32_t)
int TIFFDefaultDirectory(TIFF *tif)
unsigned char tidataval_t
void _TIFFSwab24BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
void _TIFFSetDefaultCompressionState(TIFF *tif)
int _TIFFNoTileEncode(TIFF *, uint8_t *pp, tmsize_t cc, uint16_t s)
void _TIFFsetFloatArray(float **, const float *, uint32_t)
int TIFFJPEGIsFullStripRequired(TIFF *)
int _TIFFgetMode(TIFFOpenOptions *opts, thandle_t clientdata, const char *mode, const char *module)
void _TIFFSwab16BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
void _TIFFsetShortArray(uint16_t **, const uint16_t *, uint32_t)
void _TIFFsetLongArray(uint32_t **, const uint32_t *, uint32_t)
int _TIFFNoRowDecode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t s)
int(* TIFFPreMethod)(TIFF *, uint16_t)
void * _TIFFmallocExt(TIFF *tif, tmsize_t s)
void _TIFFsetDoubleArray(double **, const double *, uint32_t)
int TIFFFlushData1(TIFF *tif)
int(* TIFFBoolMethod)(TIFF *)
int _TIFFNoRowEncode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t s)
int _TIFFNoStripEncode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t s)
tmsize_t _TIFFMultiplySSize(TIFF *, tmsize_t, tmsize_t, const char *)
int _TIFFNoStripDecode(TIFF *tif, uint8_t *pp, tmsize_t cc, uint16_t s)
void _TIFFsetByteArray(void **, const void *, uint32_t)
void _TIFFSwab32BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
void * _TIFFcallocExt(TIFF *tif, tmsize_t nmemb, tmsize_t siz)
const TIFFCodec _TIFFBuiltinCODECS[]
float _TIFFClampDoubleToFloat(double)
int TIFFInitDumpMode(TIFF *, int)
struct client_info TIFFClientInfoLink
void _TIFFErrorEarly(TIFFOpenOptions *opts, thandle_t clientdata, const char *module, const char *fmt,...) TIFF_ATTRIBUTE((__format__(__printf__
int _TIFFNoPreCode(TIFF *tif, uint16_t s)
void TIFFCIELab16ToXYZ(TIFFCIELabToRGB *, uint32_t l, int32_t a, int32_t b, float *, float *, float *)
TIFFErrorHandler _TIFFerrorHandler
int _TIFFNoSeek(TIFF *tif, uint32_t off)
void _TIFFsetDoubleArrayExt(TIFF *, double **, const double *, uint32_t)
void _TIFFsetShortArrayExt(TIFF *, uint16_t **, const uint16_t *, uint32_t)
void * _TIFFCheckRealloc(TIFF *, void *, tmsize_t, tmsize_t, const char *)
void _tiffDummyUnmapProc(thandle_t fd, void *base, toff_t size)
void * _TIFFCheckMalloc(TIFF *, tmsize_t, tmsize_t, const char *)
uint64_t _TIFFMultiply64(TIFF *, uint64_t, uint64_t, const char *)
void _TIFFSwab64BitData(TIFF *tif, uint8_t *buf, tmsize_t cc)
int TIFFSetDefaultCompressionState(TIFF *tif)