]> git.saurik.com Git - wxWidgets.git/blame - src/tiff/tiffconf.h
Applied patch from Bo, WIP
[wxWidgets.git] / src / tiff / tiffconf.h
CommitLineData
b47c832e
RR
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
00cb87b4 36 * line by defining COMPRESSION_SUPPORT (see below).
b47c832e
RR
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
00cb87b4
VZ
54 * USE_64BIT_API set to 1 if tif_unix.c should use lseek64(),
55 * fstat64() and stat64 allowing 2-4GB files.
b47c832e
RR
56 */
57#ifndef HAVE_IEEEFP
58#define HAVE_IEEEFP 1
59#endif
60#ifndef HOST_FILLORDER
61#define HOST_FILLORDER FILLORDER_MSB2LSB
62#endif
63#ifndef HOST_BIGENDIAN
64#define HOST_BIGENDIAN 1
65#endif
66
00cb87b4
VZ
67#ifndef USE_64BIT_API
68# define USE_64BIT_API 0
69#endif
b47c832e
RR
70
71#ifndef COMPRESSION_SUPPORT
72/*
73 * Compression support defines:
74 *
75 * CCITT_SUPPORT enable support for CCITT Group 3 & 4 algorithms
76 * PACKBITS_SUPPORT enable support for Macintosh PackBits algorithm
77 * LZW_SUPPORT enable support for LZW algorithm
78 * THUNDER_SUPPORT enable support for ThunderScan 4-bit RLE algorithm
79 * NEXT_SUPPORT enable support for NeXT 2-bit RLE algorithm
80 * OJPEG_SUPPORT enable support for 6.0-style JPEG DCT algorithms
00cb87b4 81 * (requires IJG software)
b47c832e
RR
82 * JPEG_SUPPORT enable support for post-6.0-style JPEG DCT algorithms
83 * (requires freely available IJG software, see tif_jpeg.c)
84 * ZIP_SUPPORT enable support for Deflate algorithm
85 * (requires freely available zlib software, see tif_zip.c)
86 * PIXARLOG_SUPPORT enable support for Pixar log-format algorithm
87 * LOGLUV_SUPPORT enable support for LogLuv high dynamic range encoding
88 */
89#define CCITT_SUPPORT
90#define PACKBITS_SUPPORT
91#define LZW_SUPPORT
92#define THUNDER_SUPPORT
93#define NEXT_SUPPORT
94#define LOGLUV_SUPPORT
95#endif /* COMPRESSION_SUPPORT */
96
97/*
98 * If JPEG compression is enabled then we must also include
99 * support for the colorimetry and YCbCr-related tags.
100 */
101#ifdef JPEG_SUPPORT
102#ifndef YCBCR_SUPPORT
103#define YCBCR_SUPPORT
104#endif
105#ifndef COLORIMETRY_SUPPORT
106#define COLORIMETRY_SUPPORT
107#endif
108#endif /* JPEG_SUPPORT */
109
110/*
111 * ``Orthogonal Features''
112 *
113 * STRIPCHOP_DEFAULT default handling of strip chopping support (whether
114 * or not to convert single-strip uncompressed images
115 * to mutiple strips of ~8Kb--to reduce memory use)
116 * SUBIFD_SUPPORT enable support for SubIFD tag (thumbnails and such)
00cb87b4
VZ
117 * DEFAULT_EXTRASAMPLE_AS_ALPHA
118 * The RGBA interface will treat a fourth sample with
119 * no EXTRASAMPLE_ value as being ASSOCALPHA. Many
120 * packages produce RGBA files but don't mark the alpha
121 * properly.
122 * CHECK_JPEG_YCBCR_SUBSAMPLING
123 * Enable picking up YCbCr subsampling info from the
124 * JPEG data stream to support files lacking the tag.
125 * See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling()
126 * for details.
b47c832e
RR
127 */
128#ifndef STRIPCHOP_DEFAULT
129#define STRIPCHOP_DEFAULT TIFF_STRIPCHOP /* default is to enable */
130#endif
131#ifndef SUBIFD_SUPPORT
132#define SUBIFD_SUPPORT 1 /* enable SubIFD tag (330) support */
133#endif
00cb87b4
VZ
134#ifndef DEFAULT_EXTRASAMPLE_AS_ALPHA
135#define DEFAULT_EXTRASAMPLE_AS_ALPHA 1
136#endif
137#ifndef CHECK_JPEG_YCBCR_SUBSAMPLING
138#define CHECK_JPEG_YCBCR_SUBSAMPLING 1
139#endif
140
141/*
142 * Feature support definitions.
143 * XXX: These macros are obsoleted. Don't use them in your apps!
144 * Macros stays here for backward compatibility and should be always defined.
145 */
146#define COLORIMETRY_SUPPORT
147#define YCBCR_SUPPORT
148#define CMYK_SUPPORT
149#define ICC_SUPPORT
150#define PHOTOSHOP_SUPPORT
151#define IPTC_SUPPORT
152
b47c832e 153#endif /* _TIFFCONF_ */