1993.08.27 01:50 "v3.3beta002 available on sgi.com", by Sam Leffler
Finally! I've put a new version of the tiff software out on sgi.com in the usual place. This is the first version of a major revision to the library, so I fully expect some problems with compilation on some systems. However, the major focus of the new revision IS portability, so folks should find it easy to get the code working. Some key things about this new code:
- the code is strict ANSI C (or is supposed to be); there is NO support for compilers that do not support ANSI C function prototypes, const, or <stdarg.h>--this will likely mean that you will need gcc on your system to build the software
- the code is intended to work on a wide variety of machine architectures, everything from machines where int is 16 bits to places where long is 64 bits; look at libtiff/README for details on how this is done
- other than contrib/fax2ps none of the contributed software has been touched; I wouldn't be surprised if it didn't build
- many Makefiles are wrong or a guess; I only have access to SGI machines and a Sun4 running SunOS 4.1.3 (where the code checked out correctly with gcc 2.4.5)
- the distribution does not include the PostScript source for the 6.0 spec; you can get this separately in the ftp directory on sgi.com where this software is available
Now, for the functional changes:
$Header: /usr/people/sam/tiff/RCS/CHANGES-v3.3,v 1.3 93/08/26 15:20:39 sam Exp $
TIFF Software "Release" 3.30 (changes since 3.2beta)
General changes:
- the application interfaces have been overhauled to promote portability; a new set of typedefs are defined in tiff.h and tiffio.h and used in the library interfaces; see intro(3T) and libtiff/README for detailed information
Changes in libtiff:
- the internal types used by the library have been reworked for portability to 64-bit architectures (as well as 16-bit machines)
- the library no longer restricts the number of samples/pixel to <= 4
- the ExtraSamples tag is now fully supported; uses of the old Matteing tag should eliminated
- TIFFGetFieldDefaulted now correctly handles the TransferFunction, ReferenceBlackWhite, and ExtraSamples, tags
- ExtraSamples tags incorrectly written with a BYTE type are now accepted for compatiblity with Adobe Photoshop v2.5 (the 6.0 spec requires SHORTs)
- strip chopping is now done for appropriately structured tiled images
- a minor memory leak in the directory writing logic was plugged
- RATIONAL and SRATIONAL values are written with more care to avoid loss of precision
- strip sizes and numbers are now long rather than int
- strip decoding routines now increment the row number as they go so that diagnostic messages are more meaningful
- the YCbCR to RGB conversion algorithms have been improved
- a bug was fixed in the YCbCr to RGB conversion algorithm
- TIFFPrintDirectory no longer displays the Matteing; instead showing the ExtraSamples information
- TIFFSetWriteOffset is a new function that is useful for overwriting image data (added for overwriting retransmitted facsimile pages)
- TIFFIsByteSwapped is a new function that can be used to decide whether or not to byteswap >8-bit data
- Island Graphics-specific tags are defined in tiff.h (but no support is otherwise included)
- the VMS support code handles bogus files written with fixed records
- the Macintosh support code no longer tries to seek off the end of a file
- the unused file machdep.h was removed
Changes in the tools:
- all uses of bzero and bcmp have been replaced by the more common mem* requivalent functions
- ppm2tiff.c has a new -resolution option to specify the image resolution in dot/inch
- sgigt.c has an improved YCbCr to RGB conversion algorithm; it also does a better job of recognizing images that it cannot handle
- sgisv.c now saves separated data correctly
- tiff2ps.c has many changes: the -a option forces all images in a TIFF to be converted as PostScript (not EPS), the -h and -w options are now interpreted as the width and height to use for the printed area, a new -2 option causes PostScript Level II to be generated
- tiffcmp.c has been updated to handle ExtraSamples tags
- tiffcp.c now handles tiled images (thanks to JT Conklin); new -tiledepth and -tilewidth options can be used to specify the dimensions of tiles in output image; -strips and -tiles options can be used to select a specific data organization for the resultant image; a new -1d option forces 1D encoding of the output image when using CCITT Group 3 encoding
- a bug in the handling of packed SHORT and BYTE tag values was fixed (again) in tiffdump.c
Changes in the contrib software:
- the fax2ps program is now more robust in decoding images with errors in the encoded data
The new code is in v3.3beta002.src.tar.Z. Future betas will be named similarly up to the time I decide to make a released v3.3.
sgi% ls -ls
total 9784
67 -r--r--r-- 1 sam engr 33879 Feb 25 1993 3.2.patch
5 -r--r--r-- 1 sam engr 2061 May 24 11:47 HOWTO
3 -r--r--r-- 1 sam engr 1360 May 24 11:54 README
2092 -r--r--r-- 1 sam engr 1070958 Jun 18 1992 TIFF6.ps
549 -r--r--r-- 1 sam engr 280700 Jun 18 1992 TIFF6.ps.Z
97 -r--r--r-- 1 sam engr 49375 Aug 20 16:47 TTN1.ps
145 -r--r--r-- 1 sam engr 74135 Aug 26 00:00 archive.May2593-Aug2593.Z
1446 -r--r--r-- 1 sam engr 740221 Mar 31 1992 v3.0.tar.Z
2992 -r--r--r-- 1 sam engr 1531799 Mar 31 1992 v3.0pics.tar.Z
1505 -r--r--r-- 1 sam engr 770195 Nov 10 1992 v3.2beta.tar.Z
883 -rw-r--r-- 1 sam engr 451621 Aug 26 18:27 v3.3beta002.src.tar.Z
Oh, don't forget that I've updated the documentation. Please RTFM and send me corrections. I hope that I've incorporated everything that folks sent me. I apologize ahead of time for anything that I've not included (my tiff folder grew to >4000 messages and I stopped scanning it :-)).
Sam