1NOTE: This directory contains only the 'libtiff' portions of Sam's TIFF
2distribution, as that's all that XV requires. The full TIFF distribution
3(including tools, documentation, etc.) may be had via anonymous ftp on
4sgi.com, in the directory graphics/tiff.
5
6--jhb, 10/31/94
7
8
9$Header: /usr/people/sam/tiff/RCS/README,v 1.22 1994/07/27 01:37:50 sam Exp $
10
11TIFF Software Release
12---------------------
13
14 Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
15 Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
16
17 Permission to use, copy, modify, distribute, and sell this software and
18 its documentation for any purpose is hereby granted without fee, provided
19 that (i) the above copyright notices and this permission notice appear in
20 all copies of the software and related documentation, and (ii) the names of
21 Sam Leffler and Silicon Graphics may not be used in any advertising or
22 publicity relating to the software without the specific, prior written
23 permission of Sam Leffler and Silicon Graphics.
24
25 THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
26 EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
27 WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
28
29 IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
30 ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
31 OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
32 WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
33 LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
34 OF THIS SOFTWARE.
35
36
37
38About This Software
39-------------------
40This is software provides support for the Tag Image Format (TIFF).
41Included is a library, libtiff, for reading and writing TIFF, a
42collection of tools for doing simple manipulations of TIFF images, and
43documentation on the library and tools. A random assortment of
44TIFF-related software contributed by others is also included.
45
46The library, along with associated tool programs, should handle most of
47your needs for reading and writing files that follow the 5.0 or 6.0
48TIFF spec. There is also considerable support for some of the more
49esoteric portions of the 6.0 TIFF spec.
50
51
52How to tell which version you have
53----------------------------------
54The software version can be found by looking at the file named VERSION
55that is located at the top of the source tree; the precise alpha number
56is given in the file tiff.alpha. If you have need to refer to this
57specific software, you should identify it as:
58
59 TIFF <version> <alpha>
60
61where <version> is whatever you get from "cat VERSION" and <alpha> is
62what you get from "cat tiff.alpha".
63
64
65TIFF Support
66------------
67The library, should handle most of your needs for reading and writing
68files that follow the 5.0 or 6.0 TIFF spec. There is also considerable
69support for some of the more esoteric portions of the 6.0 TIFF spec.
70
71 o core requirements
72 both "MM" and "II" byte orders are handled
73 multiple subfiles can be read and written
74 editing is NOT supported in that related subfiles (e.g.
75 a reduced resolution version of an image) are not automatically
76 updated
77
78 Tags handled: NewSubfileType, ImageWidth, ImageLength, Rowsperstrip,
79 StripOffsets, StripByteCounts, XResolution, YResolution,
80 ResolutionUnit.
81 o Class B for bilevel images
82 SamplesPerPixel = 1
83 BitsPerSample = 1
84 Compression = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)
85 PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
86 o Class G for grayscale images
87 SamplesPerPixel = 1
88 BitsPerSample = 4, 8
89 Compression = 1 (none) 5 (LZW)
90 PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
91 o Class P for palette color images
92 SamplesPerPixel = 1
93 BitsPerSample = 1-8
94 Compression = 1 (none) 5 (LZW)
95 PhotometricInterpretation = 3 (Palette RGB)
96 ColorMap
97 o Class R for RGB full color images
98 SamplesPerPixel = 3
99 BitsPerSample = <8,8,8>
100 PlanarConfiguration = 1, 2
101 Compression = 1 (none) 5 (LZW)
102 PhotometricInterpretation = 2 (RGB)
103 o Class F for facsimile (proposed appendix to 5.0 spec)
104 (Class B tags plus...)
105 Compression = 3 (CCITT Group 3), 4 (CCITT Group 4)
106 FillOrder = 1 (MSB), 2 (LSB)
107 Group3Options = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)
108 ImageWidth = 1728, 2048, 2482
109 NewSubFileType = 2
110 ResolutionUnit = 2 (Inch), 3 (Centimeter)
111 PageNumber, XResolution, YResolution, Software,
112 BadFaxLines, CleanFaxData, ConsecutiveBadFaxLines,
113 DateTime, DocumentName, ImageDescription, Orientation
114 o Class S for separated images (in 6.0)
115 SamplesPerPixel = 4
116 PlanarConfiguration = 1, 2
117 Compression = 1 (none), 5 (LZW)
118 PhotometricInterpretation = 5 (Separated)
119 InkSet = 1 (CMYK)
120 DotRange, InkNames, DotRange, TargetPrinter
121 o Class Y for JPEG images (in 6.0)
122 SamplesPerPixel = 3
123 BitsPerSample = <8,8,8>
124 PlanarConfiguration = 1, 2
125 Compression = 1 (none), 5 (LZW), 6 (JPEG)
126 PhotometricInterpretation = 6 (YCbCr)
127 YCbCrCoefficients, YCbCrSubsampling, YCbCrPositioning
128 (colorimetry info from Appendix H; see below)
129 o Class "JPEG" for JPEG images (in 6.0)
130 PhotometricInterpretation = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)
131 (Class Y tags if YCbCr)
132 (Class S tags if CMYK)
133 Compression = 6 (JPEG)
134 JPEGProc = 0 (baseline)
135 JPEGQTables = ... (offsets to per-channel Q matrices)
136 JPEGDCTables = .... (offsets to per-channel DC tables)
137 JPEGACTables = .... (offsets to per-channel AC tables)
138 JPEGRestartInterval
139 o Tiled Images (in 6.0)
140 TileWidth
141 TileLength
142 TileOffsets
143 TileByteCounts
144 o Image Colorimetry Information (in 6.0)
145 WhitePoint
146 PrimaryChromaticities
147 TransferFunction
148 ReferenceBlackWhite
149
150In addition, the library supports some optional compression algorithms
151that are, in some cases, of dubious value.
152 Compression = 32766 NeXT 2-bit encoding
153 Compression = 32809 ThunderScan 4-bit encoding
154
155[JPEG compression should fit into this library simply by replacing
156 the existing stub JPEG compression module. That is, all YCbCr and
157 JPEG-related tags are supported in this version of the library.]
158
159The following tags are recognized and handled by the library (as
160described in the table). If no use is indicated, then the library
161reads and writes the tag, but does not use it internally.
162
163Tag Name Value R/W Library's Use
164-----------------------------------------------------
165NewSubFileType 254 R/W (called SubFileType)
166SubFileType 255 R/W (called OSubFileType)
167ImageWidth 256 R/W lots
168ImageLength 257 R/W lots
169BitsPerSample 258 R/W lots
170Compression 259 R/W choosing compression routines
171PhotometricInterpretation 262 R/W Group 3 and JPEG code
172Thresholding 263 R/W
173CellWidth 264 parsed but ignored
174CellLength 265 parsed but ignored
175FillOrder 266 R/W control bit order
176DocumentName 269 R/W
177ImageDescription 270 R/W
178Make 271 R/W
179Model 272 R/W
180StripOffsets 273 R/W data i/o
181Orientation 274 R/W
182SamplesPerPixel 277 R/W lots
183RowsPerStrip 278 R/W data i/o
184StripByteCounts 279 R/W data i/o
185MinSampleValue 280 R/W
186MaxSampleValue 281 R/W
187XResolution 282 R/W
188YResolution 283 R/W used by Group 3 2d encoding
189PlanarConfiguration 284 R/W data i/o
190PageName 285 R/W
191XPosition 286 R/W
192YPosition 286 R/W
193FreeOffsets 288 parsed but ignored
194FreeByteCounts 289 parsed but ignored
195GrayResponseUnit 290 parsed but ignored
196GrayResponseCurve 291 parsed but ignored
197Group3Options 292 R/W used by Group 3 code
198Group4Options 293 R/W
199ResolutionUnit 296 R/W
200PageNumber 297 R/W
201ColorResponseUnit 300 parsed but ignored
202TransferFunction 301 R/W
203Software 305 R/W
204DateTime 306 R/W
205Artist 315 R/W
206HostComputer 316 R/W
207Predictor 317 R/W used by LZW code
208WhitePoint 318 R/W
209PrimaryChromacities 319 R/W
210ColorMap 320 R/W
211TileWidth 322 R/W data i/o
212TileLength 323 R/W data i/o
213TileOffsets 324 R/W data i/o
214TileByteCounts 324 R/W data i/o
215BadFaxLines 326 R/W
216CleanFaxData 327 R/W
217ConsecutiveBadFaxLines 328 R/W
218InkSet 332 R/W
219InkNames 333 R/W
220DotRange 336 R/W
221TargetPrinter 337 R/W
222ExtraSamples 338 R/W lots
223SampleFormat 339 R/W
224JPEGProc 512 R/W JPEG code
225JPEGQRestartInterval 515 R/W JPEG code
226JPEGQTables 519 R/W JPEG code
227JPEGDCTables 520 R/W JPEG code
228JPEGACTables 521 R/W JPEG code
229YCbCrCoefficients 529 R/W used by TIFFReadRGBAImage
230YCbCrSubsampling 530 R/W tile/strip size calculations
231YCbCrPositioning 531 R/W
232ReferenceBlackWhite 532 R/W
233Matteing 32995 R (obsoleted by ExtraSamples)
234DataType 32996 R (obsoleted by SampleFormat)
235ImageDepth 32997 R/W tile/strip calculations
236TileDepth 32998 R/W tile/strip calculations
237
238The Matteing and DataType tags have been obsoleted by the 6.0
239ExtraSamples and SampleFormat tags. Consult the documentation on the
240ExtraSamples tag and Associated Alpha for elaboration. Note however
241that if you use Associated Alpha, you are expected to save data that is
242pre-multipled by Alpha. If this means nothing to you, check out Porter
243& Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital
244Images".
245
246The ImageDepth tag is a non-standard, but registered tag that specifies
247the Z-dimension of volumetric data. The combination of ImageWidth,
248ImageLength, and ImageDepth, defines a 3D volume of pixels that are
249further specified by BitsPerSample and SamplesPerPixel. The TileDepth
250tag (also non-standard, but registered) can be used to specified a
251subvolume "tiling" of a volume of data.
252
253The JPEG, Colorimetry, and CMYK tags are additions that appear in TIFF
2546.0. Consult the TIFF 6.0 specification included in the doc directory.
255
256
257The TIFF Library
258----------------
259libtiff is the software library that you can use to read and write TIFF
260files (most all the tools use it to do their work). The library
261provides two interfaces, one for strip-based images and one for
262tile-based images. The normal interface is through a simple
263scanline-based interface that works with images organized as strips.
264For example, to read the contents of a file, the following might be used:
265
266 #include "tiffio.h"
267
268 TIFF *tif;
269 unsigned long imagelength;
270 char *buf;
271 long row;
272
273 tif = TIFFOpen("myfile.tif", "r");
274 TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
275 buf = malloc(TIFFScanlineSize(tif));
276 for (row = 0; row < imagelength; row++)
277 TIFFReadScanline(tif, buf, row);
278
279(this example assumes samples are packed contiguously.) Similarly, to
280write a file, something like the following can be used:
281
282 tif = TIFFOpen("myfile.tif", "w");
283 TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, imagewidth);
284 TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_LZW);
285 ... <set other required tags>
286 row = 0;
287 while (...more scanlines to write...)
288 TIFFWriteScanline(tif, buf, row);
289 TIFFClose(tif);
290
291(once again, we assume samples are packed contiguously.)
292
293A 2D tile-based interface is also provided as an alternative to the
294scanline-orientated interfaces. With this interface, an image is
295broken up into a set of rectangular areas called tiles. All the tiles
296in an image have the same size, and the tile width and length must each
297be a multiple of 16 pixels. Tiles are ordered left-to-right and
298top-to-bottom in an image. As for scanlines, samples can be packed
299contiguously or separately. When separated, all the tiles for a sample
300are colocated in the file. That is, all the tiles for sample 0 appear
301before the tiles for sample 1, etc.
302
303Tiles and strips may also be extended in a z dimension to form
304volumes. Data volumes are organized as "slices". That is, all the
305data for a slice is colocated. Volumes whose data is organized in
306tiles can also have a tile depth so that data can be organized in
307cubes.
308
309The interface for tiles is similar to scanlines. To read a tiled image,
310code of the following sort might be used:
311
312 unsigned long imageWidth, imageLength;
313 unsigned long tileWidth, tileLength;
314 unsigned long x, y;
315 char *buf;
316
317 tif = TIFFOpen("myfile.tif", "r");
318 TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
319 TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
320 TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
321 TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
322 buf = malloc(TIFFTileSize(tif));
323 for (y = 0; y < imageLength; y += tileLength)
324 for (x = 0; x < imageWidth; x += tileWidth)
325 TIFFReadTile(tif, buf, x, y, 0);
326
327(once again, we assume samples are packed contiguously.)
328
329Note that unlike the stdio library, libtiff only supports reading OR
330writing of a file. There is also an append mode, but this has not
331really been tested.
332
333
334TIFF Tools
335----------
336There are two device-dependent programs:
337
338o tiffgt is used to display the contents of a TIFF file on a
339 framebuffer. The version included in this release was written
340 for the Silicon Graphics Graphics Library (GL), although it
341 should be a simple matter to tailor it for other systems.
342o tiffsv is used to save all or part of a framebuffer in a
343 TIFF file. Once again, the version of tiffsv included here
344 was written for the GL, but should be tailorable to other devices.
345 (Note, tiffsv uses the readdisplay routine that was introduced
346 in IRIX 4.0.)
347
348The remaining programs should be device-independent:
349
350o tiffinfo formats information about one or more TIFF files
351o tiffdump displays the verbatim contents of the TIFF directory in a
352 file (it's very useful for debugging bogus files that you may get from
353 someone that claims they support TIFF).
354o tiffcp is used to copy, concatenate, and convert TIFF images (e.g.
355 switching from Compression=5 to Compression=1).
356o tiff2ps is a program that converts a TIFF image to PostScript.
357o tiffcmp can be used to compare the contents of two TIFF files (it does
358 not check all the directory information, but does check all the data).
359o tiff2bw is a simple program to convert a color image to grayscale.
360o ras2tiff is a quick hack that converts Sun rasterfile format images to
361 TIFF -- it's less than complete.
362o rgb2ycbcr converts an RGB, grayscale, or bilevel TIFF image to a
363 YCbCr TIFF image.
364o gif2tiff is a quick hack that converts GIF 87a format images to TIFF.
365o ppm2tiff is a quick hack that converts PPM format images to TIFF.
366o fax2tiff converts raw Group 3 facsimile data to TIFF.
367o pal2rgb converts a Palette color image to a full color RGB image by
368 applying the colormap.
369o tiffdither dithers a b&w image into a bilevel image (suitable for
370 use in creating fax files)
371o tiffsplit creates one or more single-image files from a (possibly)
372 multi-image file
373o Finally, tiffmedian is a version of Paul Heckbert's median cut program
374 that reads an RGB TIFF image, and creates a TIFF palette file as a
375 result. It's useful for converting full-color RGB images to 8-bit
376 color for your friends that have cheapo 8-bit framebuffers.
377
378There is also:
379
380o sgi2tiff, a program to convert SGI image files to TIFF. This
381 program is only useful on SGI machines as it uses -limage.
382
383Check out the manual pages for details about the above programs.
384
385
386Contributed Stuff
387-----------------
388The directory contrib has contributed software:
389
390contrib/dbs an X-based TIFF viewer from Dan & Chris Sears (has not
391 been updated in a long time and does not compile)
392contrib/ras two programs by Patrick Naughton for converting
393 between Sun rasterfile format and TIFF (these
394 require libpixrect.a, as opposed to the one in
395 tools that doesn't)
396contrib/fax2ps a program that converts TIFF/F images to an encoded
397 form of PostScript that is faster to print than just
398 dumping a full raster
399contrib/vms scripts and files from Karsten Spang for building
400 the library and tools under VMS
401
402Don't send me mail asking about these programs. Send questions
403and/or bug reports directly to the authors.
404
405
406Documentation
407-------------
408A copy of the 6.0 spec available by public ftp from sgi.com in the
409directory graphics/tiff. TIFF6.ps is the PostScript of the final 6.0
410spec as provided by Aldus. TIFF6.ps.Z is a compress(1)'d version of
411TIFF6.ps.
412
413
414Test Images
415-----------
416Test images are available for most formats supported by the library.
417The images are kept in a separate archive that should be located along
418with this software. For example, if the archive that you retrieve was
419v3.1.tar.Z, then the images should be in the same directory in an
420archive named v3.1pics.tar.Z.
421
422
423Building the Software
424---------------------
425To configure things for your machine, check for Makefiles in the
426libtiff and tools directories for your machine:
427
428 Makefile.aix Makefile for an IBM RS/6000 running AIX 3.x
429 Makefile.alpha Makefile for DEC AlphaAXP, OSF/1 v1.3
430 Makefile.apollo Makefile for an Apollo
431 Makefile.convex Makefile for Convex
432 Makefile.gcc Makefile for use with gcc (the GNU compiler)
433 Makefile.hpux Makefile for HP machines running HP-UX
434 Makefile.lcc Makefile for Atari
435 Makefile.mpw Makefile for an Apple Macintosh with MPW
436 Makefile.next Makefile for NeXT
437 Makefile.sco Makefile for a PC running SCO ODT 2.0 (or similar)
438 Makefile.sgi Makefile for Silicon Graphics
439 Makefile.sun Makefile for a Sun-3 or Sun-4 running SunOS 3.5+
440
441If your machine is not represented, you'll have to make up a Makefile
442that is right for you. In libtiff the important things to setup are
443
444 AR=/usr/bin/ar whatever your library archiver is called
445 RANLIB=/usr/bin/ranlib if you need to ranlib a library
446 IPATH=-I. -I/usr/include/bsd list of directories to search includes
447 CONF=.... configuring optional support
448
449To build the library, just
450
451 cd libtiff; make
452
453In the tools directory, pick the appropriate Makefile as in the libtiff
454directory. If no Makefile is present for your machine, create one, setup
455the MACHALL macro,
456
457 MACHALL=ras2tiff tiffgt tiffsv
458
459and add definitions for how to build tiffgt and tiffsv for your machine
460(if appropriate). Note also that for building the fax2tiff program, the
461CONF_LIBRARY macro in the Makefile MUST agree with the definition in the
462Makefile in the libtiff directory! If this is not true, then fax2tiff
463will not work.
464
465To build the tools library, just
466
467 cd ../tools; make
468
469
470Checking out the Software
471-------------------------
472Assuming you have working versions of tiffgt and tiffsv, you can just
473use them to view any of the sample images (the list is given below).
474Otherwise, you can check out the operation of the library with tiffcp
475and tiffcmp. For example,
476
477 tiffcp -lzw cramps.tif x.tif
478 tiffcmp cramps.tif x.tif
479
480(tiffcmp should be silent if the files compare correctly).
481
482
483Bugs and such....
484-----------------
485This software is free. The only thing that I ask in return is that you
486tell me when you find a problem or fix a bug. I also gladly accept
487software contributions, although I hesitate to include such software in
488my regular stuff if I am personally unable to test it.
489
490A mailing list for users of this software is located on sgi.com.
491If you want to join this mailing list or have a list-related request
492such as getting your name removed from it, send a request to
493
494 tiff-request@sgi.com
495
496For example, to subscribe, send the line "subscribe" in
497the body of your message. The line "help" will return a list of
498the commands understood by the mailing list management software.
499
500Submissions (including bug reports) should be directed to:
501
502 tiff@sgi.com
503
504When corresponding about this software please always specify what
505version you have, what system you are running on.
506
507If all else fails, I can be reached by sending mail to sam@sgi.com
508(but beware that I'm more likely to respond to mail sent to the
509mailing list than mail sent directly to me).
510
511
512Acknowledgements
513----------------
514The LZW algorithm is derived from the compress program (the proper
515attribution is included in the source code). The Group 3 fax stuff
516originated as code from Jef Poskanzer, but has since been rewritten
517several times. The latest version uses an algorithm from Michael
518Marking -- consult libtiff/mkg3states.c for further information.
519Many other people have, by now, helped with bug fixes and code.
520
521
522Warning
523-------
524It appears that Unisys is actively pursuing copyright control on the
525LZW compression algorithm. In particular, users of the LZW compression
526within the TIFF framework. For this reason the TIFF 6.0 spec states
527that LZW compression is not recommended. It is unclear at this time
528what compression algorithm will be used in place of it. I have no idea
529what this means to you or to this library. I make no warranty or
530guarantees with regard to the LZW support in this library.
531
532
533Use and Copyright
534-----------------
535Silicon Graphics has seen fit to allow me to give this work away. It
536is free. There is no support or guarantee of any sort as to its
537operations, correctness, or whatever. If you do anything useful with
538all or parts of it you need to honor the copyright notices. I would
539also be interested in knowing about it and, hopefully, be acknowledged.
540
541 Sam Leffler (sam@sgi.com)
542
543
544
545Table of Contents
546-----------------
547At least the following files are included in the distribution:
548
549libtiff/tiff.h TIFF spec definitions
550libtiff/tiffio.h public TIFF library definitions
551libtiff/tiffiop.h private TIFF library definitions
552libtiff/tiffcomp.h OS-compatibility definitions
553libtiff/t4.h CCITT Group 3 1d code tables+definitions
554libtiff/tif_fax3.h CCITT Group 3-related definitions
555
556libtiff/tif_aux.c auxilary directory-related functions
557libtiff/tif_ccittrle.c CCITT 1d Huffman compression
558libtiff/tif_compress.c list of supported compression algorithms
559libtiff/tif_dir.c directory tag interface code
560libtiff/tif_dirinfo.c directory known tag support code
561libtiff/tif_dirread.c directory reading code
562libtiff/tif_dirwrite.c directory writing code
563libtiff/tif_dumpmode.c "no" compression algorithm
564libtiff/tif_fax3.c CCITT Group 3 fax compression
565libtiff/tif_fax4.c CCITT Group 4 fax compression
566libtiff/tif_getimage.c code to read an entire image into an RGBA raster
567libtiff/tif_jpeg.c JPEG compression placeholder
568libtiff/tif_lzw.c LZW encoding and decoding
569libtiff/tif_next.c NeXT 2-bit decoding algorithm (no encoding)
570libtiff/tif_open.c open and simply query code
571libtiff/tif_packbits.c Packbits encoding and decoding
572libtiff/tif_print.c directory printing support
573libtiff/tif_swab.c byte and bit swapping support
574libtiff/tif_strip.c some strip-related code
575libtiff/tif_thunder.c Thunderscan decoding (no encoding)
576libtiff/tif_tile.c some tile-related code
577libtiff/tif_unix.c UNIX-related OS support
578libtiff/tif_apple.c Apple-related OS support
579libtiff/tif_msdos.c MSDOS-related OS support
580libtiff/tif_vms.c VMS-related OS support
581libtiff/mkg3states.c program to generate G3 decoding state tables
582libtiff/mkspans.c program to generate black-white span tables
583
584tools/getopt.c public domain getopt from Berkeley used by tools
585tools/fax2tiff.c convert raw facsimile data to TIFF
586tools/gif2tiff.c convert GIF87 file to TIFF
587tools/pal2rgb.c convert TIFF Palette image to TIFF RGB
588tools/ppm2tiff.c convert PPM image file to TIFF
589tools/ras2tiff.c convert Sun rasterfile format to TIFF (limited)
590tools/rgb2ybcr.c convert TIFF to YCbCr TIFF
591tools/sgi2tiff.c convert SGI image file to TIFF
592tools/sgigt.c TIFF picture get for SGI framebuffer (uses GL)
593tools/sgisv.c save image on SGI framebuffer in TIFF file
594tools/tiff2bw.c convert color TIFF file to B&W
595tools/tiff2ps.c convert TIFF to PostScript
596tools/tiffcmp.c compare two TIFF files
597tools/tiffcp.c copy/convert TIFF files (used to change compression)
598tools/tiffdither.c dither grayscale to bilevel
599tools/tiffdump.c dump TIFF header and directory tags w/o library
600tools/tiffinfo.c print info about TIFF file(s)
601tools/tiffmedian.c median cut RGB -> palette conversion program
602tools/tiffsplit.c split a multi-page TIFF into single-page TIFFs
603tools/ycbcr.c RGB->YCbCr->RGB test program
604
605man/man1 UNIX manual pages for tools
606man/man3 UNIX manual pages for libtiff functions
607