]> git.saurik.com Git - wxWidgets.git/blob - src/tiff/tiffconf.h
Added chapter on collection and container classes to contents
[wxWidgets.git] / src / tiff / tiffconf.h
1 /* $Header$ */
2 /*
3 * Copyright (c) 1988-1997 Sam Leffler
4 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and
7 * its documentation for any purpose is hereby granted without fee, provided
8 * that (i) the above copyright notices and this permission notice appear in
9 * all copies of the software and related documentation, and (ii) the names of
10 * Sam Leffler and Silicon Graphics may not be used in any advertising or
11 * publicity relating to the software without the specific, prior written
12 * permission of Sam Leffler and Silicon Graphics.
13 *
14 * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
15 * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
16 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
17 *
18 * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
19 * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
20 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
21 * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
22 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23 * OF THIS SOFTWARE.
24 */
25
26 #ifndef _TIFFCONF_
27 #define _TIFFCONF_
28 /*
29 * Library Configuration Definitions.
30 *
31 * This file defines the default configuration for the library.
32 * If the target system does not have make or a way to specify
33 * #defines on the command line, this file can be edited to
34 * configure the library. Otherwise, one can override portability
35 * and configuration-related definitions from a Makefile or command
36 * line by defining FEATURE_SUPPORT and COMPRESSION_SUPPORT (see below).
37 */
38
39 /*
40 * General portability-related defines:
41 *
42 * HAVE_IEEEFP define as 0 or 1 according to the floating point
43 * format suported by the machine
44 * BSDTYPES define this if your system does NOT define the
45 * usual 4BSD typedefs u_int et. al.
46 * HAVE_MMAP enable support for memory mapping read-only files;
47 * this is typically deduced by the configure script
48 * HOST_FILLORDER native cpu bit order: one of FILLORDER_MSB2LSB
49 * or FILLODER_LSB2MSB; this is typically set by the
50 * configure script
51 * HOST_BIGENDIAN native cpu byte order: 1 if big-endian (Motorola)
52 * or 0 if little-endian (Intel); this may be used
53 * in codecs to optimize code
54 */
55 #ifndef HAVE_IEEEFP
56 #define HAVE_IEEEFP 1
57 #endif
58 #ifndef HOST_FILLORDER
59 #define HOST_FILLORDER FILLORDER_MSB2LSB
60 #endif
61 #ifndef HOST_BIGENDIAN
62 #define HOST_BIGENDIAN 1
63 #endif
64
65 #ifndef FEATURE_SUPPORT
66 /*
67 * Feature support definitions:
68 *
69 * COLORIMETRY_SUPPORT enable support for 6.0 colorimetry tags
70 * YCBCR_SUPPORT enable support for 6.0 YCbCr tags
71 * CMYK_SUPPORT enable support for 6.0 CMYK tags
72 * ICC_SUPPORT enable support for ICC profile tag
73 * PHOTOSHOP_SUPPORT enable support for PHOTOSHOP resource tag
74 * IPTC_SUPPORT enable support for RichTIFF IPTC tag
75 */
76 #define COLORIMETRY_SUPPORT
77 #define YCBCR_SUPPORT
78 #define CMYK_SUPPORT
79 #define ICC_SUPPORT
80 #define PHOTOSHOP_SUPPORT
81 #define IPTC_SUPPORT
82 #endif /* FEATURE_SUPPORT */
83
84 #ifndef COMPRESSION_SUPPORT
85 /*
86 * Compression support defines:
87 *
88 * CCITT_SUPPORT enable support for CCITT Group 3 & 4 algorithms
89 * PACKBITS_SUPPORT enable support for Macintosh PackBits algorithm
90 * LZW_SUPPORT enable support for LZW algorithm
91 * THUNDER_SUPPORT enable support for ThunderScan 4-bit RLE algorithm
92 * NEXT_SUPPORT enable support for NeXT 2-bit RLE algorithm
93 * OJPEG_SUPPORT enable support for 6.0-style JPEG DCT algorithms
94 * (no builtin support, only a codec hook)
95 * JPEG_SUPPORT enable support for post-6.0-style JPEG DCT algorithms
96 * (requires freely available IJG software, see tif_jpeg.c)
97 * ZIP_SUPPORT enable support for Deflate algorithm
98 * (requires freely available zlib software, see tif_zip.c)
99 * PIXARLOG_SUPPORT enable support for Pixar log-format algorithm
100 * LOGLUV_SUPPORT enable support for LogLuv high dynamic range encoding
101 */
102 #define CCITT_SUPPORT
103 #define PACKBITS_SUPPORT
104 #define LZW_SUPPORT
105 #define THUNDER_SUPPORT
106 #define NEXT_SUPPORT
107 #define LOGLUV_SUPPORT
108 #endif /* COMPRESSION_SUPPORT */
109
110 /*
111 * If JPEG compression is enabled then we must also include
112 * support for the colorimetry and YCbCr-related tags.
113 */
114 #ifdef JPEG_SUPPORT
115 #ifndef YCBCR_SUPPORT
116 #define YCBCR_SUPPORT
117 #endif
118 #ifndef COLORIMETRY_SUPPORT
119 #define COLORIMETRY_SUPPORT
120 #endif
121 #endif /* JPEG_SUPPORT */
122
123 /*
124 * ``Orthogonal Features''
125 *
126 * STRIPCHOP_DEFAULT default handling of strip chopping support (whether
127 * or not to convert single-strip uncompressed images
128 * to mutiple strips of ~8Kb--to reduce memory use)
129 * SUBIFD_SUPPORT enable support for SubIFD tag (thumbnails and such)
130 */
131 #ifndef STRIPCHOP_DEFAULT
132 #define STRIPCHOP_DEFAULT TIFF_STRIPCHOP /* default is to enable */
133 #endif
134 #ifndef SUBIFD_SUPPORT
135 #define SUBIFD_SUPPORT 1 /* enable SubIFD tag (330) support */
136 #endif
137 #endif /* _TIFFCONF_ */