1 <!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [ 2 <!--ArborText, Inc., 1988-1999, v.4002--> 3 <!--ARC : LSARC 2003/085 libtiff, libjpeg, and libpng--> 4 <!ENTITY synp-tt "SYNOPSIS"> 5 <!ENTITY cmd "libtiff"> 6 <!ENTITY % commonents SYSTEM "smancommon.ent"> 7 %commonents; 8 <!ENTITY % gnomecommonents SYSTEM "gnomecommon.ent"> 9 %gnomecommonents; 10 <!ENTITY % booktitles SYSTEM "booktitles.ent"> 11 %booktitles; 12 <!ENTITY suncopy "Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved."> 13 ]> 14 <?Pub UDT _bookmark _target> 15 <?Pub EntList brvbar bull cross dash diam diams frac12 frac13 frac14 hellip 16 laquo lArr loz mdash nabla ndash para pound rArr raquo sect yen lt gt bsol> 17 <?Pub Inc> 18 <refentry id="libtiff-3"> 19 <!-- %Z%%M% %I% %E% SMI; --> 20 <refmeta><refentrytitle>libtiff</refentrytitle><manvolnum>3</manvolnum> 21 <refmiscinfo class="date">06 Apr 2004</refmiscinfo> 22 <refmiscinfo class="sectdesc">&man3;</refmiscinfo> 23 <refmiscinfo class="software">&release;</refmiscinfo> 24 <refmiscinfo class="arch">generic</refmiscinfo> 25 <refmiscinfo class="copyright">&suncopy;</refmiscinfo> 26 </refmeta> 27 <indexterm><primary>libtiff</primary></indexterm><indexterm><primary>introduction 28 to <filename>libtiff</filename>, a library for reading and writing TIFF files 29 </primary></indexterm> 30 <refnamediv id="libtiff-3-name"><refname>libtiff</refname><refpurpose>introduction 31 to <filename>libtiff</filename>, a library for reading and writing TIFF files 32 </refpurpose></refnamediv> 33 <refsect1 id="libtiff-3-synp"><title>&synp-tt;</title> 34 <programlisting>#include <tiffio.h> 35 36 cc [ <replaceable>flag</replaceable> ...] -I/usr/sfw/include <replaceable> 37 file</replaceable> [ <replaceable>library</replaceable> ... ] 38 -L/usr/sfw/lib -R/usr/sfw/lib -ltiff</programlisting> 39 </refsect1> 40 <refsect1 id="libtiff-3-desc"><title>&desc-tt;</title> 41 <para><filename>&cmd;</filename> is a library for reading and writing data 42 files encoded with the Tag Image File format, Revision 4.0 or later. The TIFF 43 file format is suitable for archiving multicolor and monochromatic image data. 44 </para> 45 </refsect1> 46 <refsect1 id="libtiff-3-exde"><title>&exde-tt;</title> 47 <para>The <filename>&cmd;</filename> library supports several compression 48 algorithms, as indicated by the Compression field, including:</para> 49 <itemizedlist> 50 <listitem><para>No compression (1)</para></listitem> 51 <listitem><para>CCITT 1D Huffman compression (2)</para></listitem> 52 <listitem><para>CCITT Group 3 Facsimile compression (3)</para></listitem> 53 <listitem><para>CCITT Group 4 Facsimile compression (4)</para></listitem> 54 <listitem><para>Lempel-Ziv & Welch compression (5)</para></listitem> 55 <listitem><para>Baseline JPEG compression (7)</para></listitem> 56 <listitem><para>Word-aligned 1D Huffman compression (32771)</para></listitem> 57 <listitem><para>PackBits compression (32773)</para></listitem> 58 </itemizedlist> 59 <para>In addition, several nonstandard compression algorithms are supported: 60 </para> 61 <itemizedlist> 62 <listitem><para>4-bit compression algorithm used by the ThunderScan program 63 (32809) (decompression only)</para></listitem> 64 <listitem><para>NeXT's 2-bit compression algorithm (32766) (decompression 65 only)</para></listitem> 66 <listitem><para>Experimental LZ-style algorithm known as Deflate (32946)</para> 67 </listitem> 68 <listitem><para>Experimental CIE LogLuv compression scheme designed for images 69 with high dynamic range (32845 for LogL and 32845 for LogLuv)</para></listitem> 70 </itemizedlist> 71 <para>Directory information may be in either little- or big-endian byte order. 72 Byte swapping is automatically done by the library.</para> 73 <para>Data bit ordering may be either Most Significant Bit (MSB) to Least 74 Significant Bit (LSB), or LSB to MSB.</para> 75 <para>The library does not support files in which the BitsPerSample, Compression, 76 MinSampleValue, or MaxSampleValue fields are defined differently on a per-sample 77 basis. In Revision 6.0, the Compression tag is not defined on a per-sample 78 basis, so this is immaterial.</para> 79 <refsect2 id="libtiff-3-exde-data"> 80 <title>Data Types</title> 81 <para>The <filename>&cmd;</filename> library makes extensive use of C typedefs 82 to promote portability. Two sets of typedefs are used, one for communication 83 with clients of the library and one for internal data structures and parsing 84 of the TIFF format. The following typedefs are exposed to users either through 85 function definitions or through parameters passed through the <literal>varargs 86 </literal> interfaces.</para> 87 <itemizedlist> 88 <listitem><para><literal>typedef unsigned short uint16;</literal> — 89 16-bit unsigned integer</para></listitem> 90 <listitem><para><literal>typedef unsigned <thing> uint32;</literal> — 91 32-bit unsigned integer</para></listitem> 92 <listitem><para><literal>typedef unsigned int ttag_t;</literal> — directory 93 tag</para></listitem> 94 <listitem><para><literal>typedef uint16 tdir_t;</literal> — directory 95 index</para></listitem> 96 <listitem><para><literal>typedef uint16 tsample_t;</literal> — sample 97 number</para></listitem> 98 <listitem><para><literal>typedef uint32 tstrip_t;</literal> — strip 99 number</para></listitem> 100 <listitem><para><literal>typedef uint32 ttile_t;</literal> — tile number 101 </para></listitem> 102 <listitem><para><literal>typedef int32 tsize_t;</literal> — i/o size 103 in bytes</para></listitem> 104 <listitem><para><literal>typedef void* tdata_t;</literal> — image data 105 ref</para></listitem> 106 <listitem><para><literal>typedef void* thandle_t;</literal> — client 107 data handle</para></listitem> 108 <listitem><para><literal>typedef int32 toff_t;</literal> — file offset 109 </para></listitem> 110 </itemizedlist> 111 <para><literal>tstrip_t</literal>, <literal>ttile_t</literal>, and <literal> 112 tsize_t</literal> are limited to 32-bit quantities because they are stored 113 in 32-bit fields in the TIFF image. Similarly, <literal>tsample_t</literal> 114 is limited by the 16-bit field used to store the <literal>SamplesPerPixel 115 </literal> tag. <literal>tdir_t</literal> constrains the maximum number of 116 IFDs that may appear in an image and may be an arbitrary size without penalty. 117 </para> 118 <para><literal>ttag_t</literal> must be <literal>int</literal>, <literal> 119 unsigned int</literal>, <literal>pointer</literal>, or <literal>double</literal> 120 because the library uses a <literal>varargs</literal> interface and ANSI C 121 restricts the type of the parameter before an ellipsis to be a promoted type. 122 </para> 123 <para><literal>toff_t</literal> is defined as <literal>int32</literal> because 124 TIFF file offsets are unsigned 32-bit quantities. A signed value is used because 125 some interfaces return -1 on error.</para> 126 <para>User-specified data references are passed as opaque handles and only 127 cast at the lowest layers where their type is presumed.</para> 128 </refsect2> 129 <refsect2 id="libtiff-3-exde-routines"> 130 <title>Library Routines</title> 131 <para>The following routines are part of the <filename>&cmd;</filename> library. 132 Consult specific reference pages for details on their operation. The reference 133 page names listed below are for systems where the full function names cannot 134 be encoded in the file system. On most systems, the command <command>man <replaceable> 135 function-name</replaceable></command> will work.</para> 136 <variablelist termlength="xtrawide"> 137 <varlistentry><term><literal>_TIFFfree</literal></term><listitem><para>Release 138 allocated memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle> 139 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 140 </listitem></varlistentry> 141 <varlistentry><term><literal>_TIFFmalloc</literal></term><listitem><para> 142 Dynamically allocate memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle> 143 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 144 </listitem></varlistentry> 145 <varlistentry><term><literal>_TIFFmemcmp</literal></term><listitem><para> 146 Compare allocated memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle> 147 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 148 </listitem></varlistentry> 149 <varlistentry><term><literal>_TIFFmemcpy</literal></term><listitem><para> 150 Copy allocated memory to another memory location. See <citerefentry><refentrytitle> 151 TIFFmemory</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 152 </listitem></varlistentry> 153 <varlistentry><term><literal>_TIFFmemset</literal></term><listitem><para> 154 Set allocated memory to known value. See <citerefentry><refentrytitle>TIFFmemory 155 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 156 </listitem></varlistentry> 157 <varlistentry><term><literal>_TIFFrealloc</literal></term><listitem><para> 158 Dynamically reallocate memory. See <citerefentry><refentrytitle>TIFFmemory 159 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 160 </listitem></varlistentry> 161 <varlistentry><term><literal>TIFFbuffer</literal></term><listitem><para>Specify 162 i/o buffer for reading or writing. See <citerefentry><refentrytitle>TIFFbuffer 163 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 164 </listitem></varlistentry> 165 <varlistentry><term><literal>TIFFCheckTile</literal></term><listitem><para> 166 Every <replaceable>x,y,z,sample</replaceable> is within image. See <citerefentry> 167 <refentrytitle>TIFFtile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 168 </para> 169 </listitem></varlistentry> 170 <varlistentry><term><literal>TIFFClientOpen</literal></term><listitem><para> 171 Open a file for reading or writing. See <citerefentry><refentrytitle>TIFFOpen 172 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 173 </listitem></varlistentry> 174 <varlistentry><term><literal>TIFFClose</literal></term><listitem><para>Close 175 an open file. See <citerefentry><refentrytitle>TIFFClose</refentrytitle><manvolnum> 176 3tiff</manvolnum></citerefentry>.</para> 177 </listitem></varlistentry> 178 <varlistentry><term><literal>TIFFcodec</literal></term><listitem><para>Work 179 with codecs. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle><manvolnum> 180 3tiff</manvolnum></citerefentry>.</para> 181 </listitem></varlistentry> 182 <varlistentry><term><literal>TIFFComputeStrip</literal></term><listitem><para> 183 Return strip containing <replaceable>x,y,z,sample</replaceable>. See <citerefentry> 184 <refentrytitle>TIFFstrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 185 </para> 186 </listitem></varlistentry> 187 <varlistentry><term><literal>TIFFComputeTile</literal></term><listitem><para> 188 Return tile containing <replaceable>y,sample</replaceable>. See <citerefentry> 189 <refentrytitle>TIFFtile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 190 </para> 191 </listitem></varlistentry> 192 <varlistentry><term><literal>TIFFCurrentDirectory</literal></term><listitem> 193 <para>Return index of current directory. See <citerefentry><refentrytitle> 194 TIFFquery</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 195 </listitem></varlistentry> 196 <varlistentry><term><literal>TIFFCurrentRow</literal></term><listitem><para> 197 Return index of current scanline. See <citerefentry><refentrytitle>TIFFquery 198 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 199 </listitem></varlistentry> 200 <varlistentry><term><literal>TIFFCurrentStrip</literal></term><listitem><para> 201 Return index of current strip. See <citerefentry><refentrytitle>TIFFquery 202 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 203 </listitem></varlistentry> 204 <varlistentry><term><literal>TIFFCurrentTile</literal></term><listitem><para> 205 Return index of current tile. See <citerefentry><refentrytitle>TIFFquery</refentrytitle> 206 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 207 </listitem></varlistentry> 208 <varlistentry><term><literal>TIFFDefaultStripSize</literal></term><listitem> 209 <para>Return size of a strip. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle> 210 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 211 </listitem></varlistentry> 212 <varlistentry><term><literal>TIFFDefaultTileSize</literal></term><listitem> 213 <para>Return size of a tile. See <citerefentry><refentrytitle>TIFFtile</refentrytitle> 214 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 215 </listitem></varlistentry> 216 <varlistentry><term><literal>TIFFError</literal></term><listitem><para>Library 217 error handler. See <citerefentry><refentrytitle>TIFFError</refentrytitle> 218 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 219 </listitem></varlistentry> 220 <varlistentry><term><literal>TIFFFdOpen</literal></term><listitem><para>Open 221 a file for reading or writing. See <citerefentry><refentrytitle>TIFFOpen</refentrytitle> 222 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 223 </listitem></varlistentry> 224 <varlistentry><term><literal>TIFFFileName</literal></term><listitem><para> 225 Return name of open file. See <citerefentry><refentrytitle>TIFFquery</refentrytitle> 226 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 227 </listitem></varlistentry> 228 <varlistentry><term><literal>TIFFFileno</literal></term><listitem><para>Return 229 open file descriptor. See <citerefentry><refentrytitle>TIFFquery</refentrytitle> 230 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 231 </listitem></varlistentry> 232 <varlistentry><term><literal>TIFFFindCODEC</literal></term><listitem><para> 233 Find a codec. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle><manvolnum> 234 3tiff</manvolnum></citerefentry>.</para> 235 </listitem></varlistentry> 236 <varlistentry><term><literal>TIFFFlush</literal></term><listitem><para>Flush 237 all pending writes. See <citerefentry><refentrytitle>TIFFFlush</refentrytitle> 238 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 239 </listitem></varlistentry> 240 <varlistentry><term><literal>TIFFFlushData</literal></term><listitem><para> 241 Flush pending data writes. See <citerefentry><refentrytitle>TIFFFlush</refentrytitle> 242 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 243 </listitem></varlistentry> 244 <varlistentry><term><literal>TIFFGetBitRevTable</literal></term><listitem> 245 <para>Return bit reversal table. See <citerefentry><refentrytitle>TIFFswab 246 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 247 </listitem></varlistentry> 248 <varlistentry><term><literal>TIFFGetField</literal></term><listitem><para> 249 Return tag value in current directory. See <citerefentry><refentrytitle>TIFFGetField 250 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 251 </listitem></varlistentry> 252 <varlistentry><term><literal>TIFFGetFieldDefaulted</literal></term><listitem> 253 <para>Return tag value in current directory. See <citerefentry><refentrytitle> 254 TIFFGetField</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 255 </listitem></varlistentry> 256 <varlistentry><term><literal>TIFFGetMode</literal></term><listitem><para> 257 Return open file mode. See <citerefentry><refentrytitle>TIFFquery</refentrytitle> 258 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 259 </listitem></varlistentry> 260 <varlistentry><term><literal>TIFFGetVersion</literal></term><listitem><para> 261 Return library version string. See <citerefentry><refentrytitle>TIFFquery 262 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 263 </listitem></varlistentry> 264 <varlistentry><term><literal>TIFFIsByteSwapped</literal></term><listitem> 265 <para>Return true if image data is byte-swapped. See <citerefentry><refentrytitle> 266 TIFFquery</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 267 </listitem></varlistentry> 268 <varlistentry><term><literal>TIFFIsMSB2LSB</literal></term><listitem><para> 269 Return true if image data is returned with bit 0 as the most significant bit. 270 See <citerefentry><refentrytitle>TIFFquery</refentrytitle><manvolnum>3tiff 271 </manvolnum></citerefentry>.</para> 272 </listitem></varlistentry> 273 <varlistentry><term><literal>TIFFIsTiled</literal></term><listitem><para> 274 Return true if image data is tiled. See <citerefentry><refentrytitle>TIFFquery 275 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 276 </listitem></varlistentry> 277 <varlistentry><term><literal>TIFFIsUpSampled</literal></term><listitem><para> 278 Return true if image data is up-sampled. See <citerefentry><refentrytitle> 279 TIFFquery</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 280 </listitem></varlistentry> 281 <varlistentry><term><literal>TIFFLastDirectory</literal></term><listitem> 282 <para>Return a non-zero value if the current directory is the last directory 283 in the file. See <citerefentry><refentrytitle>TIFFquery</refentrytitle><manvolnum> 284 3tiff</manvolnum></citerefentry>.</para> 285 </listitem></varlistentry> 286 <varlistentry><term><literal>TIFFmemory</literal></term><listitem><para>Manage 287 memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle><manvolnum> 288 3tiff</manvolnum></citerefentry>.</para> 289 </listitem></varlistentry> 290 <varlistentry><term><literal>TIFFNumberOfStrips</literal></term><listitem> 291 <para>Return number of strips in an image. See <citerefentry><refentrytitle> 292 TIFFstrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 293 </listitem></varlistentry> 294 <varlistentry><term><literal>TIFFNumberOfTiles</literal></term><listitem> 295 <para>Return number of tiles in an image. See <citerefentry><refentrytitle> 296 TIFFtile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 297 </listitem></varlistentry> 298 <varlistentry><term><literal>TIFFOpen</literal></term><listitem><para>Open 299 a file for reading or writing. See <citerefentry><refentrytitle>TIFFOpen</refentrytitle> 300 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 301 </listitem></varlistentry> 302 <varlistentry><term><literal>TIFFPrintDirectory</literal></term><listitem> 303 <para>Print description of the current directory. See <citerefentry><refentrytitle> 304 TIFFPrintDirectory</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 305 </para> 306 </listitem></varlistentry> 307 <varlistentry><term><literal>TIFFquery</literal></term><listitem><para>Return 308 information about image. See <citerefentry><refentrytitle>TIFFquery 309 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 310 </listitem></varlistentry> 311 <varlistentry><term><literal>TIFFRasterScanlineSize</literal></term><listitem> 312 <para>Return size of a raster scanline. See <citerefentry><refentrytitle> 313 TIFFsize</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 314 </listitem></varlistentry> 315 <varlistentry><term><literal>TIFFReadBufferSetup</literal></term><listitem> 316 <para>Specify i/o buffer for reading. See <citerefentry><refentrytitle>TIFFbuffer 317 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 318 </listitem></varlistentry> 319 <varlistentry><term><literal>TIFFReadDirectory</literal></term><listitem> 320 <para>Read the next directory. See <citerefentry><refentrytitle>TIFFReadDirectory 321 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 322 </listitem></varlistentry> 323 <varlistentry><term><literal>TIFFReadEncodedStrip</literal></term><listitem> 324 <para>Read and decode a strip of data. See <citerefentry><refentrytitle>TIFFReadEncodedStrip 325 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 326 </listitem></varlistentry> 327 <varlistentry><term><literal>TIFFReadEncodedTile</literal></term><listitem> 328 <para>Read and decode a tile of data. See <citerefentry><refentrytitle>TIFFReadEncodedTile 329 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 330 </listitem></varlistentry> 331 <varlistentry><term><literal>TIFFReadRawStrip</literal></term><listitem><para> 332 Read a raw strip of data. See <citerefentry><refentrytitle>TIFFReadRawStrip 333 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 334 </listitem></varlistentry> 335 <varlistentry><term><literal>TIFFReadRawTile</literal></term><listitem><para> 336 Read a raw tile of data. See <citerefentry><refentrytitle>TIFFReadRawTile 337 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 338 </listitem></varlistentry> 339 <varlistentry><term><literal>TIFFReadRGBAImage</literal></term><listitem> 340 <para>Read an image into a fixed format raster. See <citerefentry><refentrytitle> 341 TIFFReadRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 342 </para> 343 </listitem></varlistentry> 344 <varlistentry><term><literal>TIFFReadRGBAStrip</literal></term><listitem> 345 <para>Read an image strip into a fixed format raster. See <citerefentry><refentrytitle> 346 TIFFReadRGBAStrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 347 </para> 348 </listitem></varlistentry> 349 <varlistentry><term><literal>TIFFReadRGBATile</literal></term><listitem><para> 350 Read an image tile into a fixed format raster. See <citerefentry><refentrytitle> 351 TIFFReadRGBATile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 352 </para> 353 </listitem></varlistentry> 354 <varlistentry><term><literal>TIFFReadScanline</literal></term><listitem><para> 355 Read and decode a row of data. See <citerefentry><refentrytitle>TIFFReadScanline 356 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 357 </listitem></varlistentry> 358 <varlistentry><term><literal>TIFFReadTile</literal></term><listitem><para> 359 Read and decode a tile of data. See <citerefentry><refentrytitle>TIFFReadTile 360 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 361 </listitem></varlistentry> 362 <varlistentry><term><literal>TIFFRegisterCODEC</literal></term><listitem> 363 <para>Register a codec. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle> 364 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 365 </listitem></varlistentry> 366 <varlistentry><term><literal>TIFFReverseBits</literal></term><listitem><para> 367 Reverse bits in an array of bytes. See <citerefentry><refentrytitle>TIFFswab 368 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 369 </listitem></varlistentry> 370 <varlistentry><term><literal>TIFFRGBAImage</literal></term><listitem><para> 371 Read and decode an image into a raster. See <citerefentry><refentrytitle> 372 TIFFRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 373 </para> 374 </listitem></varlistentry> 375 <varlistentry><term><literal>TIFFRGBAImageBegin</literal></term><listitem> 376 <para>Set up decoder state for <literal>TIFFRGBAImageGet</literal>. See <citerefentry> 377 <refentrytitle>TIFFRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 378 </para> 379 </listitem></varlistentry> 380 <varlistentry><term><literal>TIFFRGBAImageEnd</literal></term><listitem><para> 381 Release <literal>TIFFRGBAImage</literal> decoder state. See <citerefentry> 382 <refentrytitle>TIFFRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 383 </para> 384 </listitem></varlistentry> 385 <varlistentry><term><literal>TIFFRGBAImageGet</literal></term><listitem><para> 386 Read and decode an image. See <citerefentry><refentrytitle>TIFFRGBAImage</refentrytitle> 387 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 388 </listitem></varlistentry> 389 <varlistentry><term><literal>TIFFRGBAImageOK</literal></term><listitem><para> 390 Determine whether image is readable by <literal>TIFFRGBAImageGet</literal>. 391 See <citerefentry><refentrytitle>TIFFRGBAImage</refentrytitle><manvolnum> 392 3tiff</manvolnum></citerefentry>.</para> 393 </listitem></varlistentry> 394 <varlistentry><term><literal>TIFFScanlineSize</literal></term><listitem><para> 395 Return size of a scanline. See <citerefentry><refentrytitle>TIFFsize</refentrytitle> 396 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 397 </listitem></varlistentry> 398 <varlistentry><term><literal>TIFFSetDirectory</literal></term><listitem><para> 399 Set the current directory. See <citerefentry><refentrytitle>TIFFSetDirectory 400 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 401 </listitem></varlistentry> 402 <varlistentry><term><literal>TIFFSetSubDirectory</literal></term><listitem> 403 <para>Set the current directory. See <citerefentry><refentrytitle>TIFFSetDirectory 404 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 405 </listitem></varlistentry> 406 <varlistentry><term><literal>TIFFSetErrorHandler</literal></term><listitem> 407 <para>Set error handler function. See <citerefentry><refentrytitle>TIFFError 408 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 409 </listitem></varlistentry> 410 <varlistentry><term><literal>TIFFSetField</literal></term><listitem><para> 411 Set tag value in the current directory. See <citerefentry><refentrytitle> 412 TIFFSetField</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 413 </listitem></varlistentry> 414 <varlistentry><term><literal>TIFFSetWarningHandler</literal></term><listitem> 415 <para>Set warning handler function. See <citerefentry><refentrytitle>TIFFWarning 416 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 417 </listitem></varlistentry> 418 <varlistentry><term><literal>TIFFsize</literal></term><listitem><para>Return 419 the size. See <citerefentry><refentrytitle>TIFFsize</refentrytitle><manvolnum> 420 3tiff</manvolnum></citerefentry>.</para> 421 </listitem></varlistentry> 422 <varlistentry><term><literal>TIFFstrip</literal></term><listitem><para>Work 423 with strips. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle><manvolnum> 424 3tiff</manvolnum></citerefentry>.</para> 425 </listitem></varlistentry> 426 <varlistentry><term><literal>TIFFStripSize</literal></term><listitem><para> 427 Return size of a strip. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle> 428 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 429 </listitem></varlistentry> 430 <varlistentry><term><literal>TIFFswab</literal></term><listitem><para>Swap 431 bytes. See <citerefentry><refentrytitle>TIFFswab</refentrytitle><manvolnum> 432 3tiff</manvolnum></citerefentry>.</para> 433 </listitem></varlistentry> 434 <varlistentry><term><literal>TIFFSwabShort</literal></term><listitem><para> 435 Swap bytes of short. See <citerefentry><refentrytitle>TIFFswab</refentrytitle> 436 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 437 </listitem></varlistentry> 438 <varlistentry><term><literal>TIFFSwabLong</literal></term><listitem><para> 439 Swap bytes of long. See <citerefentry><refentrytitle>TIFFswab</refentrytitle> 440 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 441 </listitem></varlistentry> 442 <varlistentry><term><literal>TIFFSwabArrayOfShort</literal></term><listitem> 443 <para>Swap bytes of an array of shorts. See <citerefentry><refentrytitle> 444 TIFFswab</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 445 </listitem></varlistentry> 446 <varlistentry><term><literal>TIFFSwabArrayOfLong</literal></term><listitem> 447 <para>Swap bytes of an array of longs. See <citerefentry><refentrytitle>TIFFswab 448 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 449 </listitem></varlistentry> 450 <varlistentry><term><literal>TIFFtile</literal></term><listitem><para>Return 451 tile information. See <citerefentry><refentrytitle>TIFFtile</refentrytitle> 452 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 453 </listitem></varlistentry> 454 <varlistentry><term><literal>TIFFTileRowSize</literal></term><listitem><para> 455 Return size of a row in a tile. See <citerefentry><refentrytitle>TIFFtile 456 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 457 </listitem></varlistentry> 458 <varlistentry><term><literal>TIFFTileSize</literal></term><listitem><para> 459 Return size of a tile. See <citerefentry><refentrytitle>TIFFtile</refentrytitle> 460 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 461 </listitem></varlistentry> 462 <varlistentry><term><literal>TIFFUnregisterCODEC</literal></term><listitem> 463 <para>Unregister a codec. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle> 464 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 465 </listitem></varlistentry> 466 <varlistentry><term><literal>TIFFVGetField</literal></term><listitem><para> 467 Return tag value in current directory. See <citerefentry><refentrytitle>TIFFGetField 468 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 469 </listitem></varlistentry> 470 <varlistentry><term><literal>TIFFVGetFieldDefaulted</literal></term><listitem> 471 <para>Return tag value in current directory. See <citerefentry><refentrytitle> 472 TIFFGetField</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 473 </listitem></varlistentry> 474 <varlistentry><term><literal>TIFFVSetField</literal></term><listitem><para> 475 Set tag value in current directory. See <citerefentry><refentrytitle>TIFFSetField 476 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 477 </listitem></varlistentry> 478 <varlistentry><term><literal>TIFFVStripSize</literal></term><listitem><para> 479 Return size of a strip. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle> 480 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 481 </listitem></varlistentry> 482 <varlistentry><term><literal>TIFFVTileSize</literal></term><listitem><para> 483 Return size of a tile. See <citerefentry><refentrytitle>TIFFtile</refentrytitle> 484 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 485 </listitem></varlistentry> 486 <varlistentry><term><literal>TIFFWarning</literal></term><listitem><para> 487 Library warning handler. See <citerefentry><refentrytitle>TIFFWarning</refentrytitle> 488 <manvolnum>3tiff</manvolnum></citerefentry>.</para> 489 </listitem></varlistentry> 490 <varlistentry><term><literal>TIFFWriteBufferSetup</literal></term><listitem> 491 <para>Specify i/o buffer for writing. See <citerefentry><refentrytitle>TIFFbuffer 492 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 493 </listitem></varlistentry> 494 <varlistentry><term><literal>TIFFWriteDirectory</literal></term><listitem> 495 <para>Write the current directory. See <citerefentry><refentrytitle>TIFFWriteDirectory 496 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 497 </listitem></varlistentry> 498 <varlistentry><term><literal>TIFFWriteEncodedStrip</literal></term><listitem> 499 <para>Compress and write a strip of data. See <citerefentry><refentrytitle> 500 TIFFWriteEncodedStrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 501 </para> 502 </listitem></varlistentry> 503 <varlistentry><term><literal>TIFFWriteEncodedTile</literal></term><listitem> 504 <para>Compress and write a tile of data. See <citerefentry><refentrytitle> 505 TIFFWriteEncodedTile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>. 506 </para> 507 </listitem></varlistentry> 508 <varlistentry><term><literal>TIFFWriteRawStrip</literal></term><listitem> 509 <para>Write a raw strip of data. See <citerefentry><refentrytitle>TIFFWriteRawStrip 510 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 511 </listitem></varlistentry> 512 <varlistentry><term><literal>TIFFWriteRawTile</literal></term><listitem><para> 513 Write a raw tile of data. See <citerefentry><refentrytitle>TIFFWriteRawTile 514 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 515 </listitem></varlistentry> 516 <varlistentry><term><literal>TIFFWriteScanline</literal></term><listitem> 517 <para>Write a scanline of data. See <citerefentry><refentrytitle>TIFFWriteScanline 518 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 519 </listitem></varlistentry> 520 <varlistentry><term><literal>TIFFWriteTile</literal></term><listitem><para> 521 Compress and write a tile of data. See <citerefentry><refentrytitle>TIFFWriteTile 522 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para> 523 </listitem></varlistentry> 524 </variablelist></refsect2> 525 <refsect2 id="libtiff-3-exde-tags"> 526 <title>Tag Usage</title> 527 <para>The table below lists the TIFF tags that are recognized and supported 528 by the <filename>&cmd;</filename> library. If no use is indicated in the table, 529 then the library reads and writes the tag, but does not use the tag internally. 530 Note that some tags are meaningful only when a particular compression scheme 531 is used. For example, <literal>Group3Options</literal> is only useful if Compression 532 is set to <literal>CCITT Group 3</literal> encoding. Tags of this sort are 533 considered codec-specific tags and the library does not recognize them except 534 when the Compression tag has been previously set to the relevant compression 535 scheme.</para> 536 <informaltable frame="all"> 537 <tgroup cols="4" colsep="1" rowsep="1"><colspec colname="COLSPEC0" colwidth="25*"> 538 <colspec colname="COLSPEC1" colwidth="25*"><colspec colname="COLSPEC2" colwidth="25*"> 539 <colspec colname="COLSPEC3" colwidth="25*"> 540 <thead> 541 <row rowsep="1"><entry colsep="1" rowsep="1"><para>TAG NAME</para></entry> 542 <entry colsep="1" rowsep="1"><para>VALUE</para></entry><entry colsep="1" rowsep="1"><para> 543 R/W</para></entry><entry colsep="1" rowsep="1"><para>LIBRARY USE / NOTES</para></entry> 544 </row> 545 </thead> 546 <tbody> 547 <row><entry colsep="1" rowsep="1"><para><literal>Artist</literal></para></entry> 548 <entry colsep="1" rowsep="1"><para>315</para></entry><entry colsep="1" rowsep="1"><para> 549 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 550 <row><entry colsep="1" rowsep="1"><para><literal>BadFaxLines</literal></para></entry> 551 <entry colsep="1" rowsep="1"><para>326</para></entry><entry colsep="1" rowsep="1"><para> 552 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 553 <row><entry colsep="1" rowsep="1"><para><literal>BitsPerSample</literal></para></entry> 554 <entry colsep="1" rowsep="1"><para>258</para></entry><entry colsep="1" rowsep="1"><para> 555 R/W</para></entry><entry colsep="1" rowsep="1"><para>Lots.</para></entry> 556 </row> 557 <row><entry colsep="1" rowsep="1"><para><literal>CellLength</literal></para></entry> 558 <entry colsep="1" rowsep="1"><para>265</para></entry><entry colsep="1" rowsep="1"><para></para></entry> 559 <entry colsep="1" rowsep="1"><para>Parsed but ignored.</para></entry></row> 560 <row><entry colsep="1" rowsep="1"><para><literal>CellWidth</literal></para></entry> 561 <entry colsep="1" rowsep="1"><para>264</para></entry><entry colsep="1" rowsep="1"><para></para></entry> 562 <entry colsep="1" rowsep="1"><para>Parsed but ignored.</para></entry></row> 563 <row><entry colsep="1" rowsep="1"><para><literal>CleanFaxData</literal></para></entry> 564 <entry colsep="1" rowsep="1"><para>327</para></entry><entry colsep="1" rowsep="1"><para> 565 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 566 <row><entry colsep="1" rowsep="1"><para><literal>ColorMap</literal></para></entry> 567 <entry colsep="1" rowsep="1"><para>320</para></entry><entry colsep="1" rowsep="1"><para> 568 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 569 <row><entry colsep="1" rowsep="1"><para><literal>ColorResponseUnit</literal></para></entry> 570 <entry colsep="1" rowsep="1"><para>300</para></entry><entry colsep="1" rowsep="1"><para></para></entry> 571 <entry colsep="1" rowsep="1"><para>Parsed but ignored.</para></entry></row> 572 <row><entry colsep="1" rowsep="1"><para><literal>Compression</literal></para></entry> 573 <entry colsep="1" rowsep="1"><para>259</para></entry><entry colsep="1" rowsep="1"><para> 574 R/W</para></entry><entry colsep="1" rowsep="1"><para>Choosing codec.</para></entry> 575 </row> 576 <row><entry colsep="1" rowsep="1"><para><literal>ConsecutiveBadFaxLines</literal></para></entry> 577 <entry colsep="1" rowsep="1"><para>328</para></entry><entry colsep="1" rowsep="1"><para> 578 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 579 <row><entry colsep="1" rowsep="1"><para><literal>DataType</literal></para></entry> 580 <entry colsep="1" rowsep="1"><para>32996</para></entry><entry colsep="1" rowsep="1"><para> 581 R</para></entry><entry colsep="1" rowsep="1"><para>Obsoleted by <literal> 582 SampleFormat</literal> tag.</para></entry></row> 583 <row><entry colsep="1" rowsep="1"><para><literal>DateTime</literal></para></entry> 584 <entry colsep="1" rowsep="1"><para>306</para></entry><entry colsep="1" rowsep="1"><para> 585 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 586 <row><entry colsep="1" rowsep="1"><para><literal>DocumentName</literal></para></entry> 587 <entry colsep="1" rowsep="1"><para>269</para></entry><entry colsep="1" rowsep="1"><para> 588 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 589 <row><entry colsep="1" rowsep="1"><para><literal>DotRange</literal></para></entry> 590 <entry colsep="1" rowsep="1"><para>336</para></entry><entry colsep="1" rowsep="1"><para> 591 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 592 <row><entry colsep="1" rowsep="1"><para><literal>ExtraSamples</literal></para></entry> 593 <entry colsep="1" rowsep="1"><para>338</para></entry><entry colsep="1" rowsep="1"><para> 594 R/W</para></entry><entry colsep="1" rowsep="1"><para>Lots.</para></entry> 595 </row> 596 <row><entry colsep="1" rowsep="1"><para><literal>FaxRecvParams</literal></para></entry> 597 <entry colsep="1" rowsep="1"><para>34908</para></entry><entry colsep="1" rowsep="1"><para> 598 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 599 <row><entry colsep="1" rowsep="1"><para><literal>FaxSubAddress</literal></para></entry> 600 <entry colsep="1" rowsep="1"><para>34909</para></entry><entry colsep="1" rowsep="1"><para> 601 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row> 602 <row><entry colsep="1" rowsep="1"><para><literal>FaxRecvTime</literal></para></entry> 603 <entry colsep="1" rowsep="1"><para>34910</para></entry><entry colsep="1" rowsep="1"><para> 604 R/W</para></