source: trunk/third/tiff/libtiff/tiff.h @ 18174

Revision 18174, 23.8 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18173, which included commits to RCS files with non-trunk default branches.
Line 
1/* $Header: /afs/dev.mit.edu/source/repository/third/tiff/libtiff/tiff.h,v 1.1.1.1 2002-12-26 02:37:25 ghudson Exp $ */
2
3/*
4 * Copyright (c) 1988-1997 Sam Leffler
5 * Copyright (c) 1991-1997 Silicon Graphics, Inc.
6 *
7 * Permission to use, copy, modify, distribute, and sell this software and
8 * its documentation for any purpose is hereby granted without fee, provided
9 * that (i) the above copyright notices and this permission notice appear in
10 * all copies of the software and related documentation, and (ii) the names of
11 * Sam Leffler and Silicon Graphics may not be used in any advertising or
12 * publicity relating to the software without the specific, prior written
13 * permission of Sam Leffler and Silicon Graphics.
14 *
15 * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
17 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
18 *
19 * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
20 * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
21 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
22 * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24 * OF THIS SOFTWARE.
25 */
26
27#ifndef _TIFF_
28#define _TIFF_
29/*
30 * Tag Image File Format (TIFF)
31 *
32 * Based on Rev 6.0 from:
33 *    Developer's Desk
34 *    Aldus Corporation
35 *    411 First Ave. South
36 *    Suite 200
37 *    Seattle, WA  98104
38 *    206-622-5500
39 */
40#define TIFF_VERSION    42
41
42#define TIFF_BIGENDIAN          0x4d4d
43#define TIFF_LITTLEENDIAN       0x4949
44
45/*
46 * The so called TIFF types conflict with definitions from inttypes.h
47 * included from sys/types.h on AIX (at least using VisualAge compiler).
48 * We try to work around this by detecting this case.  Defining
49 * _TIFF_DATA_TYPEDEFS_ short circuits the later definitions in tiff.h, and
50 * we will in the holes not provided for by inttypes.h.
51 *
52 * See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
53 */
54#if defined(_H_INTTYPES) && defined(_ALL_SOURCE)
55
56#define _TIFF_DATA_TYPEDEFS_
57typedef unsigned char uint8;
58typedef unsigned short uint16;
59typedef unsigned int uint32;
60
61#endif
62
63/*
64 * Intrinsic data types required by the file format:
65 *
66 * 8-bit quantities     int8/uint8
67 * 16-bit quantities    int16/uint16
68 * 32-bit quantities    int32/uint32
69 * strings              unsigned char*
70 */
71#ifndef _TIFF_DATA_TYPEDEFS_
72#define _TIFF_DATA_TYPEDEFS_
73
74#ifdef __STDC__
75typedef signed char int8;       /* NB: non-ANSI compilers may not grok */
76#else
77typedef char int8;
78#endif
79typedef unsigned char uint8;
80typedef short int16;
81typedef unsigned short uint16;  /* sizeof (uint16) must == 2 */
82#if defined(__alpha) || (defined(_MIPS_SZLONG) && _MIPS_SZLONG == 64) || defined(__LP64__)
83typedef int int32;
84typedef unsigned int uint32;    /* sizeof (uint32) must == 4 */
85#else
86typedef long int32;
87typedef unsigned long uint32;   /* sizeof (uint32) must == 4 */
88#endif
89#endif /* _TIFF_DATA_TYPEDEFS_ */
90
91/*      For TIFFReassignTagToIgnore */
92enum TIFFIgnoreSense /* IGNORE tag table */
93{
94        TIS_STORE,
95        TIS_EXTRACT,
96        TIS_EMPTY
97};
98
99typedef struct {
100        uint16  tiff_magic;     /* magic number (defines byte order) */
101        uint16  tiff_version;   /* TIFF version number */
102        uint32  tiff_diroff;    /* byte offset to first directory */
103} TIFFHeader;
104
105/*
106 * TIFF Image File Directories are comprised of
107 * a table of field descriptors of the form shown
108 * below.  The table is sorted in ascending order
109 * by tag.  The values associated with each entry
110 * are disjoint and may appear anywhere in the file
111 * (so long as they are placed on a word boundary).
112 *
113 * If the value is 4 bytes or less, then it is placed
114 * in the offset field to save space.  If the value
115 * is less than 4 bytes, it is left-justified in the
116 * offset field.
117 */
118typedef struct {
119        uint16  tdir_tag;       /* see below */
120        uint16  tdir_type;      /* data type; see below */
121        uint32  tdir_count;     /* number of items; length in spec */
122        uint32  tdir_offset;    /* byte offset to field data */
123} TIFFDirEntry;
124
125/*
126 * NB: In the comments below,
127 *  - items marked with a + are obsoleted by revision 5.0,
128 *  - items marked with a ! are introduced in revision 6.0.
129 *  - items marked with a % are introduced post revision 6.0.
130 *  - items marked with a $ are obsoleted by revision 6.0.
131 */
132
133/*
134 * Tag data type information.
135 *
136 * Note: RATIONALs are the ratio of two 32-bit integer values.
137 */
138typedef enum {
139        TIFF_NOTYPE     = 0,    /* placeholder */
140        TIFF_BYTE       = 1,    /* 8-bit unsigned integer */
141        TIFF_ASCII      = 2,    /* 8-bit bytes w/ last byte null */
142        TIFF_SHORT      = 3,    /* 16-bit unsigned integer */
143        TIFF_LONG       = 4,    /* 32-bit unsigned integer */
144        TIFF_RATIONAL   = 5,    /* 64-bit unsigned fraction */
145        TIFF_SBYTE      = 6,    /* !8-bit signed integer */
146        TIFF_UNDEFINED  = 7,    /* !8-bit untyped data */
147        TIFF_SSHORT     = 8,    /* !16-bit signed integer */
148        TIFF_SLONG      = 9,    /* !32-bit signed integer */
149        TIFF_SRATIONAL  = 10,   /* !64-bit signed fraction */
150        TIFF_FLOAT      = 11,   /* !32-bit IEEE floating point */
151        TIFF_DOUBLE     = 12    /* !64-bit IEEE floating point */
152} TIFFDataType;
153
154/*
155 * TIFF Tag Definitions.
156 */
157#define TIFFTAG_SUBFILETYPE             254     /* subfile data descriptor */
158#define     FILETYPE_REDUCEDIMAGE       0x1     /* reduced resolution version */
159#define     FILETYPE_PAGE               0x2     /* one page of many */
160#define     FILETYPE_MASK               0x4     /* transparency mask */
161#define TIFFTAG_OSUBFILETYPE            255     /* +kind of data in subfile */
162#define     OFILETYPE_IMAGE             1       /* full resolution image data */
163#define     OFILETYPE_REDUCEDIMAGE      2       /* reduced size image data */
164#define     OFILETYPE_PAGE              3       /* one page of many */
165#define TIFFTAG_IMAGEWIDTH              256     /* image width in pixels */
166#define TIFFTAG_IMAGELENGTH             257     /* image height in pixels */
167#define TIFFTAG_BITSPERSAMPLE           258     /* bits per channel (sample) */
168#define TIFFTAG_COMPRESSION             259     /* data compression technique */
169#define     COMPRESSION_NONE            1       /* dump mode */
170#define     COMPRESSION_CCITTRLE        2       /* CCITT modified Huffman RLE */
171#define     COMPRESSION_CCITTFAX3       3       /* CCITT Group 3 fax encoding */
172#define     COMPRESSION_CCITT_T4        3       /* CCITT T.4 (TIFF 6 name) */
173#define     COMPRESSION_CCITTFAX4       4       /* CCITT Group 4 fax encoding */
174#define     COMPRESSION_CCITT_T6        4       /* CCITT T.6 (TIFF 6 name) */
175#define     COMPRESSION_LZW             5       /* Lempel-Ziv  & Welch */
176#define     COMPRESSION_OJPEG           6       /* !6.0 JPEG */
177#define     COMPRESSION_JPEG            7       /* %JPEG DCT compression */
178#define     COMPRESSION_NEXT            32766   /* NeXT 2-bit RLE */
179#define     COMPRESSION_CCITTRLEW       32771   /* #1 w/ word alignment */
180#define     COMPRESSION_PACKBITS        32773   /* Macintosh RLE */
181#define     COMPRESSION_THUNDERSCAN     32809   /* ThunderScan RLE */
182/* codes 32895-32898 are reserved for ANSI IT8 TIFF/IT <dkelly@etsinc.com) */
183#define     COMPRESSION_IT8CTPAD        32895   /* IT8 CT w/padding */
184#define     COMPRESSION_IT8LW           32896   /* IT8 Linework RLE */
185#define     COMPRESSION_IT8MP           32897   /* IT8 Monochrome picture */
186#define     COMPRESSION_IT8BL           32898   /* IT8 Binary line art */
187/* compression codes 32908-32911 are reserved for Pixar */
188#define     COMPRESSION_PIXARFILM       32908   /* Pixar companded 10bit LZW */
189#define     COMPRESSION_PIXARLOG        32909   /* Pixar companded 11bit ZIP */
190#define     COMPRESSION_DEFLATE         32946   /* Deflate compression */
191#define     COMPRESSION_ADOBE_DEFLATE   8       /* Deflate compression, as recognized by Adobe */
192/* compression code 32947 is reserved for Oceana Matrix <dev@oceana.com> */
193#define     COMPRESSION_DCS             32947   /* Kodak DCS encoding */
194#define     COMPRESSION_JBIG            34661   /* ISO JBIG */
195#define     COMPRESSION_SGILOG          34676   /* SGI Log Luminance RLE */
196#define     COMPRESSION_SGILOG24        34677   /* SGI Log 24-bit packed */
197#define TIFFTAG_PHOTOMETRIC             262     /* photometric interpretation */
198#define     PHOTOMETRIC_MINISWHITE      0       /* min value is white */
199#define     PHOTOMETRIC_MINISBLACK      1       /* min value is black */
200#define     PHOTOMETRIC_RGB             2       /* RGB color model */
201#define     PHOTOMETRIC_PALETTE         3       /* color map indexed */
202#define     PHOTOMETRIC_MASK            4       /* $holdout mask */
203#define     PHOTOMETRIC_SEPARATED       5       /* !color separations */
204#define     PHOTOMETRIC_YCBCR           6       /* !CCIR 601 */
205#define     PHOTOMETRIC_CIELAB          8       /* !1976 CIE L*a*b* */
206#define     PHOTOMETRIC_ITULAB          10      /* ITU L*a*b* */
207#define     PHOTOMETRIC_LOGL            32844   /* CIE Log2(L) */
208#define     PHOTOMETRIC_LOGLUV          32845   /* CIE Log2(L) (u',v') */
209#define TIFFTAG_THRESHHOLDING           263     /* +thresholding used on data */
210#define     THRESHHOLD_BILEVEL          1       /* b&w art scan */
211#define     THRESHHOLD_HALFTONE         2       /* or dithered scan */
212#define     THRESHHOLD_ERRORDIFFUSE     3       /* usually floyd-steinberg */
213#define TIFFTAG_CELLWIDTH               264     /* +dithering matrix width */
214#define TIFFTAG_CELLLENGTH              265     /* +dithering matrix height */
215#define TIFFTAG_FILLORDER               266     /* data order within a byte */
216#define     FILLORDER_MSB2LSB           1       /* most significant -> least */
217#define     FILLORDER_LSB2MSB           2       /* least significant -> most */
218#define TIFFTAG_DOCUMENTNAME            269     /* name of doc. image is from */
219#define TIFFTAG_IMAGEDESCRIPTION        270     /* info about image */
220#define TIFFTAG_MAKE                    271     /* scanner manufacturer name */
221#define TIFFTAG_MODEL                   272     /* scanner model name/number */
222#define TIFFTAG_STRIPOFFSETS            273     /* offsets to data strips */
223#define TIFFTAG_ORIENTATION             274     /* +image orientation */
224#define     ORIENTATION_TOPLEFT         1       /* row 0 top, col 0 lhs */
225#define     ORIENTATION_TOPRIGHT        2       /* row 0 top, col 0 rhs */
226#define     ORIENTATION_BOTRIGHT        3       /* row 0 bottom, col 0 rhs */
227#define     ORIENTATION_BOTLEFT         4       /* row 0 bottom, col 0 lhs */
228#define     ORIENTATION_LEFTTOP         5       /* row 0 lhs, col 0 top */
229#define     ORIENTATION_RIGHTTOP        6       /* row 0 rhs, col 0 top */
230#define     ORIENTATION_RIGHTBOT        7       /* row 0 rhs, col 0 bottom */
231#define     ORIENTATION_LEFTBOT         8       /* row 0 lhs, col 0 bottom */
232#define TIFFTAG_SAMPLESPERPIXEL         277     /* samples per pixel */
233#define TIFFTAG_ROWSPERSTRIP            278     /* rows per strip of data */
234#define TIFFTAG_STRIPBYTECOUNTS         279     /* bytes counts for strips */
235#define TIFFTAG_MINSAMPLEVALUE          280     /* +minimum sample value */
236#define TIFFTAG_MAXSAMPLEVALUE          281     /* +maximum sample value */
237#define TIFFTAG_XRESOLUTION             282     /* pixels/resolution in x */
238#define TIFFTAG_YRESOLUTION             283     /* pixels/resolution in y */
239#define TIFFTAG_PLANARCONFIG            284     /* storage organization */
240#define     PLANARCONFIG_CONTIG         1       /* single image plane */
241#define     PLANARCONFIG_SEPARATE       2       /* separate planes of data */
242#define TIFFTAG_PAGENAME                285     /* page name image is from */
243#define TIFFTAG_XPOSITION               286     /* x page offset of image lhs */
244#define TIFFTAG_YPOSITION               287     /* y page offset of image lhs */
245#define TIFFTAG_FREEOFFSETS             288     /* +byte offset to free block */
246#define TIFFTAG_FREEBYTECOUNTS          289     /* +sizes of free blocks */
247#define TIFFTAG_GRAYRESPONSEUNIT        290     /* $gray scale curve accuracy */
248#define     GRAYRESPONSEUNIT_10S        1       /* tenths of a unit */
249#define     GRAYRESPONSEUNIT_100S       2       /* hundredths of a unit */
250#define     GRAYRESPONSEUNIT_1000S      3       /* thousandths of a unit */
251#define     GRAYRESPONSEUNIT_10000S     4       /* ten-thousandths of a unit */
252#define     GRAYRESPONSEUNIT_100000S    5       /* hundred-thousandths */
253#define TIFFTAG_GRAYRESPONSECURVE       291     /* $gray scale response curve */
254#define TIFFTAG_GROUP3OPTIONS           292     /* 32 flag bits */
255#define TIFFTAG_T4OPTIONS               292     /* TIFF 6.0 proper name alias */
256#define     GROUP3OPT_2DENCODING        0x1     /* 2-dimensional coding */
257#define     GROUP3OPT_UNCOMPRESSED      0x2     /* data not compressed */
258#define     GROUP3OPT_FILLBITS          0x4     /* fill to byte boundary */
259#define TIFFTAG_GROUP4OPTIONS           293     /* 32 flag bits */
260#define TIFFTAG_T6OPTIONS               293     /* TIFF 6.0 proper name */
261#define     GROUP4OPT_UNCOMPRESSED      0x2     /* data not compressed */
262#define TIFFTAG_RESOLUTIONUNIT          296     /* units of resolutions */
263#define     RESUNIT_NONE                1       /* no meaningful units */
264#define     RESUNIT_INCH                2       /* english */
265#define     RESUNIT_CENTIMETER          3       /* metric */
266#define TIFFTAG_PAGENUMBER              297     /* page numbers of multi-page */
267#define TIFFTAG_COLORRESPONSEUNIT       300     /* $color curve accuracy */
268#define     COLORRESPONSEUNIT_10S       1       /* tenths of a unit */
269#define     COLORRESPONSEUNIT_100S      2       /* hundredths of a unit */
270#define     COLORRESPONSEUNIT_1000S     3       /* thousandths of a unit */
271#define     COLORRESPONSEUNIT_10000S    4       /* ten-thousandths of a unit */
272#define     COLORRESPONSEUNIT_100000S   5       /* hundred-thousandths */
273#define TIFFTAG_TRANSFERFUNCTION        301     /* !colorimetry info */
274#define TIFFTAG_SOFTWARE                305     /* name & release */
275#define TIFFTAG_DATETIME                306     /* creation date and time */
276#define TIFFTAG_ARTIST                  315     /* creator of image */
277#define TIFFTAG_HOSTCOMPUTER            316     /* machine where created */
278#define TIFFTAG_PREDICTOR               317     /* prediction scheme w/ LZW */
279#define TIFFTAG_WHITEPOINT              318     /* image white point */
280#define TIFFTAG_PRIMARYCHROMATICITIES   319     /* !primary chromaticities */
281#define TIFFTAG_COLORMAP                320     /* RGB map for pallette image */
282#define TIFFTAG_HALFTONEHINTS           321     /* !highlight+shadow info */
283#define TIFFTAG_TILEWIDTH               322     /* !rows/data tile */
284#define TIFFTAG_TILELENGTH              323     /* !cols/data tile */
285#define TIFFTAG_TILEOFFSETS             324     /* !offsets to data tiles */
286#define TIFFTAG_TILEBYTECOUNTS          325     /* !byte counts for tiles */
287#define TIFFTAG_BADFAXLINES             326     /* lines w/ wrong pixel count */
288#define TIFFTAG_CLEANFAXDATA            327     /* regenerated line info */
289#define     CLEANFAXDATA_CLEAN          0       /* no errors detected */
290#define     CLEANFAXDATA_REGENERATED    1       /* receiver regenerated lines */
291#define     CLEANFAXDATA_UNCLEAN        2       /* uncorrected errors exist */
292#define TIFFTAG_CONSECUTIVEBADFAXLINES  328     /* max consecutive bad lines */
293#define TIFFTAG_SUBIFD                  330     /* subimage descriptors */
294#define TIFFTAG_INKSET                  332     /* !inks in separated image */
295#define     INKSET_CMYK                 1       /* !cyan-magenta-yellow-black */
296#define TIFFTAG_INKNAMES                333     /* !ascii names of inks */
297#define TIFFTAG_NUMBEROFINKS            334     /* !number of inks */
298#define TIFFTAG_DOTRANGE                336     /* !0% and 100% dot codes */
299#define TIFFTAG_TARGETPRINTER           337     /* !separation target */
300#define TIFFTAG_EXTRASAMPLES            338     /* !info about extra samples */
301#define     EXTRASAMPLE_UNSPECIFIED     0       /* !unspecified data */
302#define     EXTRASAMPLE_ASSOCALPHA      1       /* !associated alpha data */
303#define     EXTRASAMPLE_UNASSALPHA      2       /* !unassociated alpha data */
304#define TIFFTAG_SAMPLEFORMAT            339     /* !data sample format */
305#define     SAMPLEFORMAT_UINT           1       /* !unsigned integer data */
306#define     SAMPLEFORMAT_INT            2       /* !signed integer data */
307#define     SAMPLEFORMAT_IEEEFP         3       /* !IEEE floating point data */
308#define     SAMPLEFORMAT_VOID           4       /* !untyped data */
309#define     SAMPLEFORMAT_COMPLEXINT     5       /* !complex signed int */
310#define     SAMPLEFORMAT_COMPLEXIEEEFP  6       /* !complex ieee floating */
311#define TIFFTAG_SMINSAMPLEVALUE         340     /* !variable MinSampleValue */
312#define TIFFTAG_SMAXSAMPLEVALUE         341     /* !variable MaxSampleValue */
313#define TIFFTAG_JPEGTABLES              347     /* %JPEG table stream */
314/*
315 * Tags 512-521 are obsoleted by Technical Note #2
316 * which specifies a revised JPEG-in-TIFF scheme.
317 */
318#define TIFFTAG_JPEGPROC                512     /* !JPEG processing algorithm */
319#define     JPEGPROC_BASELINE           1       /* !baseline sequential */
320#define     JPEGPROC_LOSSLESS           14      /* !Huffman coded lossless */
321#define TIFFTAG_JPEGIFOFFSET            513     /* !pointer to SOI marker */
322#define TIFFTAG_JPEGIFBYTECOUNT         514     /* !JFIF stream length */
323#define TIFFTAG_JPEGRESTARTINTERVAL     515     /* !restart interval length */
324#define TIFFTAG_JPEGLOSSLESSPREDICTORS  517     /* !lossless proc predictor */
325#define TIFFTAG_JPEGPOINTTRANSFORM      518     /* !lossless point transform */
326#define TIFFTAG_JPEGQTABLES             519     /* !Q matrice offsets */
327#define TIFFTAG_JPEGDCTABLES            520     /* !DCT table offsets */
328#define TIFFTAG_JPEGACTABLES            521     /* !AC coefficient offsets */
329#define TIFFTAG_YCBCRCOEFFICIENTS       529     /* !RGB -> YCbCr transform */
330#define TIFFTAG_YCBCRSUBSAMPLING        530     /* !YCbCr subsampling factors */
331#define TIFFTAG_YCBCRPOSITIONING        531     /* !subsample positioning */
332#define     YCBCRPOSITION_CENTERED      1       /* !as in PostScript Level 2 */
333#define     YCBCRPOSITION_COSITED       2       /* !as in CCIR 601-1 */
334#define TIFFTAG_REFERENCEBLACKWHITE     532     /* !colorimetry info */
335/* tags 32952-32956 are private tags registered to Island Graphics */
336#define TIFFTAG_REFPTS                  32953   /* image reference points */
337#define TIFFTAG_REGIONTACKPOINT         32954   /* region-xform tack point */
338#define TIFFTAG_REGIONWARPCORNERS       32955   /* warp quadrilateral */
339#define TIFFTAG_REGIONAFFINE            32956   /* affine transformation mat */
340/* tags 32995-32999 are private tags registered to SGI */
341#define TIFFTAG_MATTEING                32995   /* $use ExtraSamples */
342#define TIFFTAG_DATATYPE                32996   /* $use SampleFormat */
343#define TIFFTAG_IMAGEDEPTH              32997   /* z depth of image */
344#define TIFFTAG_TILEDEPTH               32998   /* z depth/data tile */
345/* tags 33300-33309 are private tags registered to Pixar */
346/*
347 * TIFFTAG_PIXAR_IMAGEFULLWIDTH and TIFFTAG_PIXAR_IMAGEFULLLENGTH
348 * are set when an image has been cropped out of a larger image. 
349 * They reflect the size of the original uncropped image.
350 * The TIFFTAG_XPOSITION and TIFFTAG_YPOSITION can be used
351 * to determine the position of the smaller image in the larger one.
352 */
353#define TIFFTAG_PIXAR_IMAGEFULLWIDTH    33300   /* full image size in x */
354#define TIFFTAG_PIXAR_IMAGEFULLLENGTH   33301   /* full image size in y */
355 /* Tags 33302-33306 are used to identify special image modes and data
356  * used by Pixar's texture formats.
357  */
358#define TIFFTAG_PIXAR_TEXTUREFORMAT     33302   /* texture map format */
359#define TIFFTAG_PIXAR_WRAPMODES         33303   /* s & t wrap modes */
360#define TIFFTAG_PIXAR_FOVCOT            33304   /* cotan(fov) for env. maps */
361#define TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN 33305
362#define TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA 33306
363/* tag 33405 is a private tag registered to Eastman Kodak */
364#define TIFFTAG_WRITERSERIALNUMBER      33405   /* device serial number */
365/* tag 33432 is listed in the 6.0 spec w/ unknown ownership */
366#define TIFFTAG_COPYRIGHT               33432   /* copyright string */
367/* IPTC TAG from RichTIFF specifications */
368#define TIFFTAG_RICHTIFFIPTC    33723
369/* 34016-34029 are reserved for ANSI IT8 TIFF/IT <dkelly@etsinc.com) */
370#define TIFFTAG_IT8SITE                 34016   /* site name */
371#define TIFFTAG_IT8COLORSEQUENCE        34017   /* color seq. [RGB,CMYK,etc] */
372#define TIFFTAG_IT8HEADER               34018   /* DDES Header */
373#define TIFFTAG_IT8RASTERPADDING        34019   /* raster scanline padding */
374#define TIFFTAG_IT8BITSPERRUNLENGTH     34020   /* # of bits in short run */
375#define TIFFTAG_IT8BITSPEREXTENDEDRUNLENGTH 34021/* # of bits in long run */
376#define TIFFTAG_IT8COLORTABLE           34022   /* LW colortable */
377#define TIFFTAG_IT8IMAGECOLORINDICATOR  34023   /* BP/BL image color switch */
378#define TIFFTAG_IT8BKGCOLORINDICATOR    34024   /* BP/BL bg color switch */
379#define TIFFTAG_IT8IMAGECOLORVALUE      34025   /* BP/BL image color value */
380#define TIFFTAG_IT8BKGCOLORVALUE        34026   /* BP/BL bg color value */
381#define TIFFTAG_IT8PIXELINTENSITYRANGE  34027   /* MP pixel intensity value */
382#define TIFFTAG_IT8TRANSPARENCYINDICATOR 34028  /* HC transparency switch */
383#define TIFFTAG_IT8COLORCHARACTERIZATION 34029  /* color character. table */
384/* tags 34232-34236 are private tags registered to Texas Instruments */
385#define TIFFTAG_FRAMECOUNT              34232   /* Sequence Frame Count */
386/* tag 34750 is a private tag registered to Adobe? */
387#define TIFFTAG_ICCPROFILE              34675   /* ICC profile data */
388/* tag 34377 is private tag registered to Adobe for PhotoShop */
389#define TIFFTAG_PHOTOSHOP                               34377
390/* tag 34750 is a private tag registered to Pixel Magic */
391#define TIFFTAG_JBIGOPTIONS             34750   /* JBIG options */
392/* tags 34908-34914 are private tags registered to SGI */
393#define TIFFTAG_FAXRECVPARAMS           34908   /* encoded Class 2 ses. parms */
394#define TIFFTAG_FAXSUBADDRESS           34909   /* received SubAddr string */
395#define TIFFTAG_FAXRECVTIME             34910   /* receive time (secs) */
396/* tags 37439-37443 are registered to SGI <gregl@sgi.com> */
397#define TIFFTAG_STONITS                 37439   /* Sample value to Nits */
398/* tag 34929 is a private tag registered to FedEx */
399#define TIFFTAG_FEDEX_EDR               34929   /* unknown use */
400/* tag 65535 is an undefined tag used by Eastman Kodak */
401#define TIFFTAG_DCSHUESHIFTVALUES       65535   /* hue shift correction data */
402
403/*
404 * The following are ``pseudo tags'' that can be
405 * used to control codec-specific functionality.
406 * These tags are not written to file.  Note that
407 * these values start at 0xffff+1 so that they'll
408 * never collide with Aldus-assigned tags.
409 *
410 * If you want your private pseudo tags ``registered''
411 * (i.e. added to this file), send mail to sam@sgi.com
412 * with the appropriate C definitions to add.
413 */
414#define TIFFTAG_FAXMODE                 65536   /* Group 3/4 format control */
415#define     FAXMODE_CLASSIC     0x0000          /* default, include RTC */
416#define     FAXMODE_NORTC       0x0001          /* no RTC at end of data */
417#define     FAXMODE_NOEOL       0x0002          /* no EOL code at end of row */
418#define     FAXMODE_BYTEALIGN   0x0004          /* byte align row */
419#define     FAXMODE_WORDALIGN   0x0008          /* word align row */
420#define     FAXMODE_CLASSF      FAXMODE_NORTC   /* TIFF Class F */
421#define TIFFTAG_JPEGQUALITY             65537   /* Compression quality level */
422/* Note: quality level is on the IJG 0-100 scale.  Default value is 75 */
423#define TIFFTAG_JPEGCOLORMODE           65538   /* Auto RGB<=>YCbCr convert? */
424#define     JPEGCOLORMODE_RAW   0x0000          /* no conversion (default) */
425#define     JPEGCOLORMODE_RGB   0x0001          /* do auto conversion */
426#define TIFFTAG_JPEGTABLESMODE          65539   /* What to put in JPEGTables */
427#define     JPEGTABLESMODE_QUANT 0x0001         /* include quantization tbls */
428#define     JPEGTABLESMODE_HUFF 0x0002          /* include Huffman tbls */
429/* Note: default is JPEGTABLESMODE_QUANT | JPEGTABLESMODE_HUFF */
430#define TIFFTAG_FAXFILLFUNC             65540   /* G3/G4 fill function */
431#define TIFFTAG_PIXARLOGDATAFMT         65549   /* PixarLogCodec I/O data sz */
432#define     PIXARLOGDATAFMT_8BIT        0       /* regular u_char samples */
433#define     PIXARLOGDATAFMT_8BITABGR    1       /* ABGR-order u_chars */
434#define     PIXARLOGDATAFMT_11BITLOG    2       /* 11-bit log-encoded (raw) */
435#define     PIXARLOGDATAFMT_12BITPICIO  3       /* as per PICIO (1.0==2048) */
436#define     PIXARLOGDATAFMT_16BIT       4       /* signed short samples */
437#define     PIXARLOGDATAFMT_FLOAT       5       /* IEEE float samples */
438/* 65550-65556 are allocated to Oceana Matrix <dev@oceana.com> */
439#define TIFFTAG_DCSIMAGERTYPE           65550   /* imager model & filter */
440#define     DCSIMAGERMODEL_M3           0       /* M3 chip (1280 x 1024) */
441#define     DCSIMAGERMODEL_M5           1       /* M5 chip (1536 x 1024) */
442#define     DCSIMAGERMODEL_M6           2       /* M6 chip (3072 x 2048) */
443#define     DCSIMAGERFILTER_IR          0       /* infrared filter */
444#define     DCSIMAGERFILTER_MONO        1       /* monochrome filter */
445#define     DCSIMAGERFILTER_CFA         2       /* color filter array */
446#define     DCSIMAGERFILTER_OTHER       3       /* other filter */
447#define TIFFTAG_DCSINTERPMODE           65551   /* interpolation mode */
448#define     DCSINTERPMODE_NORMAL        0x0     /* whole image, default */
449#define     DCSINTERPMODE_PREVIEW       0x1     /* preview of image (384x256) */
450#define TIFFTAG_DCSBALANCEARRAY         65552   /* color balance values */
451#define TIFFTAG_DCSCORRECTMATRIX        65553   /* color correction values */
452#define TIFFTAG_DCSGAMMA                65554   /* gamma value */
453#define TIFFTAG_DCSTOESHOULDERPTS       65555   /* toe & shoulder points */
454#define TIFFTAG_DCSCALIBRATIONFD        65556   /* calibration file desc */
455/* Note: quality level is on the ZLIB 1-9 scale. Default value is -1 */
456#define TIFFTAG_ZIPQUALITY              65557   /* compression quality level */
457#define TIFFTAG_PIXARLOGQUALITY         65558   /* PixarLog uses same scale */
458/* 65559 is allocated to Oceana Matrix <dev@oceana.com> */
459#define TIFFTAG_DCSCLIPRECTANGLE        65559   /* area of image to acquire */
460#define TIFFTAG_SGILOGDATAFMT           65560   /* SGILog user data format */
461#define     SGILOGDATAFMT_FLOAT         0       /* IEEE float samples */
462#define     SGILOGDATAFMT_16BIT         1       /* 16-bit samples */
463#define     SGILOGDATAFMT_RAW           2       /* uninterpreted data */
464#define     SGILOGDATAFMT_8BIT          3       /* 8-bit RGB monitor values */
465#define TIFFTAG_SGILOGENCODE            65561 /* SGILog data encoding control*/
466#define     SGILOGENCODE_NODITHER       0     /* do not dither encoded values*/
467#define     SGILOGENCODE_RANDITHER      1     /* randomly dither encd values */
468#endif /* _TIFF_ */
Note: See TracBrowser for help on using the repository browser.