ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

tiff.h
Go to the documentation of this file.
00001 /* $Id: tiff.h,v 1.43.2.1 2010-06-08 18:50:43 bfriesen Exp $ */
00002 
00003 /*
00004  * Copyright (c) 1988-1997 Sam Leffler
00005  * Copyright (c) 1991-1997 Silicon Graphics, Inc.
00006  *
00007  * Permission to use, copy, modify, distribute, and sell this software and 
00008  * its documentation for any purpose is hereby granted without fee, provided
00009  * that (i) the above copyright notices and this permission notice appear in
00010  * all copies of the software and related documentation, and (ii) the names of
00011  * Sam Leffler and Silicon Graphics may not be used in any advertising or
00012  * publicity relating to the software without the specific, prior written
00013  * permission of Sam Leffler and Silicon Graphics.
00014  * 
00015  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
00016  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
00017  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
00018  * 
00019  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
00020  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
00021  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
00022  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
00023  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
00024  * OF THIS SOFTWARE.
00025  */
00026 
00027 #ifndef _TIFF_
00028 #define _TIFF_
00029 
00030 #include "tiffconf.h"
00031 
00032 /*
00033  * Tag Image File Format (TIFF)
00034  *
00035  * Based on Rev 6.0 from:
00036  *    Developer's Desk
00037  *    Aldus Corporation
00038  *    411 First Ave. South
00039  *    Suite 200
00040  *    Seattle, WA  98104
00041  *    206-622-5500
00042  *    
00043  *    (http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf)
00044  *
00045  * For Big TIFF design notes see the following link
00046  *    http://www.remotesensing.org/libtiff/bigtiffdesign.html
00047  */
00048 #define TIFF_VERSION            42
00049 #define TIFF_BIGTIFF_VERSION    43
00050 
00051 #define TIFF_BIGENDIAN      0x4d4d
00052 #define TIFF_LITTLEENDIAN   0x4949
00053 #define MDI_LITTLEENDIAN        0x5045
00054 #define MDI_BIGENDIAN           0x4550
00055 /*
00056  * Intrinsic data types required by the file format:
00057  *
00058  * 8-bit quantities int8/uint8
00059  * 16-bit quantities    int16/uint16
00060  * 32-bit quantities    int32/uint32
00061  * strings      unsigned char*
00062  */
00063 
00064 #ifndef HAVE_INT8
00065 typedef signed char int8;   /* NB: non-ANSI compilers may not grok */
00066 #endif
00067 typedef unsigned char uint8;
00068 #ifndef HAVE_INT16
00069 typedef short int16;
00070 #endif
00071 typedef unsigned short uint16;  /* sizeof (uint16) must == 2 */
00072 #if SIZEOF_INT == 4
00073 #ifndef HAVE_INT32
00074 typedef int int32;
00075 #endif
00076 typedef unsigned int uint32;    /* sizeof (uint32) must == 4 */
00077 #elif SIZEOF_LONG == 4
00078 #ifndef HAVE_INT32
00079 typedef long int32;
00080 #endif
00081 typedef unsigned long uint32;   /* sizeof (uint32) must == 4 */
00082 #endif
00083 
00084 /* For TIFFReassignTagToIgnore */
00085 enum TIFFIgnoreSense /* IGNORE tag table */
00086 {
00087     TIS_STORE,
00088     TIS_EXTRACT,
00089     TIS_EMPTY
00090 };
00091 
00092 /*
00093  * TIFF header.
00094  */
00095 typedef struct {
00096     uint16  tiff_magic; /* magic number (defines byte order) */
00097 #define TIFF_MAGIC_SIZE     2
00098     uint16  tiff_version;   /* TIFF version number */
00099 #define TIFF_VERSION_SIZE   2
00100     uint32  tiff_diroff;    /* byte offset to first directory */
00101 #define TIFF_DIROFFSET_SIZE 4
00102 } TIFFHeader;
00103 
00104 
00105 /*
00106  * TIFF Image File Directories are comprised of a table of field
00107  * descriptors of the form shown below.  The table is sorted in
00108  * ascending order by tag.  The values associated with each entry are
00109  * disjoint and may appear anywhere in the file (so long as they are
00110  * placed on a word boundary).
00111  *
00112  * If the value is 4 bytes or less, then it is placed in the offset
00113  * field to save space.  If the value is less than 4 bytes, it is
00114  * left-justified in the offset field.
00115  */
00116 typedef struct {
00117     uint16      tdir_tag;   /* see below */
00118     uint16      tdir_type;  /* data type; see below */
00119     uint32      tdir_count; /* number of items; length in spec */
00120     uint32      tdir_offset;    /* byte offset to field data */
00121 } TIFFDirEntry;
00122 
00123 /*
00124  * NB: In the comments below,
00125  *  - items marked with a + are obsoleted by revision 5.0,
00126  *  - items marked with a ! are introduced in revision 6.0.
00127  *  - items marked with a % are introduced post revision 6.0.
00128  *  - items marked with a $ are obsoleted by revision 6.0.
00129  *  - items marked with a & are introduced by Adobe DNG specification.
00130  */
00131 
00132 /*
00133  * Tag data type information.
00134  *
00135  * Note: RATIONALs are the ratio of two 32-bit integer values.
00136  */
00137 typedef enum {
00138     TIFF_NOTYPE = 0,    /* placeholder */
00139     TIFF_BYTE   = 1,    /* 8-bit unsigned integer */
00140     TIFF_ASCII  = 2,    /* 8-bit bytes w/ last byte null */
00141     TIFF_SHORT  = 3,    /* 16-bit unsigned integer */
00142     TIFF_LONG   = 4,    /* 32-bit unsigned integer */
00143     TIFF_RATIONAL   = 5,    /* 64-bit unsigned fraction */
00144     TIFF_SBYTE  = 6,    /* !8-bit signed integer */
00145     TIFF_UNDEFINED  = 7,    /* !8-bit untyped data */
00146     TIFF_SSHORT = 8,    /* !16-bit signed integer */
00147     TIFF_SLONG  = 9,    /* !32-bit signed integer */
00148     TIFF_SRATIONAL  = 10,   /* !64-bit signed fraction */
00149     TIFF_FLOAT  = 11,   /* !32-bit IEEE floating point */
00150     TIFF_DOUBLE = 12,   /* !64-bit IEEE floating point */
00151     TIFF_IFD    = 13    /* %32-bit unsigned integer (offset) */
00152 } TIFFDataType;
00153 
00154 /*
00155  * TIFF Tag Definitions.
00156  */
00157 #define TIFFTAG_SUBFILETYPE     254 /* subfile data descriptor */
00158 #define     FILETYPE_REDUCEDIMAGE   0x1 /* reduced resolution version */
00159 #define     FILETYPE_PAGE       0x2 /* one page of many */
00160 #define     FILETYPE_MASK       0x4 /* transparency mask */
00161 #define TIFFTAG_OSUBFILETYPE        255 /* +kind of data in subfile */
00162 #define     OFILETYPE_IMAGE     1   /* full resolution image data */
00163 #define     OFILETYPE_REDUCEDIMAGE  2   /* reduced size image data */
00164 #define     OFILETYPE_PAGE      3   /* one page of many */
00165 #define TIFFTAG_IMAGEWIDTH      256 /* image width in pixels */
00166 #define TIFFTAG_IMAGELENGTH     257 /* image height in pixels */
00167 #define TIFFTAG_BITSPERSAMPLE       258 /* bits per channel (sample) */
00168 #define TIFFTAG_COMPRESSION     259 /* data compression technique */
00169 #define     COMPRESSION_NONE        1   /* dump mode */
00170 #define     COMPRESSION_CCITTRLE    2   /* CCITT modified Huffman RLE */
00171 #define     COMPRESSION_CCITTFAX3   3   /* CCITT Group 3 fax encoding */
00172 #define     COMPRESSION_CCITT_T4        3       /* CCITT T.4 (TIFF 6 name) */
00173 #define     COMPRESSION_CCITTFAX4   4   /* CCITT Group 4 fax encoding */
00174 #define     COMPRESSION_CCITT_T6        4       /* CCITT T.6 (TIFF 6 name) */
00175 #define     COMPRESSION_LZW     5       /* Lempel-Ziv  & Welch */
00176 #define     COMPRESSION_OJPEG       6   /* !6.0 JPEG */
00177 #define     COMPRESSION_JPEG        7   /* %JPEG DCT compression */
00178 #define     COMPRESSION_NEXT        32766   /* NeXT 2-bit RLE */
00179 #define     COMPRESSION_CCITTRLEW   32771   /* #1 w/ word alignment */
00180 #define     COMPRESSION_PACKBITS    32773   /* Macintosh RLE */
00181 #define     COMPRESSION_THUNDERSCAN 32809   /* ThunderScan RLE */
00182 /* codes 32895-32898 are reserved for ANSI IT8 TIFF/IT <dkelly@apago.com) */
00183 #define     COMPRESSION_IT8CTPAD    32895   /* IT8 CT w/padding */
00184 #define     COMPRESSION_IT8LW       32896   /* IT8 Linework RLE */
00185 #define     COMPRESSION_IT8MP       32897   /* IT8 Monochrome picture */
00186 #define     COMPRESSION_IT8BL       32898   /* IT8 Binary line art */
00187 /* compression codes 32908-32911 are reserved for Pixar */
00188 #define     COMPRESSION_PIXARFILM   32908   /* Pixar companded 10bit LZW */
00189 #define     COMPRESSION_PIXARLOG    32909   /* Pixar companded 11bit ZIP */
00190 #define     COMPRESSION_DEFLATE     32946   /* Deflate compression */
00191 #define     COMPRESSION_ADOBE_DEFLATE   8       /* Deflate compression,
00192                            as recognized by Adobe */
00193 /* compression code 32947 is reserved for Oceana Matrix <dev@oceana.com> */
00194 #define     COMPRESSION_DCS             32947   /* Kodak DCS encoding */
00195 #define     COMPRESSION_JBIG        34661   /* ISO JBIG */
00196 #define     COMPRESSION_SGILOG      34676   /* SGI Log Luminance RLE */
00197 #define     COMPRESSION_SGILOG24    34677   /* SGI Log 24-bit packed */
00198 #define     COMPRESSION_JP2000          34712   /* Leadtools JPEG2000 */
00199 #define TIFFTAG_PHOTOMETRIC     262 /* photometric interpretation */
00200 #define     PHOTOMETRIC_MINISWHITE  0   /* min value is white */
00201 #define     PHOTOMETRIC_MINISBLACK  1   /* min value is black */
00202 #define     PHOTOMETRIC_RGB     2   /* RGB color model */
00203 #define     PHOTOMETRIC_PALETTE     3   /* color map indexed */
00204 #define     PHOTOMETRIC_MASK        4   /* $holdout mask */
00205 #define     PHOTOMETRIC_SEPARATED   5   /* !color separations */
00206 #define     PHOTOMETRIC_YCBCR       6   /* !CCIR 601 */
00207 #define     PHOTOMETRIC_CIELAB      8   /* !1976 CIE L*a*b* */
00208 #define     PHOTOMETRIC_ICCLAB      9   /* ICC L*a*b* [Adobe TIFF Technote 4] */
00209 #define     PHOTOMETRIC_ITULAB      10  /* ITU L*a*b* */
00210 #define     PHOTOMETRIC_LOGL        32844   /* CIE Log2(L) */
00211 #define     PHOTOMETRIC_LOGLUV      32845   /* CIE Log2(L) (u',v') */
00212 #define TIFFTAG_THRESHHOLDING       263 /* +thresholding used on data */
00213 #define     THRESHHOLD_BILEVEL      1   /* b&w art scan */
00214 #define     THRESHHOLD_HALFTONE     2   /* or dithered scan */
00215 #define     THRESHHOLD_ERRORDIFFUSE 3   /* usually floyd-steinberg */
00216 #define TIFFTAG_CELLWIDTH       264 /* +dithering matrix width */
00217 #define TIFFTAG_CELLLENGTH      265 /* +dithering matrix height */
00218 #define TIFFTAG_FILLORDER       266 /* data order within a byte */
00219 #define     FILLORDER_MSB2LSB       1   /* most significant -> least */
00220 #define     FILLORDER_LSB2MSB       2   /* least significant -> most */
00221 #define TIFFTAG_DOCUMENTNAME        269 /* name of doc. image is from */
00222 #define TIFFTAG_IMAGEDESCRIPTION    270 /* info about image */
00223 #define TIFFTAG_MAKE            271 /* scanner manufacturer name */
00224 #define TIFFTAG_MODEL           272 /* scanner model name/number */
00225 #define TIFFTAG_STRIPOFFSETS        273 /* offsets to data strips */
00226 #define TIFFTAG_ORIENTATION     274 /* +image orientation */
00227 #define     ORIENTATION_TOPLEFT     1   /* row 0 top, col 0 lhs */
00228 #define     ORIENTATION_TOPRIGHT    2   /* row 0 top, col 0 rhs */
00229 #define     ORIENTATION_BOTRIGHT    3   /* row 0 bottom, col 0 rhs */
00230 #define     ORIENTATION_BOTLEFT     4   /* row 0 bottom, col 0 lhs */
00231 #define     ORIENTATION_LEFTTOP     5   /* row 0 lhs, col 0 top */
00232 #define     ORIENTATION_RIGHTTOP    6   /* row 0 rhs, col 0 top */
00233 #define     ORIENTATION_RIGHTBOT    7   /* row 0 rhs, col 0 bottom */
00234 #define     ORIENTATION_LEFTBOT     8   /* row 0 lhs, col 0 bottom */
00235 #define TIFFTAG_SAMPLESPERPIXEL     277 /* samples per pixel */
00236 #define TIFFTAG_ROWSPERSTRIP        278 /* rows per strip of data */
00237 #define TIFFTAG_STRIPBYTECOUNTS     279 /* bytes counts for strips */
00238 #define TIFFTAG_MINSAMPLEVALUE      280 /* +minimum sample value */
00239 #define TIFFTAG_MAXSAMPLEVALUE      281 /* +maximum sample value */
00240 #define TIFFTAG_XRESOLUTION     282 /* pixels/resolution in x */
00241 #define TIFFTAG_YRESOLUTION     283 /* pixels/resolution in y */
00242 #define TIFFTAG_PLANARCONFIG        284 /* storage organization */
00243 #define     PLANARCONFIG_CONTIG     1   /* single image plane */
00244 #define     PLANARCONFIG_SEPARATE   2   /* separate planes of data */
00245 #define TIFFTAG_PAGENAME        285 /* page name image is from */
00246 #define TIFFTAG_XPOSITION       286 /* x page offset of image lhs */
00247 #define TIFFTAG_YPOSITION       287 /* y page offset of image lhs */
00248 #define TIFFTAG_FREEOFFSETS     288 /* +byte offset to free block */
00249 #define TIFFTAG_FREEBYTECOUNTS      289 /* +sizes of free blocks */
00250 #define TIFFTAG_GRAYRESPONSEUNIT    290 /* $gray scale curve accuracy */
00251 #define     GRAYRESPONSEUNIT_10S    1   /* tenths of a unit */
00252 #define     GRAYRESPONSEUNIT_100S   2   /* hundredths of a unit */
00253 #define     GRAYRESPONSEUNIT_1000S  3   /* thousandths of a unit */
00254 #define     GRAYRESPONSEUNIT_10000S 4   /* ten-thousandths of a unit */
00255 #define     GRAYRESPONSEUNIT_100000S    5   /* hundred-thousandths */
00256 #define TIFFTAG_GRAYRESPONSECURVE   291 /* $gray scale response curve */
00257 #define TIFFTAG_GROUP3OPTIONS       292 /* 32 flag bits */
00258 #define TIFFTAG_T4OPTIONS       292 /* TIFF 6.0 proper name alias */
00259 #define     GROUP3OPT_2DENCODING    0x1 /* 2-dimensional coding */
00260 #define     GROUP3OPT_UNCOMPRESSED  0x2 /* data not compressed */
00261 #define     GROUP3OPT_FILLBITS      0x4 /* fill to byte boundary */
00262 #define TIFFTAG_GROUP4OPTIONS       293 /* 32 flag bits */
00263 #define TIFFTAG_T6OPTIONS               293     /* TIFF 6.0 proper name */
00264 #define     GROUP4OPT_UNCOMPRESSED  0x2 /* data not compressed */
00265 #define TIFFTAG_RESOLUTIONUNIT      296 /* units of resolutions */
00266 #define     RESUNIT_NONE        1   /* no meaningful units */
00267 #define     RESUNIT_INCH        2   /* english */
00268 #define     RESUNIT_CENTIMETER      3   /* metric */
00269 #define TIFFTAG_PAGENUMBER      297 /* page numbers of multi-page */
00270 #define TIFFTAG_COLORRESPONSEUNIT   300 /* $color curve accuracy */
00271 #define     COLORRESPONSEUNIT_10S   1   /* tenths of a unit */
00272 #define     COLORRESPONSEUNIT_100S  2   /* hundredths of a unit */
00273 #define     COLORRESPONSEUNIT_1000S 3   /* thousandths of a unit */
00274 #define     COLORRESPONSEUNIT_10000S    4   /* ten-thousandths of a unit */
00275 #define     COLORRESPONSEUNIT_100000S   5   /* hundred-thousandths */
00276 #define TIFFTAG_TRANSFERFUNCTION    301 /* !colorimetry info */
00277 #define TIFFTAG_SOFTWARE        305 /* name & release */
00278 #define TIFFTAG_DATETIME        306 /* creation date and time */
00279 #define TIFFTAG_ARTIST          315 /* creator of image */
00280 #define TIFFTAG_HOSTCOMPUTER        316 /* machine where created */
00281 #define TIFFTAG_PREDICTOR       317 /* prediction scheme w/ LZW */
00282 #define     PREDICTOR_NONE      1   /* no prediction scheme used */
00283 #define     PREDICTOR_HORIZONTAL    2   /* horizontal differencing */
00284 #define     PREDICTOR_FLOATINGPOINT 3   /* floating point predictor */
00285 #define TIFFTAG_WHITEPOINT      318 /* image white point */
00286 #define TIFFTAG_PRIMARYCHROMATICITIES   319 /* !primary chromaticities */
00287 #define TIFFTAG_COLORMAP        320 /* RGB map for pallette image */
00288 #define TIFFTAG_HALFTONEHINTS       321 /* !highlight+shadow info */
00289 #define TIFFTAG_TILEWIDTH       322 /* !tile width in pixels */
00290 #define TIFFTAG_TILELENGTH      323 /* !tile height in pixels */
00291 #define TIFFTAG_TILEOFFSETS     324 /* !offsets to data tiles */
00292 #define TIFFTAG_TILEBYTECOUNTS      325 /* !byte counts for tiles */
00293 #define TIFFTAG_BADFAXLINES     326 /* lines w/ wrong pixel count */
00294 #define TIFFTAG_CLEANFAXDATA        327 /* regenerated line info */
00295 #define     CLEANFAXDATA_CLEAN      0   /* no errors detected */
00296 #define     CLEANFAXDATA_REGENERATED    1   /* receiver regenerated lines */
00297 #define     CLEANFAXDATA_UNCLEAN    2   /* uncorrected errors exist */
00298 #define TIFFTAG_CONSECUTIVEBADFAXLINES  328 /* max consecutive bad lines */
00299 #define TIFFTAG_SUBIFD          330 /* subimage descriptors */
00300 #define TIFFTAG_INKSET          332 /* !inks in separated image */
00301 #define     INKSET_CMYK         1   /* !cyan-magenta-yellow-black color */
00302 #define     INKSET_MULTIINK     2   /* !multi-ink or hi-fi color */
00303 #define TIFFTAG_INKNAMES        333 /* !ascii names of inks */
00304 #define TIFFTAG_NUMBEROFINKS        334 /* !number of inks */
00305 #define TIFFTAG_DOTRANGE        336 /* !0% and 100% dot codes */
00306 #define TIFFTAG_TARGETPRINTER       337 /* !separation target */
00307 #define TIFFTAG_EXTRASAMPLES        338 /* !info about extra samples */
00308 #define     EXTRASAMPLE_UNSPECIFIED 0   /* !unspecified data */
00309 #define     EXTRASAMPLE_ASSOCALPHA  1   /* !associated alpha data */
00310 #define     EXTRASAMPLE_UNASSALPHA  2   /* !unassociated alpha data */
00311 #define TIFFTAG_SAMPLEFORMAT        339 /* !data sample format */
00312 #define     SAMPLEFORMAT_UINT       1   /* !unsigned integer data */
00313 #define     SAMPLEFORMAT_INT        2   /* !signed integer data */
00314 #define     SAMPLEFORMAT_IEEEFP     3   /* !IEEE floating point data */
00315 #define     SAMPLEFORMAT_VOID       4   /* !untyped data */
00316 #define     SAMPLEFORMAT_COMPLEXINT 5   /* !complex signed int */
00317 #define     SAMPLEFORMAT_COMPLEXIEEEFP  6   /* !complex ieee floating */
00318 #define TIFFTAG_SMINSAMPLEVALUE     340 /* !variable MinSampleValue */
00319 #define TIFFTAG_SMAXSAMPLEVALUE     341 /* !variable MaxSampleValue */
00320 #define TIFFTAG_CLIPPATH        343 /* %ClipPath
00321                            [Adobe TIFF technote 2] */
00322 #define TIFFTAG_XCLIPPATHUNITS      344 /* %XClipPathUnits
00323                            [Adobe TIFF technote 2] */
00324 #define TIFFTAG_YCLIPPATHUNITS      345 /* %YClipPathUnits
00325                            [Adobe TIFF technote 2] */
00326 #define TIFFTAG_INDEXED         346 /* %Indexed
00327                            [Adobe TIFF Technote 3] */
00328 #define TIFFTAG_JPEGTABLES      347 /* %JPEG table stream */
00329 #define TIFFTAG_OPIPROXY        351 /* %OPI Proxy [Adobe TIFF technote] */
00330 /*
00331  * Tags 512-521 are obsoleted by Technical Note #2 which specifies a
00332  * revised JPEG-in-TIFF scheme.
00333  */
00334 #define TIFFTAG_JPEGPROC        512 /* !JPEG processing algorithm */
00335 #define     JPEGPROC_BASELINE       1   /* !baseline sequential */
00336 #define     JPEGPROC_LOSSLESS       14  /* !Huffman coded lossless */
00337 #define TIFFTAG_JPEGIFOFFSET        513 /* !pointer to SOI marker */
00338 #define TIFFTAG_JPEGIFBYTECOUNT     514 /* !JFIF stream length */
00339 #define TIFFTAG_JPEGRESTARTINTERVAL 515 /* !restart interval length */
00340 #define TIFFTAG_JPEGLOSSLESSPREDICTORS  517 /* !lossless proc predictor */
00341 #define TIFFTAG_JPEGPOINTTRANSFORM  518 /* !lossless point transform */
00342 #define TIFFTAG_JPEGQTABLES     519 /* !Q matrice offsets */
00343 #define TIFFTAG_JPEGDCTABLES        520 /* !DCT table offsets */
00344 #define TIFFTAG_JPEGACTABLES        521 /* !AC coefficient offsets */
00345 #define TIFFTAG_YCBCRCOEFFICIENTS   529 /* !RGB -> YCbCr transform */
00346 #define TIFFTAG_YCBCRSUBSAMPLING    530 /* !YCbCr subsampling factors */
00347 #define TIFFTAG_YCBCRPOSITIONING    531 /* !subsample positioning */
00348 #define     YCBCRPOSITION_CENTERED  1   /* !as in PostScript Level 2 */
00349 #define     YCBCRPOSITION_COSITED   2   /* !as in CCIR 601-1 */
00350 #define TIFFTAG_REFERENCEBLACKWHITE 532 /* !colorimetry info */
00351 #define TIFFTAG_XMLPACKET       700 /* %XML packet
00352                            [Adobe XMP Specification,
00353                            January 2004 */
00354 #define TIFFTAG_OPIIMAGEID      32781   /* %OPI ImageID
00355                            [Adobe TIFF technote] */
00356 /* tags 32952-32956 are private tags registered to Island Graphics */
00357 #define TIFFTAG_REFPTS          32953   /* image reference points */
00358 #define TIFFTAG_REGIONTACKPOINT     32954   /* region-xform tack point */
00359 #define TIFFTAG_REGIONWARPCORNERS   32955   /* warp quadrilateral */
00360 #define TIFFTAG_REGIONAFFINE        32956   /* affine transformation mat */
00361 /* tags 32995-32999 are private tags registered to SGI */
00362 #define TIFFTAG_MATTEING        32995   /* $use ExtraSamples */
00363 #define TIFFTAG_DATATYPE        32996   /* $use SampleFormat */
00364 #define TIFFTAG_IMAGEDEPTH      32997   /* z depth of image */
00365 #define TIFFTAG_TILEDEPTH       32998   /* z depth/data tile */
00366 /* tags 33300-33309 are private tags registered to Pixar */
00367 /*
00368  * TIFFTAG_PIXAR_IMAGEFULLWIDTH and TIFFTAG_PIXAR_IMAGEFULLLENGTH
00369  * are set when an image has been cropped out of a larger image.  
00370  * They reflect the size of the original uncropped image.
00371  * The TIFFTAG_XPOSITION and TIFFTAG_YPOSITION can be used
00372  * to determine the position of the smaller image in the larger one.
00373  */
00374 #define TIFFTAG_PIXAR_IMAGEFULLWIDTH    33300   /* full image size in x */
00375 #define TIFFTAG_PIXAR_IMAGEFULLLENGTH   33301   /* full image size in y */
00376  /* Tags 33302-33306 are used to identify special image modes and data
00377   * used by Pixar's texture formats.
00378   */
00379 #define TIFFTAG_PIXAR_TEXTUREFORMAT 33302   /* texture map format */
00380 #define TIFFTAG_PIXAR_WRAPMODES     33303   /* s & t wrap modes */
00381 #define TIFFTAG_PIXAR_FOVCOT        33304   /* cotan(fov) for env. maps */
00382 #define TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN 33305
00383 #define TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA 33306
00384 /* tag 33405 is a private tag registered to Eastman Kodak */
00385 #define TIFFTAG_WRITERSERIALNUMBER      33405   /* device serial number */
00386 /* tag 33432 is listed in the 6.0 spec w/ unknown ownership */
00387 #define TIFFTAG_COPYRIGHT       33432   /* copyright string */
00388 /* IPTC TAG from RichTIFF specifications */
00389 #define TIFFTAG_RICHTIFFIPTC        33723
00390 /* 34016-34029 are reserved for ANSI IT8 TIFF/IT <dkelly@apago.com) */
00391 #define TIFFTAG_IT8SITE         34016   /* site name */
00392 #define TIFFTAG_IT8COLORSEQUENCE    34017   /* color seq. [RGB,CMYK,etc] */
00393 #define TIFFTAG_IT8HEADER       34018   /* DDES Header */
00394 #define TIFFTAG_IT8RASTERPADDING    34019   /* raster scanline padding */
00395 #define TIFFTAG_IT8BITSPERRUNLENGTH 34020   /* # of bits in short run */
00396 #define TIFFTAG_IT8BITSPEREXTENDEDRUNLENGTH 34021/* # of bits in long run */
00397 #define TIFFTAG_IT8COLORTABLE       34022   /* LW colortable */
00398 #define TIFFTAG_IT8IMAGECOLORINDICATOR  34023   /* BP/BL image color switch */
00399 #define TIFFTAG_IT8BKGCOLORINDICATOR    34024   /* BP/BL bg color switch */
00400 #define TIFFTAG_IT8IMAGECOLORVALUE  34025   /* BP/BL image color value */
00401 #define TIFFTAG_IT8BKGCOLORVALUE    34026   /* BP/BL bg color value */
00402 #define TIFFTAG_IT8PIXELINTENSITYRANGE  34027   /* MP pixel intensity value */
00403 #define TIFFTAG_IT8TRANSPARENCYINDICATOR 34028  /* HC transparency switch */
00404 #define TIFFTAG_IT8COLORCHARACTERIZATION 34029  /* color character. table */
00405 #define TIFFTAG_IT8HCUSAGE      34030   /* HC usage indicator */
00406 #define TIFFTAG_IT8TRAPINDICATOR    34031   /* Trapping indicator
00407                            (untrapped=0, trapped=1) */
00408 #define TIFFTAG_IT8CMYKEQUIVALENT   34032   /* CMYK color equivalents */
00409 /* tags 34232-34236 are private tags registered to Texas Instruments */
00410 #define TIFFTAG_FRAMECOUNT              34232   /* Sequence Frame Count */
00411 /* tag 34377 is private tag registered to Adobe for PhotoShop */
00412 #define TIFFTAG_PHOTOSHOP       34377 
00413 /* tags 34665, 34853 and 40965 are documented in EXIF specification */
00414 #define TIFFTAG_EXIFIFD         34665   /* Pointer to EXIF private directory */
00415 /* tag 34750 is a private tag registered to Adobe? */
00416 #define TIFFTAG_ICCPROFILE      34675   /* ICC profile data */
00417 /* tag 34750 is a private tag registered to Pixel Magic */
00418 #define TIFFTAG_JBIGOPTIONS     34750   /* JBIG options */
00419 #define TIFFTAG_GPSIFD          34853   /* Pointer to GPS private directory */
00420 /* tags 34908-34914 are private tags registered to SGI */
00421 #define TIFFTAG_FAXRECVPARAMS       34908   /* encoded Class 2 ses. parms */
00422 #define TIFFTAG_FAXSUBADDRESS       34909   /* received SubAddr string */
00423 #define TIFFTAG_FAXRECVTIME     34910   /* receive time (secs) */
00424 #define TIFFTAG_FAXDCS          34911   /* encoded fax ses. params, Table 2/T.30 */
00425 /* tags 37439-37443 are registered to SGI <gregl@sgi.com> */
00426 #define TIFFTAG_STONITS         37439   /* Sample value to Nits */
00427 /* tag 34929 is a private tag registered to FedEx */
00428 #define TIFFTAG_FEDEX_EDR       34929   /* unknown use */
00429 #define TIFFTAG_INTEROPERABILITYIFD 40965   /* Pointer to Interoperability private directory */
00430 /* Adobe Digital Negative (DNG) format tags */
00431 #define TIFFTAG_DNGVERSION      50706   /* &DNG version number */
00432 #define TIFFTAG_DNGBACKWARDVERSION  50707   /* &DNG compatibility version */
00433 #define TIFFTAG_UNIQUECAMERAMODEL   50708   /* &name for the camera model */
00434 #define TIFFTAG_LOCALIZEDCAMERAMODEL    50709   /* &localized camera model
00435                            name */
00436 #define TIFFTAG_CFAPLANECOLOR       50710   /* &CFAPattern->LinearRaw space
00437                            mapping */
00438 #define TIFFTAG_CFALAYOUT       50711   /* &spatial layout of the CFA */
00439 #define TIFFTAG_LINEARIZATIONTABLE  50712   /* &lookup table description */
00440 #define TIFFTAG_BLACKLEVELREPEATDIM 50713   /* &repeat pattern size for
00441                            the BlackLevel tag */
00442 #define TIFFTAG_BLACKLEVEL      50714   /* &zero light encoding level */
00443 #define TIFFTAG_BLACKLEVELDELTAH    50715   /* &zero light encoding level
00444                            differences (columns) */
00445 #define TIFFTAG_BLACKLEVELDELTAV    50716   /* &zero light encoding level
00446                            differences (rows) */
00447 #define TIFFTAG_WHITELEVEL      50717   /* &fully saturated encoding
00448                            level */
00449 #define TIFFTAG_DEFAULTSCALE        50718   /* &default scale factors */
00450 #define TIFFTAG_DEFAULTCROPORIGIN   50719   /* &origin of the final image
00451                            area */
00452 #define TIFFTAG_DEFAULTCROPSIZE     50720   /* &size of the final image 
00453                            area */
00454 #define TIFFTAG_COLORMATRIX1        50721   /* &XYZ->reference color space
00455                            transformation matrix 1 */
00456 #define TIFFTAG_COLORMATRIX2        50722   /* &XYZ->reference color space
00457                            transformation matrix 2 */
00458 #define TIFFTAG_CAMERACALIBRATION1  50723   /* &calibration matrix 1 */
00459 #define TIFFTAG_CAMERACALIBRATION2  50724   /* &calibration matrix 2 */
00460 #define TIFFTAG_REDUCTIONMATRIX1    50725   /* &dimensionality reduction
00461                            matrix 1 */
00462 #define TIFFTAG_REDUCTIONMATRIX2    50726   /* &dimensionality reduction
00463                            matrix 2 */
00464 #define TIFFTAG_ANALOGBALANCE       50727   /* &gain applied the stored raw
00465                            values*/
00466 #define TIFFTAG_ASSHOTNEUTRAL       50728   /* &selected white balance in
00467                            linear reference space */
00468 #define TIFFTAG_ASSHOTWHITEXY       50729   /* &selected white balance in
00469                            x-y chromaticity
00470                            coordinates */
00471 #define TIFFTAG_BASELINEEXPOSURE    50730   /* &how much to move the zero
00472                            point */
00473 #define TIFFTAG_BASELINENOISE       50731   /* &relative noise level */
00474 #define TIFFTAG_BASELINESHARPNESS   50732   /* &relative amount of
00475                            sharpening */
00476 #define TIFFTAG_BAYERGREENSPLIT     50733   /* &how closely the values of
00477                            the green pixels in the
00478                            blue/green rows track the
00479                            values of the green pixels
00480                            in the red/green rows */
00481 #define TIFFTAG_LINEARRESPONSELIMIT 50734   /* &non-linear encoding range */
00482 #define TIFFTAG_CAMERASERIALNUMBER  50735   /* &camera's serial number */
00483 #define TIFFTAG_LENSINFO        50736   /* info about the lens */
00484 #define TIFFTAG_CHROMABLURRADIUS    50737   /* &chroma blur radius */
00485 #define TIFFTAG_ANTIALIASSTRENGTH   50738   /* &relative strength of the
00486                            camera's anti-alias filter */
00487 #define TIFFTAG_SHADOWSCALE     50739   /* &used by Adobe Camera Raw */
00488 #define TIFFTAG_DNGPRIVATEDATA      50740   /* &manufacturer's private data */
00489 #define TIFFTAG_MAKERNOTESAFETY     50741   /* &whether the EXIF MakerNote
00490                            tag is safe to preserve
00491                            along with the rest of the
00492                            EXIF data */
00493 #define TIFFTAG_CALIBRATIONILLUMINANT1  50778   /* &illuminant 1 */
00494 #define TIFFTAG_CALIBRATIONILLUMINANT2  50779   /* &illuminant 2 */
00495 #define TIFFTAG_BESTQUALITYSCALE    50780   /* &best quality multiplier */
00496 #define TIFFTAG_RAWDATAUNIQUEID     50781   /* &unique identifier for
00497                            the raw image data */
00498 #define TIFFTAG_ORIGINALRAWFILENAME 50827   /* &file name of the original
00499                            raw file */
00500 #define TIFFTAG_ORIGINALRAWFILEDATA 50828   /* &contents of the original
00501                            raw file */
00502 #define TIFFTAG_ACTIVEAREA      50829   /* &active (non-masked) pixels
00503                            of the sensor */
00504 #define TIFFTAG_MASKEDAREAS     50830   /* &list of coordinates
00505                            of fully masked pixels */
00506 #define TIFFTAG_ASSHOTICCPROFILE    50831   /* &these two tags used to */
00507 #define TIFFTAG_ASSHOTPREPROFILEMATRIX  50832   /* map cameras's color space
00508                            into ICC profile space */
00509 #define TIFFTAG_CURRENTICCPROFILE   50833   /* & */
00510 #define TIFFTAG_CURRENTPREPROFILEMATRIX 50834   /* & */
00511 /* tag 65535 is an undefined tag used by Eastman Kodak */
00512 #define TIFFTAG_DCSHUESHIFTVALUES       65535   /* hue shift correction data */
00513 
00514 /*
00515  * The following are ``pseudo tags'' that can be used to control
00516  * codec-specific functionality.  These tags are not written to file.
00517  * Note that these values start at 0xffff+1 so that they'll never
00518  * collide with Aldus-assigned tags.
00519  *
00520  * If you want your private pseudo tags ``registered'' (i.e. added to
00521  * this file), please post a bug report via the tracking system at
00522  * http://www.remotesensing.org/libtiff/bugs.html with the appropriate
00523  * C definitions to add.
00524  */
00525 #define TIFFTAG_FAXMODE         65536   /* Group 3/4 format control */
00526 #define     FAXMODE_CLASSIC 0x0000      /* default, include RTC */
00527 #define     FAXMODE_NORTC   0x0001      /* no RTC at end of data */
00528 #define     FAXMODE_NOEOL   0x0002      /* no EOL code at end of row */
00529 #define     FAXMODE_BYTEALIGN   0x0004      /* byte align row */
00530 #define     FAXMODE_WORDALIGN   0x0008      /* word align row */
00531 #define     FAXMODE_CLASSF  FAXMODE_NORTC   /* TIFF Class F */
00532 #define TIFFTAG_JPEGQUALITY     65537   /* Compression quality level */
00533 /* Note: quality level is on the IJG 0-100 scale.  Default value is 75 */
00534 #define TIFFTAG_JPEGCOLORMODE       65538   /* Auto RGB<=>YCbCr convert? */
00535 #define     JPEGCOLORMODE_RAW   0x0000      /* no conversion (default) */
00536 #define     JPEGCOLORMODE_RGB   0x0001      /* do auto conversion */
00537 #define TIFFTAG_JPEGTABLESMODE      65539   /* What to put in JPEGTables */
00538 #define     JPEGTABLESMODE_QUANT 0x0001     /* include quantization tbls */
00539 #define     JPEGTABLESMODE_HUFF 0x0002      /* include Huffman tbls */
00540 /* Note: default is JPEGTABLESMODE_QUANT | JPEGTABLESMODE_HUFF */
00541 #define TIFFTAG_FAXFILLFUNC     65540   /* G3/G4 fill function */
00542 #define TIFFTAG_PIXARLOGDATAFMT     65549   /* PixarLogCodec I/O data sz */
00543 #define     PIXARLOGDATAFMT_8BIT    0   /* regular u_char samples */
00544 #define     PIXARLOGDATAFMT_8BITABGR    1   /* ABGR-order u_chars */
00545 #define     PIXARLOGDATAFMT_11BITLOG    2   /* 11-bit log-encoded (raw) */
00546 #define     PIXARLOGDATAFMT_12BITPICIO  3   /* as per PICIO (1.0==2048) */
00547 #define     PIXARLOGDATAFMT_16BIT   4   /* signed short samples */
00548 #define     PIXARLOGDATAFMT_FLOAT   5   /* IEEE float samples */
00549 /* 65550-65556 are allocated to Oceana Matrix <dev@oceana.com> */
00550 #define TIFFTAG_DCSIMAGERTYPE           65550   /* imager model & filter */
00551 #define     DCSIMAGERMODEL_M3           0       /* M3 chip (1280 x 1024) */
00552 #define     DCSIMAGERMODEL_M5           1       /* M5 chip (1536 x 1024) */
00553 #define     DCSIMAGERMODEL_M6           2       /* M6 chip (3072 x 2048) */
00554 #define     DCSIMAGERFILTER_IR          0       /* infrared filter */
00555 #define     DCSIMAGERFILTER_MONO        1       /* monochrome filter */
00556 #define     DCSIMAGERFILTER_CFA         2       /* color filter array */
00557 #define     DCSIMAGERFILTER_OTHER       3       /* other filter */
00558 #define TIFFTAG_DCSINTERPMODE           65551   /* interpolation mode */
00559 #define     DCSINTERPMODE_NORMAL        0x0     /* whole image, default */
00560 #define     DCSINTERPMODE_PREVIEW       0x1     /* preview of image (384x256) */
00561 #define TIFFTAG_DCSBALANCEARRAY         65552   /* color balance values */
00562 #define TIFFTAG_DCSCORRECTMATRIX        65553   /* color correction values */
00563 #define TIFFTAG_DCSGAMMA                65554   /* gamma value */
00564 #define TIFFTAG_DCSTOESHOULDERPTS       65555   /* toe & shoulder points */
00565 #define TIFFTAG_DCSCALIBRATIONFD        65556   /* calibration file desc */
00566 /* Note: quality level is on the ZLIB 1-9 scale. Default value is -1 */
00567 #define TIFFTAG_ZIPQUALITY      65557   /* compression quality level */
00568 #define TIFFTAG_PIXARLOGQUALITY     65558   /* PixarLog uses same scale */
00569 /* 65559 is allocated to Oceana Matrix <dev@oceana.com> */
00570 #define TIFFTAG_DCSCLIPRECTANGLE    65559   /* area of image to acquire */
00571 #define TIFFTAG_SGILOGDATAFMT       65560   /* SGILog user data format */
00572 #define     SGILOGDATAFMT_FLOAT     0   /* IEEE float samples */
00573 #define     SGILOGDATAFMT_16BIT     1   /* 16-bit samples */
00574 #define     SGILOGDATAFMT_RAW       2   /* uninterpreted data */
00575 #define     SGILOGDATAFMT_8BIT      3   /* 8-bit RGB monitor values */
00576 #define TIFFTAG_SGILOGENCODE        65561 /* SGILog data encoding control*/
00577 #define     SGILOGENCODE_NODITHER   0     /* do not dither encoded values*/
00578 #define     SGILOGENCODE_RANDITHER  1     /* randomly dither encd values */
00579 
00580 /*
00581  * EXIF tags
00582  */
00583 #define EXIFTAG_EXPOSURETIME        33434   /* Exposure time */
00584 #define EXIFTAG_FNUMBER         33437   /* F number */
00585 #define EXIFTAG_EXPOSUREPROGRAM     34850   /* Exposure program */
00586 #define EXIFTAG_SPECTRALSENSITIVITY 34852   /* Spectral sensitivity */
00587 #define EXIFTAG_ISOSPEEDRATINGS     34855   /* ISO speed rating */
00588 #define EXIFTAG_OECF            34856   /* Optoelectric conversion
00589                            factor */
00590 #define EXIFTAG_EXIFVERSION     36864   /* Exif version */
00591 #define EXIFTAG_DATETIMEORIGINAL    36867   /* Date and time of original
00592                            data generation */
00593 #define EXIFTAG_DATETIMEDIGITIZED   36868   /* Date and time of digital
00594                            data generation */
00595 #define EXIFTAG_COMPONENTSCONFIGURATION 37121   /* Meaning of each component */
00596 #define EXIFTAG_COMPRESSEDBITSPERPIXEL  37122   /* Image compression mode */
00597 #define EXIFTAG_SHUTTERSPEEDVALUE   37377   /* Shutter speed */
00598 #define EXIFTAG_APERTUREVALUE       37378   /* Aperture */
00599 #define EXIFTAG_BRIGHTNESSVALUE     37379   /* Brightness */
00600 #define EXIFTAG_EXPOSUREBIASVALUE   37380   /* Exposure bias */
00601 #define EXIFTAG_MAXAPERTUREVALUE    37381   /* Maximum lens aperture */
00602 #define EXIFTAG_SUBJECTDISTANCE     37382   /* Subject distance */
00603 #define EXIFTAG_METERINGMODE        37383   /* Metering mode */
00604 #define EXIFTAG_LIGHTSOURCE     37384   /* Light source */
00605 #define EXIFTAG_FLASH           37385   /* Flash */
00606 #define EXIFTAG_FOCALLENGTH     37386   /* Lens focal length */
00607 #define EXIFTAG_SUBJECTAREA     37396   /* Subject area */
00608 #define EXIFTAG_MAKERNOTE       37500   /* Manufacturer notes */
00609 #define EXIFTAG_USERCOMMENT     37510   /* User comments */
00610 #define EXIFTAG_SUBSECTIME      37520   /* DateTime subseconds */
00611 #define EXIFTAG_SUBSECTIMEORIGINAL  37521   /* DateTimeOriginal subseconds */
00612 #define EXIFTAG_SUBSECTIMEDIGITIZED 37522   /* DateTimeDigitized subseconds */
00613 #define EXIFTAG_FLASHPIXVERSION     40960   /* Supported Flashpix version */
00614 #define EXIFTAG_COLORSPACE      40961   /* Color space information */
00615 #define EXIFTAG_PIXELXDIMENSION     40962   /* Valid image width */
00616 #define EXIFTAG_PIXELYDIMENSION     40963   /* Valid image height */
00617 #define EXIFTAG_RELATEDSOUNDFILE    40964   /* Related audio file */
00618 #define EXIFTAG_FLASHENERGY     41483   /* Flash energy */
00619 #define EXIFTAG_SPATIALFREQUENCYRESPONSE 41484  /* Spatial frequency response */
00620 #define EXIFTAG_FOCALPLANEXRESOLUTION   41486   /* Focal plane X resolution */
00621 #define EXIFTAG_FOCALPLANEYRESOLUTION   41487   /* Focal plane Y resolution */
00622 #define EXIFTAG_FOCALPLANERESOLUTIONUNIT 41488  /* Focal plane resolution unit */
00623 #define EXIFTAG_SUBJECTLOCATION     41492   /* Subject location */
00624 #define EXIFTAG_EXPOSUREINDEX       41493   /* Exposure index */
00625 #define EXIFTAG_SENSINGMETHOD       41495   /* Sensing method */
00626 #define EXIFTAG_FILESOURCE      41728   /* File source */
00627 #define EXIFTAG_SCENETYPE       41729   /* Scene type */
00628 #define EXIFTAG_CFAPATTERN      41730   /* CFA pattern */
00629 #define EXIFTAG_CUSTOMRENDERED      41985   /* Custom image processing */
00630 #define EXIFTAG_EXPOSUREMODE        41986   /* Exposure mode */
00631 #define EXIFTAG_WHITEBALANCE        41987   /* White balance */
00632 #define EXIFTAG_DIGITALZOOMRATIO    41988   /* Digital zoom ratio */
00633 #define EXIFTAG_FOCALLENGTHIN35MMFILM   41989   /* Focal length in 35 mm film */
00634 #define EXIFTAG_SCENECAPTURETYPE    41990   /* Scene capture type */
00635 #define EXIFTAG_GAINCONTROL     41991   /* Gain control */
00636 #define EXIFTAG_CONTRAST        41992   /* Contrast */
00637 #define EXIFTAG_SATURATION      41993   /* Saturation */
00638 #define EXIFTAG_SHARPNESS       41994   /* Sharpness */
00639 #define EXIFTAG_DEVICESETTINGDESCRIPTION 41995  /* Device settings description */
00640 #define EXIFTAG_SUBJECTDISTANCERANGE    41996   /* Subject distance range */
00641 #define EXIFTAG_GAINCONTROL     41991   /* Gain control */
00642 #define EXIFTAG_GAINCONTROL     41991   /* Gain control */
00643 #define EXIFTAG_IMAGEUNIQUEID       42016   /* Unique image ID */
00644 
00645 #endif /* _TIFF_ */
00646 
00647 /* vim: set ts=8 sts=8 sw=8 noet: */
00648 /*
00649  * Local Variables:
00650  * mode: c
00651  * c-basic-offset: 8
00652  * fill-column: 78
00653  * End:
00654  */

Generated on Sat May 26 2012 04:31:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.