xref: /libtiff-4.0.7/html/v3.5.7.html (revision d4dd6ccc)
13e457fdbSFrank Warmerdam<HTML>
23e457fdbSFrank Warmerdam<HEAD>
33e457fdbSFrank Warmerdam<TITLE>
43e457fdbSFrank WarmerdamChanges in TIFF v3.5.7
53e457fdbSFrank Warmerdam</TITLE>
63e457fdbSFrank Warmerdam</HEAD>
73e457fdbSFrank Warmerdam
83e457fdbSFrank Warmerdam<BODY BGCOLOR=white>
93e457fdbSFrank Warmerdam<FONT FACE="Helvetica, Arial, Sans">
103e457fdbSFrank Warmerdam<FONT FACE="Helvetica, Arial, Sans">
113e457fdbSFrank Warmerdam
123e457fdbSFrank Warmerdam<BASEFONT SIZE=4>
133e457fdbSFrank Warmerdam<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
143e457fdbSFrank Warmerdam<BASEFONT SIZE=3>
153e457fdbSFrank Warmerdam
163e457fdbSFrank Warmerdam<UL>
173e457fdbSFrank Warmerdam<HR SIZE=4 WIDTH=65% ALIGN=left>
183e457fdbSFrank Warmerdam<B>Current Version</B>: v3.5.7<BR>
193e457fdbSFrank Warmerdam<B>Previous Version</B>: <A HREF=v3.5.6-beta.html>v3.5.6 Beta</a><BR>
20*d4dd6cccSBob Friesenhahn<B>Master FTP Site</B>: <A HREF="ftp://download.osgeo.org/libtiff">download.osgeo.org</a>, directory pub/libtiff</A><BR>
21*d4dd6cccSBob Friesenhahn<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
223e457fdbSFrank Warmerdam<HR SIZE=4 WIDTH=65% ALIGN=left>
233e457fdbSFrank Warmerdam</UL>
243e457fdbSFrank Warmerdam
253e457fdbSFrank Warmerdam<P>
263e457fdbSFrank WarmerdamThis document describes the changes made to the software between the
273e457fdbSFrank Warmerdam<I>previous</I> and <I>current</I> versions (see above).
283e457fdbSFrank WarmerdamIf you don't find something listed here, then it was not done in this
293e457fdbSFrank Warmerdamtimeframe, or it was not considered important enough to be mentioned.
303e457fdbSFrank WarmerdamThe following information is located here:
313e457fdbSFrank Warmerdam<UL>
323e457fdbSFrank Warmerdam<LI><A HREF="#configure">Changes in the software configuration</A>
333e457fdbSFrank Warmerdam<LI><A HREF="#libtiff">Changes in libtiff</A>
343e457fdbSFrank Warmerdam<LI><A HREF="#tools">Changes in the tools</A>
353e457fdbSFrank Warmerdam<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
363e457fdbSFrank Warmerdam</UL>
373e457fdbSFrank Warmerdam<p>
383e457fdbSFrank Warmerdam<P><HR WIDTH=65% ALIGN=left>
393e457fdbSFrank Warmerdam
403e457fdbSFrank Warmerdam<!--------------------------------------------------------------------------->
413e457fdbSFrank Warmerdam
423e457fdbSFrank Warmerdam<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
433e457fdbSFrank Warmerdam
443e457fdbSFrank Warmerdam<UL>
453e457fdbSFrank Warmerdam<li> libtiff/libtiff.def: Brent Roman submitted new version adding
463e457fdbSFrank Warmerdamserveral missing entry points.  Also add a few other entry points
473e457fdbSFrank Warmerdamlater.
483e457fdbSFrank Warmerdam
493e457fdbSFrank Warmerdam<li> configure, Makefile.in, etc: added support for OPTIMIZER being
503e457fdbSFrank Warmerdam	set from config.site.
513e457fdbSFrank Warmerdam<li> config.guess: updated wholesale to an FSF version apparently
523e457fdbSFrank Warmerdam	from 1998 (as opposed to 1994).  This is mainly inspired by
533e457fdbSFrank Warmerdam	providing for MacOS X support.
543e457fdbSFrank Warmerdam
553e457fdbSFrank Warmerdam<li> configure/config.site: modified to check if -lm is needed for
563e457fdbSFrank Warmerdam	MACHDEPLIBS if not supplied by config.site.  Needed for Darwin.
573e457fdbSFrank Warmerdam<li> libtiff/tiff.h: Applied hac to try and resolve the problem
583e457fdbSFrank Warmerdam	with the inttypes.h include file on AIX. (Bug 39)
593e457fdbSFrank Warmerdam
603e457fdbSFrank Warmerdam<li> configure, *Makefile.in: Various changes to improve configuration
613e457fdbSFrank Warmerdam	for HP/UX specifically, and also in general.  (Bug 40) They include:
623e457fdbSFrank Warmerdam<ul>
633e457fdbSFrank Warmerdam <li> Try to handle /usr/bin/sh instead of /bin/sh where necessary.
643e457fdbSFrank Warmerdam <li> Upgrade to HP/UX 10.x+ compiler, linker and dso options.
653e457fdbSFrank Warmerdam <li> Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP
663e457fdbSFrank Warmerdam <li> Use -${MAKEFLAGS} in sub makes from makefiles.
673e457fdbSFrank Warmerdam <li> Fixed SCRIPT_SH/SHELL handling.
683e457fdbSFrank Warmerdam</ul>
693e457fdbSFrank Warmerdam<li> configure: Changes for DSO generation on AIX provided by
703e457fdbSFrank Warmerdam	John Marquart <[email protected]>.
713e457fdbSFrank Warmerdam
723e457fdbSFrank Warmerdam<li> configure, libtiff/Makefile.in: Modified to build DSOs properly
733e457fdbSFrank Warmerdam	on Darwin thanks to Robert Krajewski ([email protected]) and
743e457fdbSFrank Warmerdam	Keisuke Fujii ([email protected]).
753e457fdbSFrank Warmerdam
763e457fdbSFrank Warmerdam<li> configure, libtiff/Makefile.in: applied OpenBSD patches as per bug 61.
773e457fdbSFrank Warmerdam
783e457fdbSFrank Warmerdam<li> Makefile.in: added DESTDIR support as per bug 60.
793e457fdbSFrank Warmerdam
803e457fdbSFrank Warmerdam<li> libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
813e457fdbSFrank Warmerdam	has been included.
823e457fdbSFrank Warmerdam<li> man/Makefile.in: add TIFFClientOpen link as per debian submitted
833e457fdbSFrank Warmerdam	bug 66.
843e457fdbSFrank Warmerdam<li> libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@
853e457fdbSFrank Warmerdam	in two places.
863e457fdbSFrank Warmerdam</UL>
873e457fdbSFrank Warmerdam
883e457fdbSFrank Warmerdam<P><HR WIDTH=65% ALIGN=left>
893e457fdbSFrank Warmerdam
903e457fdbSFrank Warmerdam<!--------------------------------------------------------------------------->
913e457fdbSFrank Warmerdam
923e457fdbSFrank Warmerdam<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
933e457fdbSFrank Warmerdam
943e457fdbSFrank Warmerdam
953e457fdbSFrank Warmerdam<UL>
963e457fdbSFrank Warmerdam<li> tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
973e457fdbSFrank Warmerdam	whether we are encoding or decoding.  This is to ensure graceful
983e457fdbSFrank Warmerdam	recovery if TIFFClientOpen() discovers an attempt to open a compressed
993e457fdbSFrank Warmerdam	file for "r+" access, and subsequently close it, as it resets the
1003e457fdbSFrank Warmerdam	tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
1013e457fdbSFrank Warmerdam	compressor's concept of whether it is in encode or decode mode.
1023e457fdbSFrank Warmerdam<li> tif_luv.c/tiff.h/tiffio.h:
1033e457fdbSFrank Warmerdam	New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
1043e457fdbSFrank Warmerdam	([email protected]).  He writes:
1053e457fdbSFrank Warmerdam
1063e457fdbSFrank Warmerdam<ol>
1073e457fdbSFrank Warmerdam	<li> I improved the gamut-mapping function in tif_luv.c for imaginary
1083e457fdbSFrank Warmerdam	colors, because some images were being super-saturated on the input
1093e457fdbSFrank Warmerdam	side and this resulted in some strange color shifts in the output.
1103e457fdbSFrank Warmerdam
1113e457fdbSFrank Warmerdam	<li> I added a psuedotag in tiff.h to control random dithering during
1123e457fdbSFrank Warmerdam	LogLuv encoding.  This is turned off by default for 32-bit LogLuv and
1133e457fdbSFrank Warmerdam	on for 24-bit LogLuv output.  Dithering improves the average color
1143e457fdbSFrank Warmerdam	accuracy over the image.
1153e457fdbSFrank Warmerdam
1163e457fdbSFrank Warmerdam	<li> I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
1173e457fdbSFrank Warmerdam	tiffio.h, to expose internal routines for converting between LogLuv and
1183e457fdbSFrank Warmerdam	XYZ coordinates.  This is helpful for writing more efficient,
1193e457fdbSFrank Warmerdam	specialized conversion routines, especially for reading LogLuv files.
1203e457fdbSFrank Warmerdam</ol>
1213e457fdbSFrank Warmerdam
1223e457fdbSFrank Warmerdam<li> libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
1233e457fdbSFrank Warmerdam
1243e457fdbSFrank Warmerdam<li> Added TIFFTAG_COPYRIGHT support.
1253e457fdbSFrank Warmerdam<li> tif_getimage.c: Added support for 16bit minisblack/miniswhite
1263e457fdbSFrank Warmerdam	images in RGBA interface.
1273e457fdbSFrank Warmerdam<li> libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per
1283e457fdbSFrank Warmerdam	bug 44.
1293e457fdbSFrank Warmerdam<li> libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
1303e457fdbSFrank Warmerdam	case of writing TIFF_BYTE/TIFF_SBYTE fields as per bug 43.
1313e457fdbSFrank Warmerdam
1323e457fdbSFrank Warmerdam<li> libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
1333e457fdbSFrank Warmerdam	TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
1343e457fdbSFrank Warmerdam	force use of uint32 counts instead of short counts.
1353e457fdbSFrank Warmerdam
1363e457fdbSFrank Warmerdam<li> libtiff/tif_dirinfo.c: moved pixar and copyright flags to
1373e457fdbSFrank Warmerdam	ensure everything is in order.
1383e457fdbSFrank Warmerdam
1393e457fdbSFrank Warmerdam<li> Integrated experimental OJPEG support from Scott Marovich of HP.
1403e457fdbSFrank Warmerdam
1413e457fdbSFrank Warmerdam<li> libtiff/tif_open.c: Seek back to zero after failed read,
1423e457fdbSFrank Warmerdam	before writing header.
1433e457fdbSFrank Warmerdam
1443e457fdbSFrank Warmerdam<li> libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
1453e457fdbSFrank Warmerdam	when checking for 64 bit architectures as per bugzilla bug 67.
1463e457fdbSFrank Warmerdam<li> libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
1473e457fdbSFrank Warmerdam	in TIFFReadRGBATile() to avoid issues in cases of overlapping
1483e457fdbSFrank Warmerdam	buffers.  See Bug 69 in Bugzilla.
1493e457fdbSFrank Warmerdam<li> libtiff/tif_getimage.c: Don't complain for CMYK (separated)
1503e457fdbSFrank Warmerdam	images with more than four samples per pixel as per bug 73.
1513e457fdbSFrank Warmerdam
1523e457fdbSFrank Warmerdam<li> libtiff/tif_getimage.c: relax handling of contig case where
1533e457fdbSFrank Warmerdamthere are extra samples that are supposed to be ignored as per bug 75.  This
1543e457fdbSFrank Warmerdamshould now work for 8bit greyscale or palletted images.
1553e457fdbSFrank Warmerdam
1563e457fdbSFrank Warmerdam<li> libtiff/tif_packbits.c: fixed memory overrun error as per bug 77.
1573e457fdbSFrank Warmerdam
1583e457fdbSFrank Warmerdam<li> libtiff/tif_getimage.c: Fixed problem with reading strips or
1593e457fdbSFrank Warmerdamtiles that don't start on a tile boundary.  Fix contributed by
1603e457fdbSFrank WarmerdamJosep Vallverdu (from HP), and further described in bug 47.
1613e457fdbSFrank Warmerdam
1623e457fdbSFrank Warmerdam<li> libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to
1633e457fdbSFrank Warmerdam	always use the "safe" version, even if there is a very slight
1643e457fdbSFrank Warmerdam	cost in performance as per bug 54.
1653e457fdbSFrank Warmerdam<li> libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an
1663e457fdbSFrank Warmerdam	error about LZW not being available.
1673e457fdbSFrank Warmerdam
1683e457fdbSFrank Warmerdam<li> libtiff/tif_dir.c: propagate failure to initialize compression
1693e457fdbSFrank Warmerdam	back from TIFFSetField() as an error status, so applications can
1703e457fdbSFrank Warmerdam	detect failure.
1713e457fdbSFrank Warmerdam
1723e457fdbSFrank Warmerdam<li> libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug as per bug 78.
1733e457fdbSFrank Warmerdam
1743e457fdbSFrank Warmerdam<li> libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function.
1753e457fdbSFrank WarmerdamUpdated TIFFWriteDirectory man page to include TIFFRewriteDirectory.
1763e457fdbSFrank Warmerdam
1773e457fdbSFrank Warmerdam<li> libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
1783e457fdbSFrank Warmerdam	COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
1793e457fdbSFrank Warmerdam	in keeping with TIFF 6.0 standard in tiff.h as per bug 83.
1803e457fdbSFrank Warmerdam
1813e457fdbSFrank Warmerdam<li> Added PHOTOMETRIC_ITULAB as per bug 90.
1823e457fdbSFrank Warmerdam
1833e457fdbSFrank Warmerdam</UL>
1843e457fdbSFrank Warmerdam
1853e457fdbSFrank Warmerdam<P><HR WIDTH=65% ALIGN=left>
1863e457fdbSFrank Warmerdam
1873e457fdbSFrank Warmerdam<!-------------------------------------------------------------------------->
1883e457fdbSFrank Warmerdam
1893e457fdbSFrank Warmerdam<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
1903e457fdbSFrank Warmerdam
1913e457fdbSFrank Warmerdam<UL>
1923e457fdbSFrank Warmerdam<li> Brent Roman contributed updated tiffcp utility (and tiffcp.1)
1933e457fdbSFrank Warmerdam	with support for extracting subimages with the ,n syntax, and also
1943e457fdbSFrank Warmerdam	adding the -b bias removal flag.
1953e457fdbSFrank Warmerdam<li> tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
1963e457fdbSFrank Warmerdam	Bruce A. Mallett, including a faster encoder, fixes for level
1973e457fdbSFrank Warmerdam	2 PostScript, and support for the imagemask operator.
1983e457fdbSFrank Warmerdam<li> fax2ps.c: Helge (libtiff at oldach.net) submitted fix
1993e457fdbSFrank Warmerdamthat corrects behaviour for non-Letter paper
2003e457fdbSFrank Warmerdamsizes. (Bug 35) It fixes two problems:
2013e457fdbSFrank Warmerdam<br>
2023e457fdbSFrank Warmerdam	Without	scaling (-S) the fax is now centered on the page size specified
2033e457fdbSFrank Warmerdam	with -H	and/or -W. Before, fax2ps was using an obscure and practially
2043e457fdbSFrank Warmerdam	useless algorithm to allocate the image relative to Letter sized paper
2053e457fdbSFrank Warmerdam	which sometime sled to useless whitespace on the paper, while at the
2063e457fdbSFrank Warmerdam	same time cutting of the faxes printable area at the opposite border.
2073e457fdbSFrank Warmerdam<br>
2083e457fdbSFrank Warmerdam
2093e457fdbSFrank Warmerdam	Second, scaling now preserves aspect ratio, which makes unusual faxes
2103e457fdbSFrank Warmerdam	(in particular short ones) print properly.
2113e457fdbSFrank Warmerdam
2123e457fdbSFrank Warmerdam<li> thumbnail.c: changed default output compression
2133e457fdbSFrank Warmerdam	to packbits from LZW since LZW isn't generally available.
2143e457fdbSFrank Warmerdam<li> tiff2rgba.c: added -n flag to avoid emitting alpha component. Also added
2153e457fdbSFrank Warmerdama man page for tiff2rgba.
2163e457fdbSFrank Warmerdam
2173e457fdbSFrank Warmerdam<li> tiffcmp.c: Fixed multi samples per pixel support for ContigCompare
2183e457fdbSFrank Warmerdamas per bug 53.
2193e457fdbSFrank WarmerdamUpdated bug section of tiffcmp.1 to note tiled file issues.
2203e457fdbSFrank Warmerdam
2213e457fdbSFrank Warmerdam<li> libtiff/tif_getimage.c: Fixed so that failure is properly
2223e457fdbSFrank Warmerdam	reported by gtTileContig, gtStripContig, gtTileSeparate and
2233e457fdbSFrank Warmerdam	gtStripSeparate as per bug 51.
2243e457fdbSFrank Warmerdam
2253e457fdbSFrank Warmerdam
2263e457fdbSFrank Warmerdam</UL>
2273e457fdbSFrank Warmerdam
2283e457fdbSFrank Warmerdam<P><HR WIDTH=65% ALIGN=left>
2293e457fdbSFrank Warmerdam
2303e457fdbSFrank Warmerdam<!--------------------------------------------------------------------------->
2313e457fdbSFrank Warmerdam
2323e457fdbSFrank Warmerdam<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION KIT:</B></A>
2333e457fdbSFrank Warmerdam<UL>
2343e457fdbSFrank Warmerdam	<LI> Rewrote lzw patching process so that is required to enable full
2353e457fdbSFrank Warmerdam	LZW support is to drop the tif_lzw.c from the
2363e457fdbSFrank Warmerdam	libtiff-lzw-compression-kit over the one in the libtiff directory.
2373e457fdbSFrank Warmerdam
2383e457fdbSFrank Warmerdam	<LI> Some changes were made to make recovery from failure to
2393e457fdbSFrank Warmerdam	initialize the LZW compressor more graceful.
2403e457fdbSFrank Warmerdam
2413e457fdbSFrank Warmerdam	<LI> Note that as distributed libtiff support LZW decompression, but
2423e457fdbSFrank Warmerdam        not LZW compression.
2433e457fdbSFrank Warmerdam</UL>
2443e457fdbSFrank Warmerdam
2453e457fdbSFrank Warmerdam<!--------------------------------------------------------------------------->
2463e457fdbSFrank Warmerdam
2473e457fdbSFrank Warmerdam<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
2483e457fdbSFrank Warmerdam<UL>
2493e457fdbSFrank Warmerdam<li> Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}.
2503e457fdbSFrank Warmerdam</UL>
2513e457fdbSFrank Warmerdam
2523e457fdbSFrank Warmerdam<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
2533e457fdbSFrank Warmerdam
2543e457fdbSFrank Warmerdam<HR>
2553e457fdbSFrank Warmerdam
256*d4dd6cccSBob FriesenhahnLast updated $Date: 2016-09-25 20:05:45 $.
2573e457fdbSFrank Warmerdam
2583e457fdbSFrank Warmerdam</BODY>
2593e457fdbSFrank Warmerdam</HTML>
260