xref: /libtiff-4.0.7/html/man/libtiff.3tiff.html (revision f714980a)
1<!-- Creator     : groff version 1.19.2 -->
2<!-- CreationDate: Mon Jan  2 17:41:34 2006 -->
3<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4"http://www.w3.org/TR/html4/loose.dtd">
5<html>
6<head>
7<meta name="generator" content="groff -Thtml, see www.gnu.org">
8<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
9<meta name="Content-Style" content="text/css">
10<style type="text/css">
11       p     { margin-top: 0; margin-bottom: 0; }
12       pre   { margin-top: 0; margin-bottom: 0; }
13       table { margin-top: 0; margin-bottom: 0; }
14</style>
15<title>INTRO</title>
16
17</head>
18<body>
19
20<h1 align=center>INTRO</h1>
21
22<a href="#NAME">NAME</a><br>
23<a href="#SYNOPSIS">SYNOPSIS</a><br>
24<a href="#DESCRIPTION">DESCRIPTION</a><br>
25<a href="#DATA TYPES">DATA TYPES</a><br>
26<a href="#LIST OF ROUTINES">LIST OF ROUTINES</a><br>
27<a href="#TAG USAGE">TAG USAGE</a><br>
28<a href="#PSEUDO TAGS">PSEUDO TAGS</a><br>
29<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
30<a href="#SEE ALSO">SEE ALSO</a><br>
31<a href="#BUGS">BUGS</a><br>
32
33<hr>
34
35
36<a name="NAME"></a>
37<h2>NAME</h2>
38
39
40<p style="margin-left:11%; margin-top: 1em">libtiff &minus;
41introduction to <i>libtiff</i>, a library for reading and
42writing <small>TIFF</small> files</p>
43
44<a name="SYNOPSIS"></a>
45<h2>SYNOPSIS</h2>
46
47
48<p style="margin-left:11%; margin-top: 1em"><b>#include
49&lt;tiffio.h&gt;</b></p>
50
51<p style="margin-left:11%; margin-top: 1em">cc file.c
52<b>-ltiff</b></p>
53
54<a name="DESCRIPTION"></a>
55<h2>DESCRIPTION</h2>
56
57
58<p style="margin-left:11%; margin-top: 1em"><i>libtiff</i>
59is a library for reading and writing data files encoded with
60the <i>Tag Image File</i> format, Revision 6.0 (or revision
615.0 or revision 4.0). This file format is suitable for
62archiving multi-color and monochromatic image data.</p>
63
64<p style="margin-left:11%; margin-top: 1em">The library
65supports several compression algorithms, as indicated by the
66<i>Compression</i> field, including: no compression (1),
67<small>CCITT</small> 1D Huffman compression (2),
68<small>CCITT</small> Group 3 Facsimile compression (3),
69<small>CCITT</small> Group 4 Facsimile compression (4),
70Lempel-Ziv &amp; Welch compression (5), baseline JPEG
71compression (7), word-aligned 1D Huffman compression
72(32771), and PackBits compression (32773). In addition,
73several nonstandard compression algorithms are supported:
74the 4-bit compression algorithm used by the
75<i>ThunderScan</i> program (32809) (decompression only),
76NeXT&rsquo;s 2-bit compression algorithm (32766)
77(decompression only), an experimental LZ-style algorithm
78known as Deflate (32946), and an experimental CIE LogLuv
79compression scheme designed for images with high dynamic
80range (32845 for LogL and 32845 for LogLuv). Directory
81information may be in either little- or big-endian byte
82order&minus;byte swapping is automatically done by the
83library. Data bit ordering may be either Most Significant
84Bit ( <small>MSB</small> ) to Least Significant Bit (
85<small>LSB</small> ) or <small>LSB</small> to
86<small>MSB.</small> Finally, the library does not support
87files in which the <i>BitsPerSample</i>, <i>Compression</i>,
88<i>MinSampleValue</i>, or <i>MaxSampleValue</i> fields are
89defined differently on a per-sample basis (in Rev. 6.0 the
90<i>Compression</i> tag is not defined on a per-sample basis,
91so this is immaterial).</p>
92
93<a name="DATA TYPES"></a>
94<h2>DATA TYPES</h2>
95
96
97<p style="margin-left:11%; margin-top: 1em">The library
98makes extensive use of C typedefs to promote portability.
99Two sets of typedefs are used, one for communication with
100clients of the library and one for internal data structures
101and parsing of the <small>TIFF</small> format. The following
102typedefs are exposed to users either through function
103definitions or through parameters passed through the varargs
104interfaces.</p>
105
106<table width="100%" border=0 rules="none" frame="void"
107       cellspacing="0" cellpadding="0">
108<tr valign="top" align="left">
109<td width="18%"></td>
110<td width="37%">
111
112
113<p valign="top">typedef unsigned short uint16;</p></td>
114<td width="45%">
115
116
117<p valign="top">16-bit unsigned integer</p></td>
118<tr valign="top" align="left">
119<td width="18%"></td>
120<td width="37%">
121
122
123<p valign="top">typedef unsigned &lt;<i>thing</i>&gt;
124uint32;</p> </td>
125<td width="45%">
126
127
128<p valign="top">32-bit unsigned integer</p></td>
129<tr valign="top" align="left">
130<td width="18%"></td>
131<td width="37%">
132
133
134<p valign="top">typedef unsigned int ttag_t;</p></td>
135<td width="45%">
136
137
138<p valign="top">directory tag</p></td>
139<tr valign="top" align="left">
140<td width="18%"></td>
141<td width="37%">
142
143
144<p valign="top">typedef uint16 tdir_t;</p></td>
145<td width="45%">
146
147
148<p valign="top">directory index</p></td>
149<tr valign="top" align="left">
150<td width="18%"></td>
151<td width="37%">
152
153
154<p valign="top">typedef uint16 tsample_t;</p></td>
155<td width="45%">
156
157
158<p valign="top">sample number</p></td>
159<tr valign="top" align="left">
160<td width="18%"></td>
161<td width="37%">
162
163
164<p valign="top">typedef uint32 tstrip_t;</p></td>
165<td width="45%">
166
167
168<p valign="top">strip number</p></td>
169<tr valign="top" align="left">
170<td width="18%"></td>
171<td width="37%">
172
173
174<p valign="top">typedef uint32 ttile_t;</p></td>
175<td width="45%">
176
177
178<p valign="top">tile number</p></td>
179<tr valign="top" align="left">
180<td width="18%"></td>
181<td width="37%">
182
183
184<p valign="top">typedef int32 tsize_t;</p></td>
185<td width="45%">
186
187
188<p valign="top">i/o size in bytes</p></td>
189<tr valign="top" align="left">
190<td width="18%"></td>
191<td width="37%">
192
193
194<p valign="top">typedef void* tdata_t;</p></td>
195<td width="45%">
196
197
198<p valign="top">image data ref</p></td>
199<tr valign="top" align="left">
200<td width="18%"></td>
201<td width="37%">
202
203
204<p valign="top">typedef void* thandle_t;</p></td>
205<td width="45%">
206
207
208<p valign="top">client data handle</p></td>
209<tr valign="top" align="left">
210<td width="18%"></td>
211<td width="37%">
212
213
214<p valign="top">typedef int32 toff_t;</p></td>
215<td width="45%">
216
217
218<p valign="top">file offset</p></td>
219</table>
220
221<p style="margin-left:11%;">Note that <i>tstrip_t</i>,
222<i>ttile_t</i>, and <i>tsize_t</i> are constrained to be no
223more than 32-bit quantities by 32-bit fields they are stored
224in in the <small>TIFF</small> image. Likewise
225<i>tsample_t</i> is limited by the 16-bit field used to
226store the <i>SamplesPerPixel</i> tag. <i>tdir_t</i>
227constrains the maximum number of <small>IFDs</small> that
228may appear in an image and may be an arbitrary size (w/o
229penalty). <i>ttag_t</i> must be either int, unsigned int,
230pointer, or double because the library uses a varargs
231interface and <small>ANSI C</small> restricts the type of
232the parameter before an ellipsis to be a promoted type.
233<i>toff_t</i> is defined as int32 because TIFF file offsets
234are (unsigned) 32-bit quantities. A signed value is used
235because some interfaces return &minus;1 on error. Finally,
236note that user-specified data references are passed as
237opaque handles and only cast at the lowest layers where
238their type is presumed.</p>
239
240<a name="LIST OF ROUTINES"></a>
241<h2>LIST OF ROUTINES</h2>
242
243
244<p style="margin-left:11%; margin-top: 1em">The following
245routines are part of the library. Consult specific manual
246pages for details on their operation; on most systems doing
247&lsquo;&lsquo;man function-name&rsquo;&rsquo; will work.</p>
248
249<table width="100%" border=0 rules="none" frame="void"
250       cellspacing="0" cellpadding="0">
251<tr valign="top" align="left">
252<td width="11%"></td>
253<td width="27%">
254
255
256<p valign="top"><i>Name</i></p></td>
257<td width="62%">
258
259
260<p valign="top"><i>Description</i></p></td>
261<tr valign="top" align="left">
262<td width="11%"></td>
263<td width="27%">
264
265
266<p valign="top">TIFFCheckpointDirectory</p></td>
267<td width="62%">
268
269
270<p valign="top">writes the current state of the
271directory</p> </td>
272<tr valign="top" align="left">
273<td width="11%"></td>
274<td width="27%">
275
276
277<p valign="top">TIFFCheckTile</p></td>
278<td width="62%">
279
280
281<p valign="top">very x,y,z,sample is within image</p></td>
282<tr valign="top" align="left">
283<td width="11%"></td>
284<td width="27%">
285
286
287<p valign="top">TIFFCIELabToRGBInit</p></td>
288<td width="62%">
289
290
291<p valign="top">initialize CIE L*a*b* 1976 to RGB
292conversion state</p></td>
293<tr valign="top" align="left">
294<td width="11%"></td>
295<td width="27%">
296
297
298<p valign="top">TIFFCIELabToXYZ</p></td>
299<td width="62%">
300
301
302<p valign="top">perform CIE L*a*b* 1976 to CIE XYZ
303conversion</p> </td>
304<tr valign="top" align="left">
305<td width="11%"></td>
306<td width="27%">
307
308
309<p valign="top">TIFFClientOpen</p></td>
310<td width="62%">
311
312
313<p valign="top">open a file for reading or writing</p></td>
314<tr valign="top" align="left">
315<td width="11%"></td>
316<td width="27%">
317
318
319<p valign="top">TIFFClose</p></td>
320<td width="62%">
321
322
323<p valign="top">close an open file</p></td>
324<tr valign="top" align="left">
325<td width="11%"></td>
326<td width="27%">
327
328
329<p valign="top">TIFFComputeStrip</p></td>
330<td width="62%">
331
332
333<p valign="top">return strip containing y,sample</p></td>
334<tr valign="top" align="left">
335<td width="11%"></td>
336<td width="27%">
337
338
339<p valign="top">TIFFComputeTile</p></td>
340<td width="62%">
341
342
343<p valign="top">return tile containing x,y,z,sample</p></td>
344<tr valign="top" align="left">
345<td width="11%"></td>
346<td width="27%">
347
348
349<p valign="top">TIFFCurrentDirectory</p></td>
350<td width="62%">
351
352
353<p valign="top">return index of current directory</p></td>
354<tr valign="top" align="left">
355<td width="11%"></td>
356<td width="27%">
357
358
359<p valign="top">TIFFCurrentRow</p></td>
360<td width="62%">
361
362
363<p valign="top">return index of current scanline</p></td>
364<tr valign="top" align="left">
365<td width="11%"></td>
366<td width="27%">
367
368
369<p valign="top">TIFFCurrentStrip</p></td>
370<td width="62%">
371
372
373<p valign="top">return index of current strip</p></td>
374<tr valign="top" align="left">
375<td width="11%"></td>
376<td width="27%">
377
378
379<p valign="top">TIFFCurrentTile</p></td>
380<td width="62%">
381
382
383<p valign="top">return index of current tile</p></td>
384<tr valign="top" align="left">
385<td width="11%"></td>
386<td width="27%">
387
388
389<p valign="top">TIFFDataWidth</p></td>
390<td width="62%">
391
392
393<p valign="top">return the size of TIFF data types</p></td>
394<tr valign="top" align="left">
395<td width="11%"></td>
396<td width="27%">
397
398
399<p valign="top">TIFFError</p></td>
400<td width="62%">
401
402
403<p valign="top">library error handler</p></td>
404<tr valign="top" align="left">
405<td width="11%"></td>
406<td width="27%">
407
408
409<p valign="top">TIFFFdOpen</p></td>
410<td width="62%">
411
412
413<p valign="top">open a file for reading or writing</p></td>
414<tr valign="top" align="left">
415<td width="11%"></td>
416<td width="27%">
417
418
419<p valign="top">TIFFFileName</p></td>
420<td width="62%">
421
422
423<p valign="top">return name of open file</p></td>
424<tr valign="top" align="left">
425<td width="11%"></td>
426<td width="27%">
427
428
429<p valign="top">TIFFFileno</p></td>
430<td width="62%">
431
432
433<p valign="top">return open file descriptor</p></td>
434<tr valign="top" align="left">
435<td width="11%"></td>
436<td width="27%">
437
438
439<p valign="top">TIFFFindCODEC</p></td>
440<td width="62%">
441
442
443<p valign="top">find standard codec for the specific
444scheme</p> </td>
445<tr valign="top" align="left">
446<td width="11%"></td>
447<td width="27%">
448
449
450<p valign="top">TIFFFlush</p></td>
451<td width="62%">
452
453
454<p valign="top">flush all pending writes</p></td>
455<tr valign="top" align="left">
456<td width="11%"></td>
457<td width="27%">
458
459
460<p valign="top">TIFFFlushData</p></td>
461<td width="62%">
462
463
464<p valign="top">flush pending data writes</p></td>
465<tr valign="top" align="left">
466<td width="11%"></td>
467<td width="27%">
468
469
470<p valign="top">TIFFGetBitRevTable</p></td>
471<td width="62%">
472
473
474<p valign="top">return bit reversal table</p></td>
475<tr valign="top" align="left">
476<td width="11%"></td>
477<td width="27%">
478
479
480<p valign="top">TIFFGetField</p></td>
481<td width="62%">
482
483
484<p valign="top">return tag value in current directory</p></td>
485<tr valign="top" align="left">
486<td width="11%"></td>
487<td width="27%">
488
489
490<p valign="top">TIFFGetFieldDefaulted</p></td>
491<td width="62%">
492
493
494<p valign="top">return tag value in current directory</p></td>
495<tr valign="top" align="left">
496<td width="11%"></td>
497<td width="27%">
498
499
500<p valign="top">TIFFGetMode</p></td>
501<td width="62%">
502
503
504<p valign="top">return open file mode</p></td>
505<tr valign="top" align="left">
506<td width="11%"></td>
507<td width="27%">
508
509
510<p valign="top">TIFFGetVersion</p></td>
511<td width="62%">
512
513
514<p valign="top">return library version string</p></td>
515<tr valign="top" align="left">
516<td width="11%"></td>
517<td width="27%">
518
519
520<p valign="top">TIFFIsCODECConfigured</p></td>
521<td width="62%">
522
523
524<p valign="top">check, whether we have working codec</p></td>
525<tr valign="top" align="left">
526<td width="11%"></td>
527<td width="27%">
528
529
530<p valign="top">TIFFIsMSB2LSB</p></td>
531<td width="62%">
532
533
534<p valign="top">return true if image data is being
535returned</p> </td>
536<tr valign="top" align="left">
537<td width="11%"></td>
538<td width="27%"></td>
539<td width="62%">
540
541
542<p valign="top">with bit 0 as the most significant bit</p></td>
543<tr valign="top" align="left">
544<td width="11%"></td>
545<td width="27%">
546
547
548<p valign="top">TIFFIsTiled</p></td>
549<td width="62%">
550
551
552<p valign="top">return true if image data is tiled</p></td>
553<tr valign="top" align="left">
554<td width="11%"></td>
555<td width="27%">
556
557
558<p valign="top">TIFFIsByteSwapped</p></td>
559<td width="62%">
560
561
562<p valign="top">return true if image data is
563byte-swapped</p> </td>
564<tr valign="top" align="left">
565<td width="11%"></td>
566<td width="27%">
567
568
569<p valign="top">TIFFNumberOfStrips</p></td>
570<td width="62%">
571
572
573<p valign="top">return number of strips in an image</p></td>
574<tr valign="top" align="left">
575<td width="11%"></td>
576<td width="27%">
577
578
579<p valign="top">TIFFNumberOfTiles</p></td>
580<td width="62%">
581
582
583<p valign="top">return number of tiles in an image</p></td>
584<tr valign="top" align="left">
585<td width="11%"></td>
586<td width="27%">
587
588
589<p valign="top">TIFFOpen</p></td>
590<td width="62%">
591
592
593<p valign="top">open a file for reading or writing</p></td>
594<tr valign="top" align="left">
595<td width="11%"></td>
596<td width="27%">
597
598
599<p valign="top">TIFFPrintDirectory</p></td>
600<td width="62%">
601
602
603<p valign="top">print description of the current
604directory</p> </td>
605<tr valign="top" align="left">
606<td width="11%"></td>
607<td width="27%">
608
609
610<p valign="top">TIFFReadBufferSetup</p></td>
611<td width="62%">
612
613
614<p valign="top">specify i/o buffer for reading</p></td>
615<tr valign="top" align="left">
616<td width="11%"></td>
617<td width="27%">
618
619
620<p valign="top">TIFFReadDirectory</p></td>
621<td width="62%">
622
623
624<p valign="top">read the next directory</p></td>
625<tr valign="top" align="left">
626<td width="11%"></td>
627<td width="27%">
628
629
630<p valign="top">TIFFReadEncodedStrip</p></td>
631<td width="62%">
632
633
634<p valign="top">read and decode a strip of data</p></td>
635<tr valign="top" align="left">
636<td width="11%"></td>
637<td width="27%">
638
639
640<p valign="top">TIFFReadEncodedTile</p></td>
641<td width="62%">
642
643
644<p valign="top">read and decode a tile of data</p></td>
645<tr valign="top" align="left">
646<td width="11%"></td>
647<td width="27%">
648
649
650<p valign="top">TIFFReadRawStrip</p></td>
651<td width="62%">
652
653
654<p valign="top">read a raw strip of data</p></td>
655<tr valign="top" align="left">
656<td width="11%"></td>
657<td width="27%">
658
659
660<p valign="top">TIFFReadRawTile</p></td>
661<td width="62%">
662
663
664<p valign="top">read a raw tile of data</p></td>
665<tr valign="top" align="left">
666<td width="11%"></td>
667<td width="27%">
668
669
670<p valign="top">TIFFReadRGBAImage</p></td>
671<td width="62%">
672
673
674<p valign="top">read an image into a fixed format
675raster</p> </td>
676<tr valign="top" align="left">
677<td width="11%"></td>
678<td width="27%">
679
680
681<p valign="top">TIFFReadScanline</p></td>
682<td width="62%">
683
684
685<p valign="top">read and decode a row of data</p></td>
686<tr valign="top" align="left">
687<td width="11%"></td>
688<td width="27%">
689
690
691<p valign="top">TIFFReadTile</p></td>
692<td width="62%">
693
694
695<p valign="top">read and decode a tile of data</p></td>
696<tr valign="top" align="left">
697<td width="11%"></td>
698<td width="27%">
699
700
701<p valign="top">TIFFRegisterCODEC</p></td>
702<td width="62%">
703
704
705<p valign="top">override standard codec for the specific
706scheme</p> </td>
707<tr valign="top" align="left">
708<td width="11%"></td>
709<td width="27%">
710
711
712<p valign="top">TIFFReverseBits</p></td>
713<td width="62%">
714
715
716<p valign="top">reverse bits in an array of bytes</p></td>
717<tr valign="top" align="left">
718<td width="11%"></td>
719<td width="27%">
720
721
722<p valign="top">TIFFRGBAImageBegin</p></td>
723<td width="62%">
724
725
726<p valign="top">setup decoder state for
727TIFFRGBAImageGet</p> </td>
728<tr valign="top" align="left">
729<td width="11%"></td>
730<td width="27%">
731
732
733<p valign="top">TIFFRGBAImageEnd</p></td>
734<td width="62%">
735
736
737<p valign="top">release TIFFRGBAImage decoder state</p></td>
738<tr valign="top" align="left">
739<td width="11%"></td>
740<td width="27%">
741
742
743<p valign="top">TIFFRGBAImageGet</p></td>
744<td width="62%">
745
746
747<p valign="top">read and decode an image</p></td>
748<tr valign="top" align="left">
749<td width="11%"></td>
750<td width="27%">
751
752
753<p valign="top">TIFFRGBAImageOK</p></td>
754<td width="62%">
755
756
757<p valign="top">is image readable by TIFFRGBAImageGet</p></td>
758<tr valign="top" align="left">
759<td width="11%"></td>
760<td width="27%">
761
762
763<p valign="top">TIFFScanlineSize</p></td>
764<td width="62%">
765
766
767<p valign="top">return size of a scanline</p></td>
768<tr valign="top" align="left">
769<td width="11%"></td>
770<td width="27%">
771
772
773<p valign="top">TIFFSetDirectory</p></td>
774<td width="62%">
775
776
777<p valign="top">set the current directory</p></td>
778<tr valign="top" align="left">
779<td width="11%"></td>
780<td width="27%">
781
782
783<p valign="top">TIFFSetSubDirectory</p></td>
784<td width="62%">
785
786
787<p valign="top">set the current directory</p></td>
788<tr valign="top" align="left">
789<td width="11%"></td>
790<td width="27%">
791
792
793<p valign="top">TIFFSetErrorHandler</p></td>
794<td width="62%">
795
796
797<p valign="top">set error handler function</p></td>
798<tr valign="top" align="left">
799<td width="11%"></td>
800<td width="27%">
801
802
803<p valign="top">TIFFSetField</p></td>
804<td width="62%">
805
806
807<p valign="top">set a tag&rsquo;s value in the current
808directory</p> </td>
809<tr valign="top" align="left">
810<td width="11%"></td>
811<td width="27%">
812
813
814<p valign="top">TIFFSetWarningHandler</p></td>
815<td width="62%">
816
817
818<p valign="top">set warning handler function</p></td>
819<tr valign="top" align="left">
820<td width="11%"></td>
821<td width="27%">
822
823
824<p valign="top">TIFFStripSize</p></td>
825<td width="62%">
826
827
828<p valign="top">returns size of a strip</p></td>
829<tr valign="top" align="left">
830<td width="11%"></td>
831<td width="27%">
832
833
834<p valign="top">TIFFRawStripSize</p></td>
835<td width="62%">
836
837
838<p valign="top">returns the number of bytes in a raw
839strip</p> </td>
840<tr valign="top" align="left">
841<td width="11%"></td>
842<td width="27%">
843
844
845<p valign="top">TIFFSwabShort</p></td>
846<td width="62%">
847
848
849<p valign="top">swap bytes of short</p></td>
850<tr valign="top" align="left">
851<td width="11%"></td>
852<td width="27%">
853
854
855<p valign="top">TIFFSwabLong</p></td>
856<td width="62%">
857
858
859<p valign="top">swap bytes of long</p></td>
860<tr valign="top" align="left">
861<td width="11%"></td>
862<td width="27%">
863
864
865<p valign="top">TIFFSwabArrayOfShort</p></td>
866<td width="62%">
867
868
869<p valign="top">swap bytes of an array of shorts</p></td>
870<tr valign="top" align="left">
871<td width="11%"></td>
872<td width="27%">
873
874
875<p valign="top">TIFFSwabArrayOfLong</p></td>
876<td width="62%">
877
878
879<p valign="top">swap bytes of an array of longs</p></td>
880<tr valign="top" align="left">
881<td width="11%"></td>
882<td width="27%">
883
884
885<p valign="top">TIFFTileRowSize</p></td>
886<td width="62%">
887
888
889<p valign="top">return size of a row in a tile</p></td>
890<tr valign="top" align="left">
891<td width="11%"></td>
892<td width="27%">
893
894
895<p valign="top">TIFFTileSize</p></td>
896<td width="62%">
897
898
899<p valign="top">return size of a tile</p></td>
900<tr valign="top" align="left">
901<td width="11%"></td>
902<td width="27%">
903
904
905<p valign="top">TIFFUnRegisterCODEC</p></td>
906<td width="62%">
907
908
909<p valign="top">unregisters the codec</p></td>
910<tr valign="top" align="left">
911<td width="11%"></td>
912<td width="27%">
913
914
915<p valign="top">TIFFVGetField</p></td>
916<td width="62%">
917
918
919<p valign="top">return tag value in current directory</p></td>
920<tr valign="top" align="left">
921<td width="11%"></td>
922<td width="27%">
923
924
925<p valign="top">TIFFVGetFieldDefaulted</p></td>
926<td width="62%">
927
928
929<p valign="top">return tag value in current directory</p></td>
930<tr valign="top" align="left">
931<td width="11%"></td>
932<td width="27%">
933
934
935<p valign="top">TIFFVSetField</p></td>
936<td width="62%">
937
938
939<p valign="top">set a tag&rsquo;s value in the current
940directory</p> </td>
941<tr valign="top" align="left">
942<td width="11%"></td>
943<td width="27%">
944
945
946<p valign="top">TIFFVStripSize</p></td>
947<td width="62%">
948
949
950<p valign="top">returns the number of bytes in a strip</p></td>
951<tr valign="top" align="left">
952<td width="11%"></td>
953<td width="27%">
954
955
956<p valign="top">TIFFWarning</p></td>
957<td width="62%">
958
959
960<p valign="top">library warning handler</p></td>
961<tr valign="top" align="left">
962<td width="11%"></td>
963<td width="27%">
964
965
966<p valign="top">TIFFWriteDirectory</p></td>
967<td width="62%">
968
969
970<p valign="top">write the current directory</p></td>
971<tr valign="top" align="left">
972<td width="11%"></td>
973<td width="27%">
974
975
976<p valign="top">TIFFWriteEncodedStrip</p></td>
977<td width="62%">
978
979
980<p valign="top">compress and write a strip of data</p></td>
981<tr valign="top" align="left">
982<td width="11%"></td>
983<td width="27%">
984
985
986<p valign="top">TIFFWriteEncodedTile</p></td>
987<td width="62%">
988
989
990<p valign="top">compress and write a tile of data</p></td>
991<tr valign="top" align="left">
992<td width="11%"></td>
993<td width="27%">
994
995
996<p valign="top">TIFFWriteRawStrip</p></td>
997<td width="62%">
998
999
1000<p valign="top">write a raw strip of data</p></td>
1001<tr valign="top" align="left">
1002<td width="11%"></td>
1003<td width="27%">
1004
1005
1006<p valign="top">TIFFWriteRawTile</p></td>
1007<td width="62%">
1008
1009
1010<p valign="top">write a raw tile of data</p></td>
1011<tr valign="top" align="left">
1012<td width="11%"></td>
1013<td width="27%">
1014
1015
1016<p valign="top">TIFFWriteScanline</p></td>
1017<td width="62%">
1018
1019
1020<p valign="top">write a scanline of data</p></td>
1021<tr valign="top" align="left">
1022<td width="11%"></td>
1023<td width="27%">
1024
1025
1026<p valign="top">TIFFWriteTile</p></td>
1027<td width="62%">
1028
1029
1030<p valign="top">compress and write a tile of data</p></td>
1031<tr valign="top" align="left">
1032<td width="11%"></td>
1033<td width="27%">
1034
1035
1036<p valign="top">TIFFXYZToRGB</p></td>
1037<td width="62%">
1038
1039
1040<p valign="top">perform CIE XYZ to RGB conversion</p></td>
1041<tr valign="top" align="left">
1042<td width="11%"></td>
1043<td width="27%">
1044
1045
1046<p valign="top">TIFFYCbCrToRGBInit</p></td>
1047<td width="62%">
1048
1049
1050<p valign="top">initialize YCbCr to RGB conversion
1051state</p> </td>
1052<tr valign="top" align="left">
1053<td width="11%"></td>
1054<td width="27%">
1055
1056
1057<p valign="top">TIFFYCbCrtoRGB</p></td>
1058<td width="62%">
1059
1060
1061<p valign="top">perform YCbCr to RGB conversion</p></td>
1062</table>
1063
1064<p style="margin-left:11%; margin-top: 1em">Auxiliary
1065functions:</p>
1066
1067<table width="100%" border=0 rules="none" frame="void"
1068       cellspacing="0" cellpadding="0">
1069<tr valign="top" align="left">
1070<td width="11%"></td>
1071<td width="27%">
1072
1073
1074<p valign="top">_TIFFfree</p></td>
1075<td width="62%">
1076
1077
1078<p valign="top">free memory buffer</p></td>
1079<tr valign="top" align="left">
1080<td width="11%"></td>
1081<td width="27%">
1082
1083
1084<p valign="top">_TIFFmalloc</p></td>
1085<td width="62%">
1086
1087
1088<p valign="top">dynamically allocate memory buffer</p></td>
1089<tr valign="top" align="left">
1090<td width="11%"></td>
1091<td width="27%">
1092
1093
1094<p valign="top">_TIFFmemcmp</p></td>
1095<td width="62%">
1096
1097
1098<p valign="top">compare contents of the memory buffers</p></td>
1099<tr valign="top" align="left">
1100<td width="11%"></td>
1101<td width="27%">
1102
1103
1104<p valign="top">_TIFFmemcpy</p></td>
1105<td width="62%">
1106
1107
1108<p valign="top">copy contents of the one buffer to
1109another</p> </td>
1110<tr valign="top" align="left">
1111<td width="11%"></td>
1112<td width="27%">
1113
1114
1115<p valign="top">_TIFFmemset</p></td>
1116<td width="62%">
1117
1118
1119<p valign="top">fill memory buffer with a constant byte</p></td>
1120<tr valign="top" align="left">
1121<td width="11%"></td>
1122<td width="27%">
1123
1124
1125<p valign="top">_TIFFrealloc</p></td>
1126<td width="62%">
1127
1128
1129<p valign="top">dynamically reallocate memory buffer</p></td>
1130</table>
1131
1132<a name="TAG USAGE"></a>
1133<h2>TAG USAGE</h2>
1134
1135
1136<p style="margin-left:11%; margin-top: 1em">The table below
1137lists the <small>TIFF</small> tags that are recognized and
1138handled by the library. If no use is indicated in the table,
1139then the library reads and writes the tag, but does not use
1140it internally. Note that some tags are meaningful only when
1141a particular compression scheme is being used; e.g.
1142<i>Group3Options</i> is only useful if <i>Compression</i> is
1143set to <small>CCITT</small> Group 3 encoding. Tags of this
1144sort are considered <i>codec-specific</i> tags and the
1145library does not recognize them except when the
1146<i>Compression</i> tag has been previously set to the
1147relevant compression scheme.</p>
1148
1149<table width="100%" border=0 rules="none" frame="void"
1150       cellspacing="0" cellpadding="0">
1151<tr valign="top" align="left">
1152<td width="11%"></td>
1153<td width="26%">
1154
1155
1156<p valign="top"><i>Tag Name</i></p></td>
1157<td width="11%"></td>
1158<td width="7%">
1159
1160
1161<p valign="top"><i>Value</i></p></td>
1162<td width="45%">
1163
1164
1165<p valign="top"><i>R/W</i></p></td>
1166<tr valign="top" align="left">
1167<td width="11%"></td>
1168<td width="26%"></td>
1169<td width="11%"></td>
1170<td width="7%"></td>
1171<td width="45%">
1172
1173
1174<p valign="top"><i>Library Use/Notes</i></p></td>
1175<tr valign="top" align="left">
1176<td width="11%"></td>
1177<td width="26%">
1178
1179
1180<p valign="top">Artist</p></td>
1181<td width="11%"></td>
1182<td width="7%">
1183
1184
1185<p valign="top">315</p></td>
1186<td width="45%">
1187
1188
1189<p valign="top">R/W</p></td>
1190<tr valign="top" align="left">
1191<td width="11%"></td>
1192<td width="26%">
1193
1194
1195<p valign="top">BadFaxLines</p></td>
1196<td width="11%"></td>
1197<td width="7%">
1198
1199
1200<p valign="top">326</p></td>
1201<td width="45%">
1202
1203
1204<p valign="top">R/W</p></td>
1205<tr valign="top" align="left">
1206<td width="11%"></td>
1207<td width="26%">
1208
1209
1210<p valign="top">BitsPerSample</p></td>
1211<td width="11%"></td>
1212<td width="7%">
1213
1214
1215<p valign="top">258</p></td>
1216<td width="45%">
1217
1218
1219<p valign="top">R/W</p></td>
1220<tr valign="top" align="left">
1221<td width="11%"></td>
1222<td width="26%"></td>
1223<td width="11%"></td>
1224<td width="7%"></td>
1225<td width="45%">
1226
1227
1228<p valign="top">lots</p></td>
1229<tr valign="top" align="left">
1230<td width="11%"></td>
1231<td width="26%">
1232
1233
1234<p valign="top">CellLength</p></td>
1235<td width="11%"></td>
1236<td width="7%">
1237
1238
1239<p valign="top">265</p></td>
1240<td width="45%">
1241</td>
1242<tr valign="top" align="left">
1243<td width="11%"></td>
1244<td width="26%"></td>
1245<td width="11%"></td>
1246<td width="7%"></td>
1247<td width="45%">
1248
1249
1250<p valign="top">parsed but ignored</p></td>
1251<tr valign="top" align="left">
1252<td width="11%"></td>
1253<td width="26%">
1254
1255
1256<p valign="top">CellWidth</p></td>
1257<td width="11%"></td>
1258<td width="7%">
1259
1260
1261<p valign="top">264</p></td>
1262<td width="45%">
1263</td>
1264<tr valign="top" align="left">
1265<td width="11%"></td>
1266<td width="26%"></td>
1267<td width="11%"></td>
1268<td width="7%"></td>
1269<td width="45%">
1270
1271
1272<p valign="top">parsed but ignored</p></td>
1273<tr valign="top" align="left">
1274<td width="11%"></td>
1275<td width="26%">
1276
1277
1278<p valign="top">CleanFaxData</p></td>
1279<td width="11%"></td>
1280<td width="7%">
1281
1282
1283<p valign="top">327</p></td>
1284<td width="45%">
1285
1286
1287<p valign="top">R/W</p></td>
1288<tr valign="top" align="left">
1289<td width="11%"></td>
1290<td width="26%">
1291
1292
1293<p valign="top">ColorMap</p></td>
1294<td width="11%"></td>
1295<td width="7%">
1296
1297
1298<p valign="top">320</p></td>
1299<td width="45%">
1300
1301
1302<p valign="top">R/W</p></td>
1303<tr valign="top" align="left">
1304<td width="11%"></td>
1305<td width="26%">
1306
1307
1308<p valign="top">ColorResponseUnit</p></td>
1309<td width="11%"></td>
1310<td width="7%">
1311
1312
1313<p valign="top">300</p></td>
1314<td width="45%">
1315</td>
1316<tr valign="top" align="left">
1317<td width="11%"></td>
1318<td width="26%"></td>
1319<td width="11%"></td>
1320<td width="7%"></td>
1321<td width="45%">
1322
1323
1324<p valign="top">parsed but ignored</p></td>
1325<tr valign="top" align="left">
1326<td width="11%"></td>
1327<td width="26%">
1328
1329
1330<p valign="top">Compression</p></td>
1331<td width="11%"></td>
1332<td width="7%">
1333
1334
1335<p valign="top">259</p></td>
1336<td width="45%">
1337
1338
1339<p valign="top">R/W</p></td>
1340<tr valign="top" align="left">
1341<td width="11%"></td>
1342<td width="26%"></td>
1343<td width="11%"></td>
1344<td width="7%"></td>
1345<td width="45%">
1346
1347
1348<p valign="top">choosing codec</p></td>
1349<tr valign="top" align="left">
1350<td width="11%"></td>
1351<td width="26%">
1352
1353
1354<p valign="top">ConsecutiveBadFaxLines</p></td>
1355<td width="11%"></td>
1356<td width="7%">
1357
1358
1359<p valign="top">328</p></td>
1360<td width="45%">
1361
1362
1363<p valign="top">R/W</p></td>
1364</table>
1365
1366<p style="margin-left:11%;">Copyright 33432 R/W</p>
1367
1368<table width="100%" border=0 rules="none" frame="void"
1369       cellspacing="0" cellpadding="0">
1370<tr valign="top" align="left">
1371<td width="11%"></td>
1372<td width="26%">
1373
1374
1375<p valign="top">DataType</p></td>
1376<td width="11%"></td>
1377<td width="7%">
1378
1379
1380<p valign="top">32996</p></td>
1381<td width="45%">
1382
1383
1384<p valign="top">R</p></td>
1385<tr valign="top" align="left">
1386<td width="11%"></td>
1387<td width="26%"></td>
1388<td width="11%"></td>
1389<td width="7%"></td>
1390<td width="45%">
1391
1392
1393<p valign="top">obsoleted by SampleFormat tag</p></td>
1394<tr valign="top" align="left">
1395<td width="11%"></td>
1396<td width="26%">
1397
1398
1399<p valign="top">DateTime</p></td>
1400<td width="11%"></td>
1401<td width="7%">
1402
1403
1404<p valign="top">306</p></td>
1405<td width="45%">
1406
1407
1408<p valign="top">R/W</p></td>
1409<tr valign="top" align="left">
1410<td width="11%"></td>
1411<td width="26%">
1412
1413
1414<p valign="top">DocumentName</p></td>
1415<td width="11%"></td>
1416<td width="7%">
1417
1418
1419<p valign="top">269</p></td>
1420<td width="45%">
1421
1422
1423<p valign="top">R/W</p></td>
1424<tr valign="top" align="left">
1425<td width="11%"></td>
1426<td width="26%">
1427
1428
1429<p valign="top">DotRange</p></td>
1430<td width="11%"></td>
1431<td width="7%">
1432
1433
1434<p valign="top">336</p></td>
1435<td width="45%">
1436
1437
1438<p valign="top">R/W</p></td>
1439<tr valign="top" align="left">
1440<td width="11%"></td>
1441<td width="26%">
1442
1443
1444<p valign="top">ExtraSamples</p></td>
1445<td width="11%"></td>
1446<td width="7%">
1447
1448
1449<p valign="top">338</p></td>
1450<td width="45%">
1451
1452
1453<p valign="top">R/W</p></td>
1454<tr valign="top" align="left">
1455<td width="11%"></td>
1456<td width="26%"></td>
1457<td width="11%"></td>
1458<td width="7%"></td>
1459<td width="45%">
1460
1461
1462<p valign="top">lots</p></td>
1463<tr valign="top" align="left">
1464<td width="11%"></td>
1465<td width="26%">
1466
1467
1468<p valign="top">FaxRecvParams</p></td>
1469<td width="11%"></td>
1470<td width="7%">
1471
1472
1473<p valign="top">34908</p></td>
1474<td width="45%">
1475
1476
1477<p valign="top">R/W</p></td>
1478<tr valign="top" align="left">
1479<td width="11%"></td>
1480<td width="26%">
1481
1482
1483<p valign="top">FaxSubAddress</p></td>
1484<td width="11%"></td>
1485<td width="7%">
1486
1487
1488<p valign="top">34909</p></td>
1489<td width="45%">
1490
1491
1492<p valign="top">R/W</p></td>
1493<tr valign="top" align="left">
1494<td width="11%"></td>
1495<td width="26%">
1496
1497
1498<p valign="top">FaxRecvTime</p></td>
1499<td width="11%"></td>
1500<td width="7%">
1501
1502
1503<p valign="top">34910</p></td>
1504<td width="45%">
1505
1506
1507<p valign="top">R/W</p></td>
1508<tr valign="top" align="left">
1509<td width="11%"></td>
1510<td width="26%">
1511
1512
1513<p valign="top">FillOrder</p></td>
1514<td width="11%"></td>
1515<td width="7%">
1516
1517
1518<p valign="top">266</p></td>
1519<td width="45%">
1520
1521
1522<p valign="top">R/W</p></td>
1523<tr valign="top" align="left">
1524<td width="11%"></td>
1525<td width="26%"></td>
1526<td width="11%"></td>
1527<td width="7%"></td>
1528<td width="45%">
1529
1530
1531<p valign="top">control bit order</p></td>
1532<tr valign="top" align="left">
1533<td width="11%"></td>
1534<td width="26%">
1535
1536
1537<p valign="top">FreeByteCounts</p></td>
1538<td width="11%"></td>
1539<td width="7%">
1540
1541
1542<p valign="top">289</p></td>
1543<td width="45%">
1544</td>
1545<tr valign="top" align="left">
1546<td width="11%"></td>
1547<td width="26%"></td>
1548<td width="11%"></td>
1549<td width="7%"></td>
1550<td width="45%">
1551
1552
1553<p valign="top">parsed but ignored</p></td>
1554<tr valign="top" align="left">
1555<td width="11%"></td>
1556<td width="26%">
1557
1558
1559<p valign="top">FreeOffsets</p></td>
1560<td width="11%"></td>
1561<td width="7%">
1562
1563
1564<p valign="top">288</p></td>
1565<td width="45%">
1566</td>
1567<tr valign="top" align="left">
1568<td width="11%"></td>
1569<td width="26%"></td>
1570<td width="11%"></td>
1571<td width="7%"></td>
1572<td width="45%">
1573
1574
1575<p valign="top">parsed but ignored</p></td>
1576<tr valign="top" align="left">
1577<td width="11%"></td>
1578<td width="26%">
1579
1580
1581<p valign="top">GrayResponseCurve</p></td>
1582<td width="11%"></td>
1583<td width="7%">
1584
1585
1586<p valign="top">291</p></td>
1587<td width="45%">
1588</td>
1589<tr valign="top" align="left">
1590<td width="11%"></td>
1591<td width="26%"></td>
1592<td width="11%"></td>
1593<td width="7%"></td>
1594<td width="45%">
1595
1596
1597<p valign="top">parsed but ignored</p></td>
1598<tr valign="top" align="left">
1599<td width="11%"></td>
1600<td width="26%">
1601
1602
1603<p valign="top">GrayResponseUnit</p></td>
1604<td width="11%"></td>
1605<td width="7%">
1606
1607
1608<p valign="top">290</p></td>
1609<td width="45%">
1610</td>
1611<tr valign="top" align="left">
1612<td width="11%"></td>
1613<td width="26%"></td>
1614<td width="11%"></td>
1615<td width="7%"></td>
1616<td width="45%">
1617
1618
1619<p valign="top">parsed but ignored</p></td>
1620<tr valign="top" align="left">
1621<td width="11%"></td>
1622<td width="26%">
1623
1624
1625<p valign="top">Group3Options</p></td>
1626<td width="11%"></td>
1627<td width="7%">
1628
1629
1630<p valign="top">292</p></td>
1631<td width="45%">
1632
1633
1634<p valign="top">R/W</p></td>
1635<tr valign="top" align="left">
1636<td width="11%"></td>
1637<td width="26%"></td>
1638<td width="11%"></td>
1639<td width="7%"></td>
1640<td width="45%">
1641
1642
1643<p valign="top">used by Group 3 codec</p></td>
1644<tr valign="top" align="left">
1645<td width="11%"></td>
1646<td width="26%">
1647
1648
1649<p valign="top">Group4Options</p></td>
1650<td width="11%"></td>
1651<td width="7%">
1652
1653
1654<p valign="top">293</p></td>
1655<td width="45%">
1656
1657
1658<p valign="top">R/W</p></td>
1659<tr valign="top" align="left">
1660<td width="11%"></td>
1661<td width="26%">
1662
1663
1664<p valign="top">HostComputer</p></td>
1665<td width="11%"></td>
1666<td width="7%">
1667
1668
1669<p valign="top">316</p></td>
1670<td width="45%">
1671
1672
1673<p valign="top">R/W</p></td>
1674<tr valign="top" align="left">
1675<td width="11%"></td>
1676<td width="26%">
1677
1678
1679<p valign="top">ImageDepth</p></td>
1680<td width="11%"></td>
1681<td width="7%">
1682
1683
1684<p valign="top">32997</p></td>
1685<td width="45%">
1686
1687
1688<p valign="top">R/W</p></td>
1689<tr valign="top" align="left">
1690<td width="11%"></td>
1691<td width="26%"></td>
1692<td width="11%"></td>
1693<td width="7%"></td>
1694<td width="45%">
1695
1696
1697<p valign="top">tile/strip calculations</p></td>
1698<tr valign="top" align="left">
1699<td width="11%"></td>
1700<td width="26%">
1701
1702
1703<p valign="top">ImageDescription</p></td>
1704<td width="11%"></td>
1705<td width="7%">
1706
1707
1708<p valign="top">270</p></td>
1709<td width="45%">
1710
1711
1712<p valign="top">R/W</p></td>
1713<tr valign="top" align="left">
1714<td width="11%"></td>
1715<td width="26%">
1716
1717
1718<p valign="top">ImageLength</p></td>
1719<td width="11%"></td>
1720<td width="7%">
1721
1722
1723<p valign="top">257</p></td>
1724<td width="45%">
1725
1726
1727<p valign="top">R/W</p></td>
1728<tr valign="top" align="left">
1729<td width="11%"></td>
1730<td width="26%"></td>
1731<td width="11%"></td>
1732<td width="7%"></td>
1733<td width="45%">
1734
1735
1736<p valign="top">lots</p></td>
1737<tr valign="top" align="left">
1738<td width="11%"></td>
1739<td width="26%">
1740
1741
1742<p valign="top">ImageWidth</p></td>
1743<td width="11%"></td>
1744<td width="7%">
1745
1746
1747<p valign="top">256</p></td>
1748<td width="45%">
1749
1750
1751<p valign="top">R/W</p></td>
1752<tr valign="top" align="left">
1753<td width="11%"></td>
1754<td width="26%"></td>
1755<td width="11%"></td>
1756<td width="7%"></td>
1757<td width="45%">
1758
1759
1760<p valign="top">lots</p></td>
1761<tr valign="top" align="left">
1762<td width="11%"></td>
1763<td width="26%">
1764
1765
1766<p valign="top">InkNames</p></td>
1767<td width="11%"></td>
1768<td width="7%">
1769
1770
1771<p valign="top">333</p></td>
1772<td width="45%">
1773
1774
1775<p valign="top">R/W</p></td>
1776<tr valign="top" align="left">
1777<td width="11%"></td>
1778<td width="26%">
1779
1780
1781<p valign="top">InkSet</p></td>
1782<td width="11%"></td>
1783<td width="7%">
1784
1785
1786<p valign="top">332</p></td>
1787<td width="45%">
1788
1789
1790<p valign="top">R/W</p></td>
1791<tr valign="top" align="left">
1792<td width="11%"></td>
1793<td width="26%">
1794
1795
1796<p valign="top">JPEGTables</p></td>
1797<td width="11%"></td>
1798<td width="7%">
1799
1800
1801<p valign="top">347</p></td>
1802<td width="45%">
1803
1804
1805<p valign="top">R/W</p></td>
1806<tr valign="top" align="left">
1807<td width="11%"></td>
1808<td width="26%"></td>
1809<td width="11%"></td>
1810<td width="7%"></td>
1811<td width="45%">
1812
1813
1814<p valign="top">used by JPEG codec</p></td>
1815<tr valign="top" align="left">
1816<td width="11%"></td>
1817<td width="26%">
1818
1819
1820<p valign="top">Make</p></td>
1821<td width="11%"></td>
1822<td width="7%">
1823
1824
1825<p valign="top">271</p></td>
1826<td width="45%">
1827
1828
1829<p valign="top">R/W</p></td>
1830<tr valign="top" align="left">
1831<td width="11%"></td>
1832<td width="26%">
1833
1834
1835<p valign="top">Matteing</p></td>
1836<td width="11%"></td>
1837<td width="7%">
1838
1839
1840<p valign="top">32995</p></td>
1841<td width="45%">
1842
1843
1844<p valign="top">R</p></td>
1845<tr valign="top" align="left">
1846<td width="11%"></td>
1847<td width="26%"></td>
1848<td width="11%"></td>
1849<td width="7%"></td>
1850<td width="45%">
1851
1852
1853<p valign="top">obsoleted by ExtraSamples tag</p></td>
1854<tr valign="top" align="left">
1855<td width="11%"></td>
1856<td width="26%">
1857
1858
1859<p valign="top">MaxSampleValue</p></td>
1860<td width="11%"></td>
1861<td width="7%">
1862
1863
1864<p valign="top">281</p></td>
1865<td width="45%">
1866
1867
1868<p valign="top">R/W</p></td>
1869<tr valign="top" align="left">
1870<td width="11%"></td>
1871<td width="26%">
1872
1873
1874<p valign="top">MinSampleValue</p></td>
1875<td width="11%"></td>
1876<td width="7%">
1877
1878
1879<p valign="top">280</p></td>
1880<td width="45%">
1881
1882
1883<p valign="top">R/W</p></td>
1884<tr valign="top" align="left">
1885<td width="11%"></td>
1886<td width="26%">
1887
1888
1889<p valign="top">Model</p></td>
1890<td width="11%"></td>
1891<td width="7%">
1892
1893
1894<p valign="top">272</p></td>
1895<td width="45%">
1896
1897
1898<p valign="top">R/W</p></td>
1899<tr valign="top" align="left">
1900<td width="11%"></td>
1901<td width="26%">
1902
1903
1904<p valign="top">NewSubFileType</p></td>
1905<td width="11%"></td>
1906<td width="7%">
1907
1908
1909<p valign="top">254</p></td>
1910<td width="45%">
1911
1912
1913<p valign="top">R/W</p></td>
1914<tr valign="top" align="left">
1915<td width="11%"></td>
1916<td width="26%"></td>
1917<td width="11%"></td>
1918<td width="7%"></td>
1919<td width="45%">
1920
1921
1922<p valign="top">called SubFileType in spec</p></td>
1923<tr valign="top" align="left">
1924<td width="11%"></td>
1925<td width="26%">
1926
1927
1928<p valign="top">NumberOfInks</p></td>
1929<td width="11%"></td>
1930<td width="7%">
1931
1932
1933<p valign="top">334</p></td>
1934<td width="45%">
1935
1936
1937<p valign="top">R/W</p></td>
1938<tr valign="top" align="left">
1939<td width="11%"></td>
1940<td width="26%">
1941
1942
1943<p valign="top">Orientation</p></td>
1944<td width="11%"></td>
1945<td width="7%">
1946
1947
1948<p valign="top">274</p></td>
1949<td width="45%">
1950
1951
1952<p valign="top">R/W</p></td>
1953<tr valign="top" align="left">
1954<td width="11%"></td>
1955<td width="26%">
1956
1957
1958<p valign="top">PageName</p></td>
1959<td width="11%"></td>
1960<td width="7%">
1961
1962
1963<p valign="top">285</p></td>
1964<td width="45%">
1965
1966
1967<p valign="top">R/W</p></td>
1968<tr valign="top" align="left">
1969<td width="11%"></td>
1970<td width="26%">
1971
1972
1973<p valign="top">PageNumber</p></td>
1974<td width="11%"></td>
1975<td width="7%">
1976
1977
1978<p valign="top">297</p></td>
1979<td width="45%">
1980
1981
1982<p valign="top">R/W</p></td>
1983<tr valign="top" align="left">
1984<td width="11%"></td>
1985<td width="26%">
1986
1987
1988<p valign="top">PhotometricInterpretation</p></td>
1989<td width="11%"></td>
1990<td width="7%"></td>
1991<td width="45%">
1992
1993
1994<p valign="top">262</p></td>
1995<tr valign="top" align="left">
1996<td width="11%"></td>
1997<td width="26%"></td>
1998<td width="11%"></td>
1999<td width="7%"></td>
2000<td width="45%">
2001
2002
2003<p valign="top">R/Wused by Group 3 and JPEG codecs</p></td>
2004<tr valign="top" align="left">
2005<td width="11%"></td>
2006<td width="26%">
2007
2008
2009<p valign="top">PlanarConfiguration</p></td>
2010<td width="11%"></td>
2011<td width="7%">
2012
2013
2014<p valign="top">284</p></td>
2015<td width="45%">
2016
2017
2018<p valign="top">R/W</p></td>
2019<tr valign="top" align="left">
2020<td width="11%"></td>
2021<td width="26%"></td>
2022<td width="11%"></td>
2023<td width="7%"></td>
2024<td width="45%">
2025
2026
2027<p valign="top">data i/o</p></td>
2028<tr valign="top" align="left">
2029<td width="11%"></td>
2030<td width="26%">
2031
2032
2033<p valign="top">Predictor</p></td>
2034<td width="11%"></td>
2035<td width="7%">
2036
2037
2038<p valign="top">317</p></td>
2039<td width="45%">
2040
2041
2042<p valign="top">R/W</p></td>
2043<tr valign="top" align="left">
2044<td width="11%"></td>
2045<td width="26%"></td>
2046<td width="11%"></td>
2047<td width="7%"></td>
2048<td width="45%">
2049
2050
2051<p valign="top">used by LZW and Deflate codecs</p></td>
2052<tr valign="top" align="left">
2053<td width="11%"></td>
2054<td width="26%">
2055
2056
2057<p valign="top">PrimaryChromacities</p></td>
2058<td width="11%"></td>
2059<td width="7%">
2060
2061
2062<p valign="top">319</p></td>
2063<td width="45%">
2064
2065
2066<p valign="top">R/W</p></td>
2067<tr valign="top" align="left">
2068<td width="11%"></td>
2069<td width="26%">
2070
2071
2072<p valign="top">ReferenceBlackWhite</p></td>
2073<td width="11%"></td>
2074<td width="7%">
2075
2076
2077<p valign="top">532</p></td>
2078<td width="45%">
2079
2080
2081<p valign="top">R/W</p></td>
2082<tr valign="top" align="left">
2083<td width="11%"></td>
2084<td width="26%">
2085
2086
2087<p valign="top">ResolutionUnit</p></td>
2088<td width="11%"></td>
2089<td width="7%">
2090
2091
2092<p valign="top">296</p></td>
2093<td width="45%">
2094
2095
2096<p valign="top">R/W</p></td>
2097<tr valign="top" align="left">
2098<td width="11%"></td>
2099<td width="26%"></td>
2100<td width="11%"></td>
2101<td width="7%"></td>
2102<td width="45%">
2103
2104
2105<p valign="top">used by Group 3 codec</p></td>
2106<tr valign="top" align="left">
2107<td width="11%"></td>
2108<td width="26%">
2109
2110
2111<p valign="top">RowsPerStrip</p></td>
2112<td width="11%"></td>
2113<td width="7%">
2114
2115
2116<p valign="top">278</p></td>
2117<td width="45%">
2118
2119
2120<p valign="top">R/W</p></td>
2121<tr valign="top" align="left">
2122<td width="11%"></td>
2123<td width="26%"></td>
2124<td width="11%"></td>
2125<td width="7%"></td>
2126<td width="45%">
2127
2128
2129<p valign="top">data i/o</p></td>
2130<tr valign="top" align="left">
2131<td width="11%"></td>
2132<td width="26%">
2133
2134
2135<p valign="top">SampleFormat</p></td>
2136<td width="11%"></td>
2137<td width="7%">
2138
2139
2140<p valign="top">339</p></td>
2141<td width="45%">
2142
2143
2144<p valign="top">R/W</p></td>
2145<tr valign="top" align="left">
2146<td width="11%"></td>
2147<td width="26%">
2148
2149
2150<p valign="top">SamplesPerPixel</p></td>
2151<td width="11%"></td>
2152<td width="7%">
2153
2154
2155<p valign="top">277</p></td>
2156<td width="45%">
2157
2158
2159<p valign="top">R/W</p></td>
2160<tr valign="top" align="left">
2161<td width="11%"></td>
2162<td width="26%"></td>
2163<td width="11%"></td>
2164<td width="7%"></td>
2165<td width="45%">
2166
2167
2168<p valign="top">lots</p></td>
2169<tr valign="top" align="left">
2170<td width="11%"></td>
2171<td width="26%">
2172
2173
2174<p valign="top">SMinSampleValue</p></td>
2175<td width="11%"></td>
2176<td width="7%">
2177
2178
2179<p valign="top">340</p></td>
2180<td width="45%">
2181
2182
2183<p valign="top">R/W</p></td>
2184<tr valign="top" align="left">
2185<td width="11%"></td>
2186<td width="26%">
2187
2188
2189<p valign="top">SMaxSampleValue</p></td>
2190<td width="11%"></td>
2191<td width="7%">
2192
2193
2194<p valign="top">341</p></td>
2195<td width="45%">
2196
2197
2198<p valign="top">R/W</p></td>
2199<tr valign="top" align="left">
2200<td width="11%"></td>
2201<td width="26%">
2202
2203
2204<p valign="top">Software</p></td>
2205<td width="11%"></td>
2206<td width="7%">
2207
2208
2209<p valign="top">305</p></td>
2210<td width="45%">
2211
2212
2213<p valign="top">R/W</p></td>
2214<tr valign="top" align="left">
2215<td width="11%"></td>
2216<td width="26%">
2217
2218
2219<p valign="top">StoNits</p></td>
2220<td width="11%"></td>
2221<td width="7%">
2222
2223
2224<p valign="top">37439</p></td>
2225<td width="45%">
2226
2227
2228<p valign="top">R/W</p></td>
2229<tr valign="top" align="left">
2230<td width="11%"></td>
2231<td width="26%">
2232
2233
2234<p valign="top">StripByteCounts</p></td>
2235<td width="11%"></td>
2236<td width="7%">
2237
2238
2239<p valign="top">279</p></td>
2240<td width="45%">
2241
2242
2243<p valign="top">R/W</p></td>
2244<tr valign="top" align="left">
2245<td width="11%"></td>
2246<td width="26%"></td>
2247<td width="11%"></td>
2248<td width="7%"></td>
2249<td width="45%">
2250
2251
2252<p valign="top">data i/o</p></td>
2253<tr valign="top" align="left">
2254<td width="11%"></td>
2255<td width="26%">
2256
2257
2258<p valign="top">StripOffsets</p></td>
2259<td width="11%"></td>
2260<td width="7%">
2261
2262
2263<p valign="top">273</p></td>
2264<td width="45%">
2265
2266
2267<p valign="top">R/W</p></td>
2268<tr valign="top" align="left">
2269<td width="11%"></td>
2270<td width="26%"></td>
2271<td width="11%"></td>
2272<td width="7%"></td>
2273<td width="45%">
2274
2275
2276<p valign="top">data i/o</p></td>
2277<tr valign="top" align="left">
2278<td width="11%"></td>
2279<td width="26%">
2280
2281
2282<p valign="top">SubFileType</p></td>
2283<td width="11%"></td>
2284<td width="7%">
2285
2286
2287<p valign="top">255</p></td>
2288<td width="45%">
2289
2290
2291<p valign="top">R/W</p></td>
2292<tr valign="top" align="left">
2293<td width="11%"></td>
2294<td width="26%"></td>
2295<td width="11%"></td>
2296<td width="7%"></td>
2297<td width="45%">
2298
2299
2300<p valign="top">called OSubFileType in spec</p></td>
2301<tr valign="top" align="left">
2302<td width="11%"></td>
2303<td width="26%">
2304
2305
2306<p valign="top">TargetPrinter</p></td>
2307<td width="11%"></td>
2308<td width="7%">
2309
2310
2311<p valign="top">337</p></td>
2312<td width="45%">
2313
2314
2315<p valign="top">R/W</p></td>
2316<tr valign="top" align="left">
2317<td width="11%"></td>
2318<td width="26%">
2319
2320
2321<p valign="top">Thresholding</p></td>
2322<td width="11%"></td>
2323<td width="7%">
2324
2325
2326<p valign="top">263</p></td>
2327<td width="45%">
2328
2329
2330<p valign="top">R/W</p></td>
2331<tr valign="top" align="left">
2332<td width="11%"></td>
2333<td width="26%"></td>
2334<td width="11%"></td>
2335<td width="7%"></td>
2336<td width="45%">
2337</td>
2338<tr valign="top" align="left">
2339<td width="11%"></td>
2340<td width="26%">
2341
2342
2343<p valign="top">TileByteCounts</p></td>
2344<td width="11%"></td>
2345<td width="7%">
2346
2347
2348<p valign="top">324</p></td>
2349<td width="45%">
2350
2351
2352<p valign="top">R/W</p></td>
2353<tr valign="top" align="left">
2354<td width="11%"></td>
2355<td width="26%"></td>
2356<td width="11%"></td>
2357<td width="7%"></td>
2358<td width="45%">
2359
2360
2361<p valign="top">data i/o</p></td>
2362<tr valign="top" align="left">
2363<td width="11%"></td>
2364<td width="26%">
2365
2366
2367<p valign="top">TileDepth</p></td>
2368<td width="11%"></td>
2369<td width="7%">
2370
2371
2372<p valign="top">32998</p></td>
2373<td width="45%">
2374
2375
2376<p valign="top">R/W</p></td>
2377<tr valign="top" align="left">
2378<td width="11%"></td>
2379<td width="26%"></td>
2380<td width="11%"></td>
2381<td width="7%"></td>
2382<td width="45%">
2383
2384
2385<p valign="top">tile/strip calculations</p></td>
2386<tr valign="top" align="left">
2387<td width="11%"></td>
2388<td width="26%">
2389
2390
2391<p valign="top">TileLength</p></td>
2392<td width="11%"></td>
2393<td width="7%">
2394
2395
2396<p valign="top">323</p></td>
2397<td width="45%">
2398
2399
2400<p valign="top">R/W</p></td>
2401<tr valign="top" align="left">
2402<td width="11%"></td>
2403<td width="26%"></td>
2404<td width="11%"></td>
2405<td width="7%"></td>
2406<td width="45%">
2407
2408
2409<p valign="top">data i/o</p></td>
2410<tr valign="top" align="left">
2411<td width="11%"></td>
2412<td width="26%">
2413
2414
2415<p valign="top">TileOffsets</p></td>
2416<td width="11%"></td>
2417<td width="7%">
2418
2419
2420<p valign="top">324</p></td>
2421<td width="45%">
2422
2423
2424<p valign="top">R/W</p></td>
2425<tr valign="top" align="left">
2426<td width="11%"></td>
2427<td width="26%"></td>
2428<td width="11%"></td>
2429<td width="7%"></td>
2430<td width="45%">
2431
2432
2433<p valign="top">data i/o</p></td>
2434<tr valign="top" align="left">
2435<td width="11%"></td>
2436<td width="26%">
2437
2438
2439<p valign="top">TileWidth</p></td>
2440<td width="11%"></td>
2441<td width="7%">
2442
2443
2444<p valign="top">322</p></td>
2445<td width="45%">
2446
2447
2448<p valign="top">R/W</p></td>
2449<tr valign="top" align="left">
2450<td width="11%"></td>
2451<td width="26%"></td>
2452<td width="11%"></td>
2453<td width="7%"></td>
2454<td width="45%">
2455
2456
2457<p valign="top">data i/o</p></td>
2458<tr valign="top" align="left">
2459<td width="11%"></td>
2460<td width="26%">
2461
2462
2463<p valign="top">TransferFunction</p></td>
2464<td width="11%"></td>
2465<td width="7%">
2466
2467
2468<p valign="top">301</p></td>
2469<td width="45%">
2470
2471
2472<p valign="top">R/W</p></td>
2473<tr valign="top" align="left">
2474<td width="11%"></td>
2475<td width="26%">
2476
2477
2478<p valign="top">WhitePoint</p></td>
2479<td width="11%"></td>
2480<td width="7%">
2481
2482
2483<p valign="top">318</p></td>
2484<td width="45%">
2485
2486
2487<p valign="top">R/W</p></td>
2488<tr valign="top" align="left">
2489<td width="11%"></td>
2490<td width="26%">
2491
2492
2493<p valign="top">XPosition</p></td>
2494<td width="11%"></td>
2495<td width="7%">
2496
2497
2498<p valign="top">286</p></td>
2499<td width="45%">
2500
2501
2502<p valign="top">R/W</p></td>
2503<tr valign="top" align="left">
2504<td width="11%"></td>
2505<td width="26%">
2506
2507
2508<p valign="top">XResolution</p></td>
2509<td width="11%"></td>
2510<td width="7%">
2511
2512
2513<p valign="top">282</p></td>
2514<td width="45%">
2515
2516
2517<p valign="top">R/W</p></td>
2518<tr valign="top" align="left">
2519<td width="11%"></td>
2520<td width="26%">
2521
2522
2523<p valign="top">YCbCrCoefficients</p></td>
2524<td width="11%"></td>
2525<td width="7%">
2526
2527
2528<p valign="top">529</p></td>
2529<td width="45%">
2530
2531
2532<p valign="top">R/W</p></td>
2533<tr valign="top" align="left">
2534<td width="11%"></td>
2535<td width="26%"></td>
2536<td width="11%"></td>
2537<td width="7%"></td>
2538<td width="45%">
2539
2540
2541<p valign="top">used by TIFFRGBAImage support</p></td>
2542<tr valign="top" align="left">
2543<td width="11%"></td>
2544<td width="26%">
2545
2546
2547<p valign="top">YCbCrPositioning</p></td>
2548<td width="11%"></td>
2549<td width="7%">
2550
2551
2552<p valign="top">531</p></td>
2553<td width="45%">
2554
2555
2556<p valign="top">R/W</p></td>
2557<tr valign="top" align="left">
2558<td width="11%"></td>
2559<td width="26%"></td>
2560<td width="11%"></td>
2561<td width="7%"></td>
2562<td width="45%">
2563
2564
2565<p valign="top">tile/strip size calulcations</p></td>
2566<tr valign="top" align="left">
2567<td width="11%"></td>
2568<td width="26%">
2569
2570
2571<p valign="top">YCbCrSubsampling</p></td>
2572<td width="11%"></td>
2573<td width="7%">
2574
2575
2576<p valign="top">530</p></td>
2577<td width="45%">
2578
2579
2580<p valign="top">R/W</p></td>
2581<tr valign="top" align="left">
2582<td width="11%"></td>
2583<td width="26%">
2584
2585
2586<p valign="top">YPosition</p></td>
2587<td width="11%"></td>
2588<td width="7%">
2589
2590
2591<p valign="top">286</p></td>
2592<td width="45%">
2593
2594
2595<p valign="top">R/W</p></td>
2596<tr valign="top" align="left">
2597<td width="11%"></td>
2598<td width="26%">
2599
2600
2601<p valign="top">YResolution</p></td>
2602<td width="11%"></td>
2603<td width="7%">
2604
2605
2606<p valign="top">283</p></td>
2607<td width="45%">
2608
2609
2610<p valign="top">R/W</p></td>
2611<tr valign="top" align="left">
2612<td width="11%"></td>
2613<td width="26%"></td>
2614<td width="11%"></td>
2615<td width="7%"></td>
2616<td width="45%">
2617
2618
2619<p valign="top">used by Group 3 codec</p></td>
2620</table>
2621
2622<a name="PSEUDO TAGS"></a>
2623<h2>PSEUDO TAGS</h2>
2624
2625
2626<p style="margin-left:11%; margin-top: 1em">In addition to
2627the normal <small>TIFF</small> tags the library supports a
2628collection of tags whose values lie in a range outside the
2629valid range of <small>TIFF</small> tags. These tags are
2630termed <i>pseud-tags</i> and are used to control various
2631codec-specific functions within the library. The table below
2632summarizes the defined pseudo-tags.</p>
2633
2634<table width="100%" border=0 rules="none" frame="void"
2635       cellspacing="0" cellpadding="0">
2636<tr valign="top" align="left">
2637<td width="11%"></td>
2638<td width="26%">
2639
2640
2641<p valign="top"><i>Tag Name</i></p></td>
2642<td width="11%"></td>
2643<td width="7%">
2644
2645
2646<p valign="top"><i>Codec</i></p></td>
2647<td width="45%">
2648
2649
2650<p valign="top"><i>R/W</i></p></td>
2651<tr valign="top" align="left">
2652<td width="11%"></td>
2653<td width="26%"></td>
2654<td width="11%"></td>
2655<td width="7%"></td>
2656<td width="45%">
2657
2658
2659<p valign="top"><i>Library Use/Notes</i></p></td>
2660<tr valign="top" align="left">
2661<td width="11%"></td>
2662<td width="26%">
2663
2664
2665<p valign="top">TIFFTAG_FAXMODE</p></td>
2666<td width="11%"></td>
2667<td width="7%">
2668
2669
2670<p valign="top">G3</p></td>
2671<td width="45%">
2672
2673
2674<p valign="top">R/W</p></td>
2675<tr valign="top" align="left">
2676<td width="11%"></td>
2677<td width="26%"></td>
2678<td width="11%"></td>
2679<td width="7%"></td>
2680<td width="45%">
2681
2682
2683<p valign="top">general codec operation</p></td>
2684<tr valign="top" align="left">
2685<td width="11%"></td>
2686<td width="26%">
2687
2688
2689<p valign="top">TIFFTAG_FAXFILLFUNC</p></td>
2690<td width="11%"></td>
2691<td width="7%">
2692
2693
2694<p valign="top">G3/G4</p></td>
2695<td width="45%">
2696
2697
2698<p valign="top">R/W</p></td>
2699<tr valign="top" align="left">
2700<td width="11%"></td>
2701<td width="26%"></td>
2702<td width="11%"></td>
2703<td width="7%"></td>
2704<td width="45%">
2705
2706
2707<p valign="top">bitmap fill function</p></td>
2708<tr valign="top" align="left">
2709<td width="11%"></td>
2710<td width="26%">
2711
2712
2713<p valign="top">TIFFTAG_JPEGQUALITY</p></td>
2714<td width="11%"></td>
2715<td width="7%">
2716
2717
2718<p valign="top">JPEG</p></td>
2719<td width="45%">
2720
2721
2722<p valign="top">R/W</p></td>
2723<tr valign="top" align="left">
2724<td width="11%"></td>
2725<td width="26%"></td>
2726<td width="11%"></td>
2727<td width="7%"></td>
2728<td width="45%">
2729
2730
2731<p valign="top">compression quality control</p></td>
2732<tr valign="top" align="left">
2733<td width="11%"></td>
2734<td width="26%">
2735
2736
2737<p valign="top">TIFFTAG_JPEGCOLORMODE</p></td>
2738<td width="11%"></td>
2739<td width="7%">
2740
2741
2742<p valign="top">JPEG</p></td>
2743<td width="45%">
2744
2745
2746<p valign="top">R/W</p></td>
2747<tr valign="top" align="left">
2748<td width="11%"></td>
2749<td width="26%"></td>
2750<td width="11%"></td>
2751<td width="7%"></td>
2752<td width="45%">
2753
2754
2755<p valign="top">control colorspace conversions</p></td>
2756<tr valign="top" align="left">
2757<td width="11%"></td>
2758<td width="26%">
2759
2760
2761<p valign="top">TIFFTAG_JPEGTABLESMODE</p></td>
2762<td width="11%"></td>
2763<td width="7%">
2764
2765
2766<p valign="top">JPEG</p></td>
2767<td width="45%">
2768
2769
2770<p valign="top">R/W</p></td>
2771<tr valign="top" align="left">
2772<td width="11%"></td>
2773<td width="26%"></td>
2774<td width="11%"></td>
2775<td width="7%"></td>
2776<td width="45%">
2777
2778
2779<p valign="top">control contents of <i>JPEGTables</i>
2780tag</p> </td>
2781<tr valign="top" align="left">
2782<td width="11%"></td>
2783<td width="26%">
2784
2785
2786<p valign="top">TIFFTAG_ZIPQUALITY</p></td>
2787<td width="11%"></td>
2788<td width="7%">
2789
2790
2791<p valign="top">Deflate</p></td>
2792<td width="45%">
2793
2794
2795<p valign="top">R/Wcompression quality level</p></td>
2796<tr valign="top" align="left">
2797<td width="11%"></td>
2798<td width="26%">
2799
2800
2801<p valign="top">TIFFTAG_PIXARLOGDATAFMT</p></td>
2802<td width="11%"></td>
2803<td width="7%">
2804
2805
2806<p valign="top">PixarLog</p></td>
2807<td width="45%">
2808
2809
2810<p valign="top">R/Wuser data format</p></td>
2811<tr valign="top" align="left">
2812<td width="11%"></td>
2813<td width="26%">
2814
2815
2816<p valign="top">TIFFTAG_PIXARLOGQUALITY</p></td>
2817<td width="11%"></td>
2818<td width="7%">
2819
2820
2821<p valign="top">PixarLog</p></td>
2822<td width="45%">
2823
2824
2825<p valign="top">R/Wcompression quality level</p></td>
2826<tr valign="top" align="left">
2827<td width="11%"></td>
2828<td width="26%">
2829
2830
2831<p valign="top">TIFFTAG_SGILOGDATAFMT</p></td>
2832<td width="11%"></td>
2833<td width="7%">
2834
2835
2836<p valign="top">SGILog</p></td>
2837<td width="45%">
2838
2839
2840<p valign="top">R/W</p></td>
2841<tr valign="top" align="left">
2842<td width="11%"></td>
2843<td width="26%"></td>
2844<td width="11%"></td>
2845<td width="7%"></td>
2846<td width="45%">
2847
2848
2849<p valign="top">user data format</p></td>
2850</table>
2851
2852<p style="margin-left:11%;"><b>TIFFTAG_FAXMODE</b></p>
2853
2854<p style="margin-left:22%;">Control the operation of the
2855Group 3 codec. Possible values (independent bits that can be
2856combined by or&rsquo;ing them together) are: FAXMODE_CLASSIC
2857(enable old-style format in which the <small>RTC</small> is
2858written at the end of the last strip), FAXMODE_NORTC
2859(opposite of FAXMODE_CLASSIC; also called FAXMODE_CLASSF),
2860FAXMODE_NOEOL (do not write <small>EOL</small> codes at the
2861start of each row of data), FAXMODE_BYTEALIGN (align each
2862encoded row to an 8-bit boundary), FAXMODE_WORDALIGN (align
2863each encoded row to an 16-bit boundary), The default value
2864is dependent on the compression scheme; this pseudo-tag is
2865used by the various G3 and G4 codecs to share code.</p>
2866
2867<p style="margin-left:11%;"><b>TIFFTAG_FAXFILLFUNC</b></p>
2868
2869<p style="margin-left:22%;">Control the function used to
2870convert arrays of black and white runs to packed bit arrays.
2871This hook can be used to image decoded scanlines in
2872multi-bit depth rasters (e.g. for display in colormap mode)
2873or for other purposes. The default value is a pointer to a
2874builtin function that images packed bilevel data.</p>
2875
2876
2877<p style="margin-left:11%;"><b>TIFFTAG_IPTCNEWSPHOTO</b></p>
2878
2879<p style="margin-left:22%;">Tag contaings image metadata
2880per the IPTC newsphoto spec: Headline, captioning, credit,
2881etc... Used by most wire services.</p>
2882
2883<p style="margin-left:11%;"><b>TIFFTAG_PHOTOSHOP</b></p>
2884
2885<p style="margin-left:22%;">Tag contains Photoshop
2886captioning information and metadata. Photoshop uses in
2887parallel and redundantly alongside IPTCNEWSPHOTO
2888information.</p>
2889
2890<p style="margin-left:11%;"><b>TIFFTAG_JPEGQUALITY</b></p>
2891
2892<p style="margin-left:22%;">Control the compression quality
2893level used in the baseline algorithm. Note that quality
2894levels are in the range 0-100 with a default value of
289575.</p>
2896
2897
2898<p style="margin-left:11%;"><b>TIFFTAG_JPEGCOLORMODE</b></p>
2899
2900<p style="margin-left:22%;">Control whether or not
2901conversion is done between RGB and YCbCr colorspaces.
2902Possible values are: JPEGCOLORMODE_RAW (do not convert), and
2903JPEGCOLORMODE_RGB (convert to/from RGB) The default value is
2904JPEGCOLORMODE_RAW.</p>
2905
2906
2907<p style="margin-left:11%;"><b>TIFFTAG_JPEGTABLESMODE</b></p>
2908
2909<p style="margin-left:22%;">Control the information written
2910in the <i>JPEGTables</i> tag. Possible values (independent
2911bits that can be combined by or&rsquo;ing them together)
2912are: JPEGTABLESMODE_QUANT (include quantization tables), and
2913JPEGTABLESMODE_HUFF (include Huffman encoding tables). The
2914default value is
2915JPEGTABLESMODE_QUANT|JPEGTABLESMODE_HUFF.</p>
2916
2917<p style="margin-left:11%;"><b>TIFFTAG_ZIPQUALITY</b></p>
2918
2919<p style="margin-left:22%;">Control the compression
2920technique used by the Deflate codec. Quality levels are in
2921the range 1-9 with larger numbers yielding better
2922compression at the cost of more computation. The default
2923quality level is 6 which yields a good time-space
2924tradeoff.</p>
2925
2926
2927<p style="margin-left:11%;"><b>TIFFTAG_PIXARLOGDATAFMT</b></p>
2928
2929<p style="margin-left:22%;">Control the format of user data
2930passed <i>in</i> to the PixarLog codec when encoding and
2931passed <i>out</i> from when decoding. Possible values are:
2932PIXARLOGDATAFMT_8BIT for 8-bit unsigned pixels,
2933PIXARLOGDATAFMT_8BITABGR for 8-bit unsigned ABGR-ordered
2934pixels, PIXARLOGDATAFMT_11BITLOG for 11-bit log-encoded raw
2935data, PIXARLOGDATAFMT_12BITPICIO for 12-bit PICIO-compatible
2936data, PIXARLOGDATAFMT_16BIT for 16-bit signed samples, and
2937PIXARLOGDATAFMT_FLOAT for 32-bit IEEE floating point
2938samples.</p>
2939
2940
2941<p style="margin-left:11%;"><b>TIFFTAG_PIXARLOGQUALITY</b></p>
2942
2943<p style="margin-left:22%;">Control the compression
2944technique used by the PixarLog codec. This value is treated
2945identically to TIFFTAG_ZIPQUALITY; see the above
2946description.</p>
2947
2948
2949<p style="margin-left:11%;"><b>TIFFTAG_SGILOGDATAFMT</b></p>
2950
2951<p style="margin-left:22%;">Control the format of client
2952data passed <i>in</i> to the SGILog codec when encoding and
2953passed <i>out</i> from when decoding. Possible values are:
2954SGILOGDATAFMT_FLTXYZ for converting between LogLuv and
295532-bit IEEE floating valued XYZ pixels,
2956SGILOGDATAFMT_16BITLUV for 16-bit encoded Luv pixels,
2957SGILOGDATAFMT_32BITRAW and SGILOGDATAFMT_24BITRAW for no
2958conversion of data, SGILOGDATAFMT_8BITRGB for returning
29598-bit RGB data (valid only when decoding LogLuv-encoded
2960data), SGILOGDATAFMT_FLTY for converting between LogL and
296132-bit IEEE floating valued Y pixels, SGILOGDATAFMT_16BITL
2962for 16-bit encoded L pixels, and SGILOGDATAFMT_8BITGRY for
2963returning 8-bit greyscale data (valid only when decoding
2964LogL-encoded data).</p>
2965
2966<a name="DIAGNOSTICS"></a>
2967<h2>DIAGNOSTICS</h2>
2968
2969
2970<p style="margin-left:11%; margin-top: 1em">All error
2971messages are directed through the <i>TIFFError</i> routine.
2972By default messages are directed to <b>stderr</b> in the
2973form: <i>module: message\n.</i> Warning messages are
2974likewise directed through the <i>TIFFWarning</i>
2975routine.</p>
2976
2977<a name="SEE ALSO"></a>
2978<h2>SEE ALSO</h2>
2979
2980
2981
2982<p style="margin-left:11%; margin-top: 1em"><b>fax2tiff</b>(1),
2983<b>gif2tiff</b>(1), <b>pal2rgb</b>(1), <b>ppm2tiff</b>(1),
2984<b>rgb2ycbcr</b>(1), <b>ras2tiff</b>(1), <b>raw2tiff</b>(1),
2985<b>sgi2tiff</b>(1), <b>tiff2bw</b>(1), <b>tiffdither</b>(1),
2986<b>tiffdump</b>(1), <b>tiffcp</b>(1), <b>tiffcmp</b>(1),
2987<b>tiffgt</b>(1), <b>tiffinfo</b>(1), <b>tiffmedian</b>(1),
2988<b>tiffsplit</b>(1), <b>tiffsv</b>(1).</p>
2989
2990<p style="margin-left:11%; margin-top: 1em"><b>Tag Image
2991File Format Specification &mdash; Revision 6.0</b>, an Aldus
2992Technical Memorandum.</p>
2993
2994<p style="margin-left:11%; margin-top: 1em"><b>The Spirit
2995of TIFF Class F</b>, an appendix to the TIFF 5.0
2996specification prepared by Cygnet Technologies.</p>
2997
2998<p style="margin-left:11%; margin-top: 1em">Libtiff library
2999home page: <b>http://www.remotesensing.org/libtiff/</b></p>
3000
3001<a name="BUGS"></a>
3002<h2>BUGS</h2>
3003
3004
3005<p style="margin-left:11%; margin-top: 1em">The library
3006does not support multi-sample images where some samples have
3007different bits/sample.</p>
3008
3009<p style="margin-left:11%; margin-top: 1em">The library
3010does not support random access to compressed data that is
3011organized with more than one row per tile or strip.</p>
3012<hr>
3013</body>
3014</html>
3015