2002-10-07 09:47:36 -04:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
|
|
<meta name="Content-Style" content="text/css">
|
|
|
|
<title>INTRO</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<h1 align=center>INTRO</h1>
|
|
|
|
<a href="#NAME">NAME</a><br>
|
|
|
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
|
|
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
|
|
|
<a href="#DATA TYPES">DATA TYPES</a><br>
|
|
|
|
<a href="#LIST OF ROUTINES">LIST OF ROUTINES</a><br>
|
|
|
|
<a href="#TAG USAGE">TAG USAGE</a><br>
|
|
|
|
<a href="#PSEUDO TAGS">PSEUDO TAGS</a><br>
|
|
|
|
<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
|
|
|
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
|
|
|
<a href="#BUGS">BUGS</a><br>
|
|
|
|
|
|
|
|
<hr>
|
2003-11-27 10:07:01 -05:00
|
|
|
<!-- Creator : groff version 1.17.2 -->
|
|
|
|
<!-- CreationDate: Thu Nov 27 17:57:57 2003 -->
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="NAME"></a>
|
|
|
|
<h2>NAME</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
libtiff - introduction to <i>libtiff</i>, a library for reading and writing <small>TIFF</small> files</td></table>
|
|
|
|
<a name="SYNOPSIS"></a>
|
|
|
|
<h2>SYNOPSIS</h2>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>#include <tiffio.h></b><br>
|
|
|
|
cc file.c <b>-ltiff</b></td></table>
|
|
|
|
<a name="DESCRIPTION"></a>
|
|
|
|
<h2>DESCRIPTION</h2>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<i>libtiff</i> is a library for reading and writing data
|
|
|
|
files encoded with the <i>Tag Image File</i> format,
|
|
|
|
Revision 6.0 (or revision 5.0 or revision 4.0). This file
|
|
|
|
format is suitable for archiving multi-color and
|
|
|
|
monochromatic image data.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The library supports several compression algorithms, as
|
|
|
|
indicated by the <i>Compression</i> field, including: no
|
|
|
|
compression (1), <small>CCITT</small> 1D Huffman compression
|
|
|
|
(2), <small>CCITT</small> Group 3 Facsimile compression (3),
|
|
|
|
<small>CCITT</small> Group 4 Facsimile compression (4),
|
|
|
|
Lempel-Ziv & Welch compression (5), baseline JPEG
|
|
|
|
compression (7), word-aligned 1D Huffman compression
|
|
|
|
(32771), and PackBits compression (32773). In addition,
|
|
|
|
several nonstandard compression algorithms are supported:
|
|
|
|
the 4-bit compression algorithm used by the
|
|
|
|
<i>ThunderScan</i> program (32809) (decompression only),
|
|
|
|
NeXT's 2-bit compression algorithm (32766) (decompression
|
|
|
|
only), an experimental LZ-style algorithm known as Deflate
|
|
|
|
(32946), and an experimental CIE LogLuv compression scheme
|
|
|
|
designed for images with high dynamic range (32845 for LogL
|
|
|
|
and 32845 for LogLuv). Directory information may be in
|
|
|
|
either little- or big-endian byte order-byte swapping is
|
|
|
|
automatically done by the library. Data bit ordering may be
|
|
|
|
either Most Significant Bit ( <small>MSB</small> ) to Least
|
|
|
|
Significant Bit ( <small>LSB</small> ) or <small>LSB</small>
|
|
|
|
to <small>MSB.</small> Finally, the library does not support
|
|
|
|
files in which the <i>BitsPerSample</i>, <i>Compression</i>,
|
|
|
|
<i>MinSampleValue</i>, or <i>MaxSampleValue</i> fields are
|
|
|
|
defined differently on a per-sample basis (in Rev. 6.0 the
|
|
|
|
<i>Compression</i> tag is not defined on a per-sample basis,
|
|
|
|
so this is immaterial).</td></table>
|
|
|
|
<a name="DATA TYPES"></a>
|
|
|
|
<h2>DATA TYPES</h2>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The library makes extensive use of C typedefs to promote
|
|
|
|
portability. Two sets of typedefs are used, one for
|
|
|
|
communication with clients of the library and one for
|
|
|
|
internal data structures and parsing of the
|
|
|
|
<small>TIFF</small> format. The following typedefs are
|
|
|
|
exposed to users either through function definitions or
|
|
|
|
through parameters passed through the varargs
|
|
|
|
interfaces.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="18%"></td><td width="82%">
|
|
|
|
<pre>typedef unsigned short uint16; 16-bit unsigned integer
|
|
|
|
typedef unsigned <<i>thing</i>> uint32; 32-bit unsigned integer
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
typedef unsigned int ttag_t; directory tag
|
|
|
|
typedef uint16 tdir_t; directory index
|
|
|
|
typedef uint16 tsample_t; sample number
|
|
|
|
typedef uint32 tstrip_t; strip number
|
|
|
|
typedef uint32 ttile_t; tile number
|
|
|
|
typedef int32 tsize_t; i/o size in bytes
|
|
|
|
typedef void* tdata_t; image data ref
|
|
|
|
typedef void* thandle_t; client data handle
|
|
|
|
typedef int32 toff_t; file offset
|
|
|
|
</pre></td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
Note that <i>tstrip_t</i>, <i>ttile_t</i>, and
|
|
|
|
<i>tsize_t</i> are constrained to be no more than 32-bit
|
|
|
|
quantities by 32-bit fields they are stored in in the
|
|
|
|
<small>TIFF</small> image. Likewise <i>tsample_t</i> is
|
|
|
|
limited by the 16-bit field used to store the
|
|
|
|
<i>SamplesPerPixel</i> tag. <i>tdir_t</i> constrains the
|
|
|
|
maximum number of <small>IFDs</small> that may appear in an
|
|
|
|
image and may be an arbitrary size (w/o penalty).
|
|
|
|
<i>ttag_t</i> must be either int, unsigned int, pointer, or
|
|
|
|
double because the library uses a varargs interface and
|
|
|
|
<small>ANSI C</small> restricts the type of the parameter
|
|
|
|
before an ellipsis to be a promoted type. <i>toff_t</i> is
|
|
|
|
defined as int32 because TIFF file offsets are (unsigned)
|
|
|
|
32-bit quantities. A signed value is used because some
|
|
|
|
interfaces return -1 on error. Finally, note that
|
|
|
|
user-specified data references are passed as opaque handles
|
|
|
|
and only cast at the lowest layers where their type is
|
|
|
|
presumed.</td></table>
|
|
|
|
<a name="LIST OF ROUTINES"></a>
|
|
|
|
<h2>LIST OF ROUTINES</h2>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The following routines are part of the library. Consult
|
|
|
|
specific manual pages for details on their operation. The
|
|
|
|
manual page names listed below are for systems where the
|
|
|
|
full function names can not be encoded in the filesystem; on
|
|
|
|
most systems doing ``man function-name'' will
|
|
|
|
work.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<pre>
|
|
|
|
<i>Name Appears on Page Description
|
|
|
|
|
|
|
|
</i>TIFFCheckpointDirectory writedir.3t writes the current state of the directory
|
|
|
|
TIFFCheckTile tile.3t very x,y,z,sample is within image
|
|
|
|
TIFFClientOpen open.3t open a file for reading or writing
|
|
|
|
TIFFClose close.3t close an open file
|
|
|
|
TIFFComputeStrip strip.3t return strip containing y,sample
|
|
|
|
TIFFComputeTile tile.3t return tile containing x,y,z,sample
|
|
|
|
TIFFCurrentDirectory query.3t return index of current directory
|
|
|
|
TIFFCurrentRow query.3t return index of current scanline
|
|
|
|
TIFFCurrentStrip query.3t return index of current strip
|
|
|
|
TIFFCurrentTile query.3t return index of current tile
|
|
|
|
TIFFDataWidth width.3t return the size of TIFF data types
|
|
|
|
TIFFError error.3t library error handler
|
|
|
|
TIFFFdOpen open.3t open a file for reading or writing
|
|
|
|
TIFFFileName query.3t return name of open file
|
|
|
|
TIFFFileno query.3t return open file descriptor
|
|
|
|
TIFFFindCODEC codec.3t find standard codec for the specific scheme
|
|
|
|
TIFFFlush flush.3t flush all pending writes
|
|
|
|
TIFFFlushData flush.3t flush pending data writes
|
|
|
|
TIFFGetBitRevTable swab.3t return bit reversal table
|
|
|
|
TIFFGetField getfield.3t return tag value in current directory
|
|
|
|
TIFFGetFieldDefaulted getfield.3t return tag value in current directory
|
|
|
|
TIFFGetMode query.3t return open file mode
|
|
|
|
TIFFGetVersion query.3t return library version string
|
|
|
|
TIFFIsCODECConfigured codec.3t check, whether we have working codec
|
|
|
|
TIFFIsTiled query.3t return true if image data is tiled
|
|
|
|
TIFFIsByteSwapped query.3t return true if image data is byte-swapped
|
|
|
|
TIFFNumberOfStrips strip.3t return number of strips in an image
|
|
|
|
TIFFNumberOfTiles tile.3t return number of tiles in an image
|
|
|
|
TIFFOpen open.3t open a file for reading or writing
|
|
|
|
TIFFPrintDirectory print.3t print description of the current directory
|
|
|
|
TIFFReadBufferSetup rdbuf.3t specify i/o buffer for reading
|
|
|
|
TIFFReadDirectory readdir.3t read the next directory
|
|
|
|
TIFFReadEncodedStrip rdestrip.3t read and decode a strip of data
|
|
|
|
TIFFReadEncodedTile rdetile.3t read and decode a tile of data
|
|
|
|
TIFFReadRawStrip rdrstrip.3t read a raw strip of data
|
|
|
|
TIFFReadRawTile rdrtile.3t read a raw tile of data
|
|
|
|
TIFFReadRGBAImage rdimage.3t read an image into a fixed format raster
|
|
|
|
TIFFReadScanline readline.3t read and decode a row of data
|
|
|
|
TIFFReadTile readtile.3t read and decode a tile of data
|
|
|
|
TIFFRegisterCODEC codec.3t override standard codec for the specific scheme
|
|
|
|
TIFFReverseBits swab.3t reverse bits in an array of bytes
|
|
|
|
TIFFRGBAImageBegin rgbaimage.3t setup decoder state for TIFFRGBAImageGet
|
|
|
|
TIFFRGBAImageEnd rgbaimage.3t release TIFFRGBAImage decoder state
|
|
|
|
TIFFRGBAImageGet rgbaimage.3t read and decode an image
|
|
|
|
TIFFRGBAImageOK rgbaimage.3t is image readable by TIFFRGBAImageGet
|
|
|
|
TIFFScanlineSize size.3t return size of a scanline
|
|
|
|
TIFFSetDirectory setdir.3t set the current directory
|
|
|
|
TIFFSetSubDirectory setdir.3t set the current directory
|
|
|
|
TIFFSetErrorHandler error.3t set error handler function
|
|
|
|
TIFFSetField setfield.3t set a tag's value in the current directory
|
|
|
|
TIFFSetWarningHandler error.3t set warning handler function
|
|
|
|
TIFFStripSize strip.3t returns size of a strip
|
|
|
|
TIFFRawStripSize strip.3t returns the number of bytes in a raw strip
|
|
|
|
TIFFSwabShort swab.3t swap bytes of short
|
|
|
|
TIFFSwabLong swab.3t swap bytes of long
|
|
|
|
TIFFSwabArrayOfShort swab.3t swap bytes of an array of shorts
|
|
|
|
TIFFSwabArrayOfLong swab.3t swap bytes of an array of longs
|
|
|
|
TIFFTileRowSize size.3t return size of a row in a tile
|
|
|
|
TIFFTileSize size.3t return size of a tile
|
|
|
|
TIFFUnRegisterCODEC codec.3t unregisters the codec
|
|
|
|
TIFFVGetField getfield.3t return tag value in current directory
|
|
|
|
TIFFVGetFieldDefaulted getfield.3t return tag value in current directory
|
|
|
|
TIFFVSetField setfield.3t set a tag's value in the current directory
|
|
|
|
TIFFVStripSize strip.3t returns the number of bytes in a strip
|
|
|
|
TIFFWarning warning.3t library warning handler
|
|
|
|
TIFFWriteDirectory writedir.3t write the current directory
|
|
|
|
TIFFWriteEncodedStrip wrestrip.3t compress and write a strip of data
|
|
|
|
TIFFWriteEncodedTile wretile.3t compress and write a tile of data
|
|
|
|
TIFFWriteRawStrip wrrstrip.3t write a raw strip of data
|
|
|
|
TIFFWriteRawTile wrrtile.3t write a raw tile of data
|
|
|
|
TIFFWriteScanline writeline.3t write a scanline of data
|
|
|
|
TIFFWriteTile wrrtile.3t compress and write a tile of data
|
|
|
|
</pre></td></table>
|
|
|
|
<a name="TAG USAGE"></a>
|
|
|
|
<h2>TAG USAGE</h2>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The table below lists the <small>TIFF</small> tags that are
|
|
|
|
recognized and handled by the library. If no use is
|
|
|
|
indicated in the table, then the library reads and writes
|
|
|
|
the tag, but does not use it internally. Note that some tags
|
|
|
|
are meaningful only when a particular compression scheme is
|
|
|
|
being used; e.g. <i>Group3Options</i> is only useful if
|
|
|
|
<i>Compression</i> is set to <small>CCITT</small> Group 3
|
|
|
|
encoding. Tags of this sort are considered
|
|
|
|
<i>codec-specific</i> tags and the library does not
|
|
|
|
recognize them except when the <i>Compression</i> tag has
|
|
|
|
been previously set to the relevant compression
|
|
|
|
scheme.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<pre>
|
|
|
|
<i>Tag Name Value R/W Library Use/Notes
|
|
|
|
|
|
|
|
</i>Artist 315 R/W
|
|
|
|
BadFaxLines 326 R/W
|
|
|
|
BitsPerSample 258 R/W lots
|
|
|
|
CellLength 265 parsed but ignored
|
|
|
|
CellWidth 264 parsed but ignored
|
|
|
|
CleanFaxData 327 R/W
|
|
|
|
ColorMap 320 R/W
|
|
|
|
ColorResponseUnit 300 parsed but ignored
|
|
|
|
Compression 259 R/W choosing codec
|
|
|
|
ConsecutiveBadFaxLines 328 R/W
|
|
|
|
Copyright 33432 R/W
|
|
|
|
DataType 32996 R obsoleted by SampleFormat tag
|
|
|
|
DateTime 306 R/W
|
|
|
|
DocumentName 269 R/W
|
|
|
|
DotRange 336 R/W
|
|
|
|
ExtraSamples 338 R/W lots
|
|
|
|
FaxRecvParams 34908 R/W
|
|
|
|
FaxSubAddress 34909 R/W
|
|
|
|
FaxRecvTime 34910 R/W
|
|
|
|
FillOrder 266 R/W control bit order
|
|
|
|
FreeByteCounts 289 parsed but ignored
|
|
|
|
FreeOffsets 288 parsed but ignored
|
|
|
|
GrayResponseCurve 291 parsed but ignored
|
|
|
|
GrayResponseUnit 290 parsed but ignored
|
|
|
|
Group3Options 292 R/W used by Group 3 codec
|
|
|
|
Group4Options 293 R/W
|
|
|
|
HostComputer 316 R/W
|
|
|
|
ImageDepth 32997 R/W tile/strip calculations
|
|
|
|
ImageDescription 270 R/W
|
|
|
|
ImageLength 257 R/W lots
|
|
|
|
ImageWidth 256 R/W lots
|
|
|
|
InkNames 333 R/W
|
|
|
|
InkSet 332 R/W
|
|
|
|
JPEGTables 347 R/W used by JPEG codec
|
|
|
|
Make 271 R/W
|
|
|
|
Matteing 32995 R obsoleted by ExtraSamples tag
|
|
|
|
MaxSampleValue 281 R/W
|
|
|
|
MinSampleValue 280 R/W
|
|
|
|
Model 272 R/W
|
|
|
|
NewSubFileType 254 R/W called SubFileType in spec
|
|
|
|
NumberOfInks 334 R/W
|
|
|
|
Orientation 274 R/W
|
|
|
|
PageName 285 R/W
|
|
|
|
PageNumber 297 R/W
|
|
|
|
PhotometricInterpretation 262 R/Wused by Group 3 and JPEG codecs
|
|
|
|
PlanarConfiguration 284 R/W data i/o
|
|
|
|
Predictor 317 R/W used by LZW and Deflate codecs
|
|
|
|
PrimaryChromacities 319 R/W
|
|
|
|
ReferenceBlackWhite 532 R/W
|
|
|
|
ResolutionUnit 296 R/W used by Group 3 codec
|
|
|
|
RowsPerStrip 278 R/W data i/o
|
|
|
|
SampleFormat 339 R/W
|
|
|
|
SamplesPerPixel 277 R/W lots
|
|
|
|
SMinSampleValue 340 R/W
|
|
|
|
SMaxSampleValue 341 R/W
|
|
|
|
Software 305 R/W
|
|
|
|
StoNits 37439 R/W
|
|
|
|
StripByteCounts 279 R/W data i/o
|
|
|
|
StripOffsets 273 R/W data i/o
|
|
|
|
SubFileType 255 R/W called OSubFileType in spec
|
|
|
|
TargetPrinter 337 R/W
|
|
|
|
Thresholding 263 R/W
|
|
|
|
TileByteCounts 324 R/W data i/o
|
|
|
|
TileDepth 32998 R/W tile/strip calculations
|
|
|
|
TileLength 323 R/W data i/o
|
|
|
|
TileOffsets 324 R/W data i/o
|
|
|
|
TileWidth 322 R/W data i/o
|
|
|
|
TransferFunction 301 R/W
|
|
|
|
WhitePoint 318 R/W
|
|
|
|
XPosition 286 R/W
|
|
|
|
XResolution 282 R/W
|
|
|
|
YCbCrCoefficients 529 R/W used by TIFFRGBAImage support
|
|
|
|
YCbCrPositioning 531 R/W tile/strip size calulcations
|
|
|
|
YCbCrSubsampling 530 R/W
|
|
|
|
YPosition 286 R/W
|
|
|
|
YResolution 283 R/W used by Group 3 codec
|
|
|
|
</pre></td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="PSEUDO TAGS"></a>
|
|
|
|
<h2>PSEUDO TAGS</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
In addition to the normal <small>TIFF</small> tags the
|
2002-10-07 09:47:36 -04:00
|
|
|
library supports a collection of tags whose values lie in a
|
2003-11-27 10:07:01 -05:00
|
|
|
range outside the valid range of <small>TIFF</small> tags.
|
|
|
|
These tags are termed <i>pseud-tags</i> and are used to
|
|
|
|
control various codec-specific functions within the library.
|
|
|
|
The table below summarizes the defined
|
|
|
|
pseudo-tags.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2003-11-27 10:07:01 -05:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
2002-10-07 09:47:36 -04:00
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<pre>
|
|
|
|
<i>Tag Name Codec R/W Library Use/Notes
|
2002-10-07 09:47:36 -04:00
|
|
|
|
2003-11-27 10:07:01 -05:00
|
|
|
</i>TIFFTAG_FAXMODE G3 R/W general codec operation
|
|
|
|
TIFFTAG_FAXFILLFUNC G3/G4 R/W bitmap fill function
|
|
|
|
TIFFTAG_JPEGQUALITY JPEG R/W compression quality control
|
|
|
|
TIFFTAG_JPEGCOLORMODE JPEG R/W control colorspace conversions
|
|
|
|
TIFFTAG_JPEGTABLESMODE JPEG R/W control contents of <i>JPEGTables</i> tag
|
|
|
|
TIFFTAG_ZIPQUALITY Deflate R/Wcompression quality level
|
|
|
|
TIFFTAG_PIXARLOGDATAFMT PixarLog R/Wuser data format
|
|
|
|
TIFFTAG_PIXARLOGQUALITY PixarLog R/Wcompression quality level
|
|
|
|
TIFFTAG_SGILOGDATAFMT SGILog R/W user data format
|
|
|
|
</pre><b>TIFFTAG_FAXMODE</b></td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the operation of the Group 3 codec. Possible values
|
|
|
|
(independent bits that can be combined by or'ing them
|
|
|
|
together) are: FAXMODE_CLASSIC (enable old-style format in
|
|
|
|
which the <small>RTC</small> is written at the end of the
|
|
|
|
last strip), FAXMODE_NORTC (opposite of FAXMODE_CLASSIC;
|
|
|
|
also called FAXMODE_CLASSF), FAXMODE_NOEOL (do not write
|
|
|
|
<small>EOL</small> codes at the start of each row of data),
|
|
|
|
FAXMODE_BYTEALIGN (align each encoded row to an 8-bit
|
|
|
|
boundary), FAXMODE_WORDALIGN (align each encoded row to an
|
|
|
|
16-bit boundary), The default value is dependent on the
|
|
|
|
compression scheme; this pseudo-tag is used by the various
|
|
|
|
G3 and G4 codecs to share code.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_FAXFILLFUNC</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the function used to convert arrays of black and
|
|
|
|
white runs to packed bit arrays. This hook can be used to
|
|
|
|
image decoded scanlines in multi-bit depth rasters (e.g. for
|
|
|
|
display in colormap mode) or for other purposes. The default
|
|
|
|
value is a pointer to a builtin function that images packed
|
|
|
|
bilevel data.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_IPTCNEWSPHOTO</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Tag contaings image metadata per the IPTC newsphoto spec:
|
|
|
|
Headline, captioning, credit, etc... Used by most wire
|
|
|
|
services.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_PHOTOSHOP</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Tag contains Photoshop captioning information and metadata.
|
|
|
|
Photoshop uses in parallel and redundantly alongside
|
|
|
|
IPTCNEWSPHOTO information.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_JPEGQUALITY</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the compression quality level used in the baseline
|
|
|
|
algorithm. Note that quality levels are in the range 0-100
|
|
|
|
with a default value of 75.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_JPEGCOLORMODE</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control whether or not conversion is done between RGB and
|
|
|
|
YCbCr colorspaces. Possible values are: JPEGCOLORMODE_RAW
|
|
|
|
(do not convert), and JPEGCOLORMODE_RGB (convert to/from
|
|
|
|
RGB) The default value is JPEGCOLORMODE_RAW.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_JPEGTABLESMODE</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the information written in the <i>JPEGTables</i>
|
|
|
|
tag. Possible values (independent bits that can be combined
|
|
|
|
by or'ing them together) are: JPEGTABLESMODE_QUANT (include
|
|
|
|
quantization tables), and JPEGTABLESMODE_HUFF (include
|
|
|
|
Huffman encoding tables). The default value is
|
|
|
|
JPEGTABLESMODE_QUANT|JPEGTABLESMODE_HUFF.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_ZIPQUALITY</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the compression technique used by the Deflate codec.
|
|
|
|
Quality levels are in the range 1-9 with larger numbers
|
|
|
|
yielding better compression at the cost of more computation.
|
|
|
|
The default quality level is 6 which yields a good
|
|
|
|
time-space tradeoff.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_PIXARLOGDATAFMT</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the format of user data passed <i>in</i> to the
|
|
|
|
PixarLog codec when encoding and passed <i>out</i> from when
|
|
|
|
decoding. Possible values are: PIXARLOGDATAFMT_8BIT for
|
2002-10-07 09:47:36 -04:00
|
|
|
8-bit unsigned pixels, PIXARLOGDATAFMT_8BITABGR for 8-bit
|
|
|
|
unsigned ABGR-ordered pixels, PIXARLOGDATAFMT_11BITLOG for
|
|
|
|
11-bit log-encoded raw data, PIXARLOGDATAFMT_12BITPICIO for
|
|
|
|
12-bit PICIO-compatible data, PIXARLOGDATAFMT_16BIT for
|
|
|
|
16-bit signed samples, and PIXARLOGDATAFMT_FLOAT for 32-bit
|
2003-11-27 10:07:01 -05:00
|
|
|
IEEE floating point samples.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_PIXARLOGQUALITY</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the compression technique used by the PixarLog
|
|
|
|
codec. This value is treated identically to
|
|
|
|
TIFFTAG_ZIPQUALITY; see the above description.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>TIFFTAG_SGILOGDATAFMT</b></td></table>
|
|
|
|
|
2002-10-07 09:47:36 -04:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="21%"></td><td width="79%">
|
|
|
|
Control the format of client data passed <i>in</i> to the
|
|
|
|
SGILog codec when encoding and passed <i>out</i> from when
|
|
|
|
decoding. Possible values are: SGILOGDATAFMT_FLTXYZ for
|
2002-10-07 09:47:36 -04:00
|
|
|
converting between LogLuv and 32-bit IEEE floating valued
|
|
|
|
XYZ pixels, SGILOGDATAFMT_16BITLUV for 16-bit encoded Luv
|
|
|
|
pixels, SGILOGDATAFMT_32BITRAW and SGILOGDATAFMT_24BITRAW
|
|
|
|
for no conversion of data, SGILOGDATAFMT_8BITRGB for
|
|
|
|
returning 8-bit RGB data (valid only when decoding
|
|
|
|
LogLuv-encoded data), SGILOGDATAFMT_FLTY for converting
|
|
|
|
between LogL and 32-bit IEEE floating valued Y pixels,
|
|
|
|
SGILOGDATAFMT_16BITL for 16-bit encoded L pixels, and
|
|
|
|
SGILOGDATAFMT_8BITGRY for returning 8-bit greyscale data
|
2003-11-27 10:07:01 -05:00
|
|
|
(valid only when decoding LogL-encoded data).</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="DIAGNOSTICS"></a>
|
|
|
|
<h2>DIAGNOSTICS</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
All error messages are directed through the <i>TIFFError</i>
|
|
|
|
routine. By default messages are directed to <b>stderr</b>
|
|
|
|
in the form: <i>module: messagen.</i> Warning messages are
|
|
|
|
likewise directed through the <i>TIFFWarning</i>
|
|
|
|
routine.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="SEE ALSO"></a>
|
|
|
|
<h2>SEE ALSO</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<i>fax2tiff</i>(1), <i>gif2tiff</i>(1), <i>pal2rgb</i>(1),
|
|
|
|
<i>ppm2tiff</i>(1), <i>rgb2ycbcr</i>(1), <i>ras2tiff</i>(1),
|
|
|
|
<i>raw2tiff</i>(1), <i>sgi2tiff</i>(1), <i>tiff2bw</i>(1),
|
|
|
|
<i>tiffdither</i>(1), <i>tiffdump</i>(1), <i>tiffcp</i>(1),
|
|
|
|
<i>tiffcmp</i>(1), <i>tiffgt</i>(1), <i>tiffinfo</i>(1),
|
|
|
|
<i>tiffmedian</i>(1), <i>tiffsplit</i>(1),
|
|
|
|
<i>tiffsv</i>(1),</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<i>Tag Image File Format Specification -- Revision 6.0</i>,
|
|
|
|
an Aldus Technical Memorandum.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<i>The Spirit of TIFF Class F</i>, an appendix to the TIFF
|
|
|
|
5.0 specification prepared by Cygnet
|
|
|
|
Technologies.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="BUGS"></a>
|
|
|
|
<h2>BUGS</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The library does not support multi-sample images where some
|
|
|
|
samples have different bits/sample.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The library does not support random access to compressed
|
|
|
|
data that is organized with more than one row per tile or
|
|
|
|
strip. The library discards unknown tags. The library should
|
|
|
|
do more validity checking of a directory's
|
|
|
|
contents.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<hr>
|
|
|
|
</body>
|
|
|
|
</html>
|