tiffconf.h
Go to the documentation of this file.
1 /*
2  Configuration defines for installed libtiff.
3  This file maintained for backward compatibility. Do not use definitions
4  from this file in your programs.
5 */
6 
7 /* clang-format off */
8 /* clang-format disabled because CMake scripts are very sensitive to the
9  * formatting of this file. configure_file variables of type "" are
10  * modified by clang-format and won't be substituted.
11  */
12 
13 #ifndef _TIFFCONF_
14 #define _TIFFCONF_
15 
16 
17 #include <stddef.h>
18 #include <stdint.h>
19 #include <inttypes.h>
20 
21 
22 /* Signed 16-bit type */
23 #define TIFF_INT16_T int16_t
24 
25 /* Signed 32-bit type */
26 #define TIFF_INT32_T int32_t
27 
28 /* Signed 64-bit type */
29 #define TIFF_INT64_T int64_t
30 
31 /* Signed 8-bit type */
32 #define TIFF_INT8_T int8_t
33 
34 /* Unsigned 16-bit type */
35 #define TIFF_UINT16_T uint16_t
36 
37 /* Unsigned 32-bit type */
38 #define TIFF_UINT32_T uint32_t
39 
40 /* Unsigned 64-bit type */
41 #define TIFF_UINT64_T uint64_t
42 
43 /* Unsigned 8-bit type */
44 #define TIFF_UINT8_T uint8_t
45 
46 /* Signed size type */
47 #define TIFF_SSIZE_T int64_t
48 
49 /* Compatibility stuff. */
50 
51 /* Define as 0 or 1 according to the floating point format supported by the
52  machine */
53 #define HAVE_IEEEFP 1
54 
55 /* The concept of HOST_FILLORDER is broken. Since libtiff 4.5.1
56  * this macro will always be hardcoded to FILLORDER_LSB2MSB on all
57  * architectures, to reflect past long behavior of doing so on x86 architecture.
58  * Note however that the default FillOrder used by libtiff is FILLORDER_MSB2LSB,
59  * as mandated per the TIFF specification.
60  * The influence of HOST_FILLORDER is only when passing the 'H' mode in
61  * TIFFOpen().
62  * You should NOT rely on this macro to decide the CPU endianness!
63  * This macro will be removed in libtiff 4.6
64  */
65 #define HOST_FILLORDER FILLORDER_LSB2MSB
66 
67 /* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian
68  (Intel) */
69 #define HOST_BIGENDIAN 0
70 
71 /* Support CCITT Group 3 & 4 algorithms */
72 #define CCITT_SUPPORT 1
73 
74 /* Support JPEG compression (requires IJG JPEG library) */
75 #define JPEG_SUPPORT 1
76 
77 /* Support JBIG compression (requires JBIG-KIT library) */
78 /* #undef JBIG_SUPPORT */
79 
80 /* Support LERC compression */
81 /* #undef LERC_SUPPORT */
82 
83 /* Support LogLuv high dynamic range encoding */
84 /* #undef LOGLUV_SUPPORT */
85 
86 /* Support LZW algorithm */
87 /* #undef LZW_SUPPORT */
88 
89 /* Support NeXT 2-bit RLE algorithm */
90 #define NEXT_SUPPORT 1
91 
92 /* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation
93  fails with unpatched IJG JPEG library) */
94 #define OJPEG_SUPPORT 1
95 
96 /* Support Macintosh PackBits algorithm */
97 #define PACKBITS_SUPPORT 1
98 
99 /* Support Pixar log-format algorithm (requires Zlib) */
100 /* #undef PIXARLOG_SUPPORT */
101 
102 /* Support ThunderScan 4-bit RLE algorithm */
103 #define THUNDER_SUPPORT 1
104 
105 /* Support Deflate compression */
106 #define ZIP_SUPPORT 1
107 
108 /* Support libdeflate enhanced compression */
109 /* #undef LIBDEFLATE_SUPPORT */
110 
111 /* Support strip chopping (whether or not to convert single-strip uncompressed
112  images to multiple strips of ~8Kb to reduce memory usage) */
113 #define STRIPCHOP_DEFAULT TIFF_STRIPCHOP
114 
115 /* Enable SubIFD tag (330) support */
116 #define SUBIFD_SUPPORT 1
117 
118 /* Treat extra sample as alpha (default enabled). The RGBA interface will
119  treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many
120  packages produce RGBA files but don't mark the alpha properly. */
121 /* #undef DEFAULT_EXTRASAMPLE_AS_ALPHA */
122 
123 /* Pick up YCbCr subsampling info from the JPEG data stream to support files
124  lacking the tag (default enabled). */
125 /* #undef CHECK_JPEG_YCBCR_SUBSAMPLING */
126 
127 /* Support MS MDI magic number files as TIFF */
128 #define MDI_SUPPORT 1
129 
130 /*
131  * Feature support definitions.
132  * XXX: These macros are obsoleted. Don't use them in your apps!
133  * Macros stays here for backward compatibility and should be always defined.
134  */
135 #define COLORIMETRY_SUPPORT
136 #define YCBCR_SUPPORT
137 #define CMYK_SUPPORT
138 #define ICC_SUPPORT
139 #define PHOTOSHOP_SUPPORT
140 #define IPTC_SUPPORT
141 
142 #define TIFF_SHARED_LIBS 1
143 
144 #endif /* _TIFFCONF_ */
145 
146 /* clang-format on */