| 1 | <HTML>
|
|---|
| 2 | <HEAD>
|
|---|
| 3 | <TITLE>
|
|---|
| 4 | Changes in TIFF v3.5.7
|
|---|
| 5 | </TITLE>
|
|---|
| 6 | </HEAD>
|
|---|
| 7 |
|
|---|
| 8 | <BODY BGCOLOR=white>
|
|---|
| 9 | <FONT FACE="Helvetica, Arial, Sans">
|
|---|
| 10 | <FONT FACE="Helvetica, Arial, Sans">
|
|---|
| 11 |
|
|---|
| 12 | <BASEFONT SIZE=4>
|
|---|
| 13 | <B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
|
|---|
| 14 | <BASEFONT SIZE=3>
|
|---|
| 15 |
|
|---|
| 16 | <UL>
|
|---|
| 17 | <HR SIZE=4 WIDTH=65% ALIGN=left>
|
|---|
| 18 | <B>Current Version</B>: v3.5.7<BR>
|
|---|
| 19 | <B>Previous Version</B>: <A HREF=v3.5.6-beta.html>v3.5.6 Beta</a><BR>
|
|---|
| 20 | <B>Master FTP Site</B>: <A HREF="ftp://ftp.remotesensing.org/pub/libtiff">ftp.remotesensing.org</a>, directory pub/libtiff</A><BR>
|
|---|
| 21 | <B>Master HTTP Site</B>: <A HREF="http://www.remotesensing.org/libtiff/">http://www.remotesensing.org/libtiff</a>
|
|---|
| 22 | <HR SIZE=4 WIDTH=65% ALIGN=left>
|
|---|
| 23 | </UL>
|
|---|
| 24 |
|
|---|
| 25 | <P>
|
|---|
| 26 | This document describes the changes made to the software between the
|
|---|
| 27 | <I>previous</I> and <I>current</I> versions (see above).
|
|---|
| 28 | If you don't find something listed here, then it was not done in this
|
|---|
| 29 | timeframe, or it was not considered important enough to be mentioned.
|
|---|
| 30 | The following information is located here:
|
|---|
| 31 | <UL>
|
|---|
| 32 | <LI><A HREF="#configure">Changes in the software configuration</A>
|
|---|
| 33 | <LI><A HREF="#libtiff">Changes in libtiff</A>
|
|---|
| 34 | <LI><A HREF="#tools">Changes in the tools</A>
|
|---|
| 35 | <LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
|
|---|
| 36 | </UL>
|
|---|
| 37 | <p>
|
|---|
| 38 | <P><HR WIDTH=65% ALIGN=left>
|
|---|
| 39 |
|
|---|
| 40 | <!--------------------------------------------------------------------------->
|
|---|
| 41 |
|
|---|
| 42 | <A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
|
|---|
| 43 |
|
|---|
| 44 | <UL>
|
|---|
| 45 | <li> libtiff/libtiff.def: Brent Roman submitted new version adding
|
|---|
| 46 | serveral missing entry points. Also add a few other entry points
|
|---|
| 47 | later.
|
|---|
| 48 |
|
|---|
| 49 | <li> configure, Makefile.in, etc: added support for OPTIMIZER being
|
|---|
| 50 | set from config.site.
|
|---|
| 51 | <li> config.guess: updated wholesale to an FSF version apparently
|
|---|
| 52 | from 1998 (as opposed to 1994). This is mainly inspired by
|
|---|
| 53 | providing for MacOS X support.
|
|---|
| 54 |
|
|---|
| 55 | <li> configure/config.site: modified to check if -lm is needed for
|
|---|
| 56 | MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
|
|---|
| 57 | <li> libtiff/tiff.h: Applied hac to try and resolve the problem
|
|---|
| 58 | with the inttypes.h include file on AIX. (Bug 39)
|
|---|
| 59 |
|
|---|
| 60 | <li> configure, *Makefile.in: Various changes to improve configuration
|
|---|
| 61 | for HP/UX specifically, and also in general. (Bug 40) They include:
|
|---|
| 62 | <ul>
|
|---|
| 63 | <li> Try to handle /usr/bin/sh instead of /bin/sh where necessary.
|
|---|
| 64 | <li> Upgrade to HP/UX 10.x+ compiler, linker and dso options.
|
|---|
| 65 | <li> Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP
|
|---|
| 66 | <li> Use -${MAKEFLAGS} in sub makes from makefiles.
|
|---|
| 67 | <li> Fixed SCRIPT_SH/SHELL handling.
|
|---|
| 68 | </ul>
|
|---|
| 69 | <li> configure: Changes for DSO generation on AIX provided by
|
|---|
| 70 | John Marquart <jomarqua@indiana.edu>.
|
|---|
| 71 |
|
|---|
| 72 | <li> configure, libtiff/Makefile.in: Modified to build DSOs properly
|
|---|
| 73 | on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and
|
|---|
| 74 | Keisuke Fujii (fujiik@jlcuxf.kek.jp).
|
|---|
| 75 |
|
|---|
| 76 | <li> configure, libtiff/Makefile.in: applied OpenBSD patches as per bug 61.
|
|---|
| 77 |
|
|---|
| 78 | <li> Makefile.in: added DESTDIR support as per bug 60.
|
|---|
| 79 |
|
|---|
| 80 | <li> libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
|
|---|
| 81 | has been included.
|
|---|
| 82 | <li> man/Makefile.in: add TIFFClientOpen link as per debian submitted
|
|---|
| 83 | bug 66.
|
|---|
| 84 | <li> libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@
|
|---|
| 85 | in two places.
|
|---|
| 86 | </UL>
|
|---|
| 87 |
|
|---|
| 88 | <P><HR WIDTH=65% ALIGN=left>
|
|---|
| 89 |
|
|---|
| 90 | <!--------------------------------------------------------------------------->
|
|---|
| 91 |
|
|---|
| 92 | <A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
|
|---|
| 93 |
|
|---|
| 94 |
|
|---|
| 95 | <UL>
|
|---|
| 96 | <li> tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
|
|---|
| 97 | whether we are encoding or decoding. This is to ensure graceful
|
|---|
| 98 | recovery if TIFFClientOpen() discovers an attempt to open a compressed
|
|---|
| 99 | file for "r+" access, and subsequently close it, as it resets the
|
|---|
| 100 | tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
|
|---|
| 101 | compressor's concept of whether it is in encode or decode mode.
|
|---|
| 102 | <li> tif_luv.c/tiff.h/tiffio.h:
|
|---|
| 103 | New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
|
|---|
| 104 | (greg@shutterfly.com). He writes:
|
|---|
| 105 |
|
|---|
| 106 | <ol>
|
|---|
| 107 | <li> I improved the gamut-mapping function in tif_luv.c for imaginary
|
|---|
| 108 | colors, because some images were being super-saturated on the input
|
|---|
| 109 | side and this resulted in some strange color shifts in the output.
|
|---|
| 110 |
|
|---|
| 111 | <li> I added a psuedotag in tiff.h to control random dithering during
|
|---|
| 112 | LogLuv encoding. This is turned off by default for 32-bit LogLuv and
|
|---|
| 113 | on for 24-bit LogLuv output. Dithering improves the average color
|
|---|
| 114 | accuracy over the image.
|
|---|
| 115 |
|
|---|
| 116 | <li> I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
|
|---|
| 117 | tiffio.h, to expose internal routines for converting between LogLuv and
|
|---|
| 118 | XYZ coordinates. This is helpful for writing more efficient,
|
|---|
| 119 | specialized conversion routines, especially for reading LogLuv files.
|
|---|
| 120 | </ol>
|
|---|
| 121 |
|
|---|
| 122 | <li> libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
|
|---|
| 123 |
|
|---|
| 124 | <li> Added TIFFTAG_COPYRIGHT support.
|
|---|
| 125 | <li> tif_getimage.c: Added support for 16bit minisblack/miniswhite
|
|---|
| 126 | images in RGBA interface.
|
|---|
| 127 | <li> libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per
|
|---|
| 128 | bug 44.
|
|---|
| 129 | <li> libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
|
|---|
| 130 | case of writing TIFF_BYTE/TIFF_SBYTE fields as per bug 43.
|
|---|
| 131 |
|
|---|
| 132 | <li> libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
|
|---|
| 133 | TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
|
|---|
| 134 | force use of uint32 counts instead of short counts.
|
|---|
| 135 |
|
|---|
| 136 | <li> libtiff/tif_dirinfo.c: moved pixar and copyright flags to
|
|---|
| 137 | ensure everything is in order.
|
|---|
| 138 |
|
|---|
| 139 | <li> Integrated experimental OJPEG support from Scott Marovich of HP.
|
|---|
| 140 |
|
|---|
| 141 | <li> libtiff/tif_open.c: Seek back to zero after failed read,
|
|---|
| 142 | before writing header.
|
|---|
| 143 |
|
|---|
| 144 | <li> libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
|
|---|
| 145 | when checking for 64 bit architectures as per bugzilla bug 67.
|
|---|
| 146 | <li> libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
|
|---|
| 147 | in TIFFReadRGBATile() to avoid issues in cases of overlapping
|
|---|
| 148 | buffers. See Bug 69 in Bugzilla.
|
|---|
| 149 | <li> libtiff/tif_getimage.c: Don't complain for CMYK (separated)
|
|---|
| 150 | images with more than four samples per pixel as per bug 73.
|
|---|
| 151 |
|
|---|
| 152 | <li> libtiff/tif_getimage.c: relax handling of contig case where
|
|---|
| 153 | there are extra samples that are supposed to be ignored as per bug 75. This
|
|---|
| 154 | should now work for 8bit greyscale or palletted images.
|
|---|
| 155 |
|
|---|
| 156 | <li> libtiff/tif_packbits.c: fixed memory overrun error as per bug 77.
|
|---|
| 157 |
|
|---|
| 158 | <li> libtiff/tif_getimage.c: Fixed problem with reading strips or
|
|---|
| 159 | tiles that don't start on a tile boundary. Fix contributed by
|
|---|
| 160 | Josep Vallverdu (from HP), and further described in bug 47.
|
|---|
| 161 |
|
|---|
| 162 | <li> libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to
|
|---|
| 163 | always use the "safe" version, even if there is a very slight
|
|---|
| 164 | cost in performance as per bug 54.
|
|---|
| 165 | <li> libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an
|
|---|
| 166 | error about LZW not being available.
|
|---|
| 167 |
|
|---|
| 168 | <li> libtiff/tif_dir.c: propagate failure to initialize compression
|
|---|
| 169 | back from TIFFSetField() as an error status, so applications can
|
|---|
| 170 | detect failure.
|
|---|
| 171 |
|
|---|
| 172 | <li> libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug as per bug 78.
|
|---|
| 173 |
|
|---|
| 174 | <li> libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function.
|
|---|
| 175 | Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory.
|
|---|
| 176 |
|
|---|
| 177 | <li> libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
|
|---|
| 178 | COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
|
|---|
| 179 | in keeping with TIFF 6.0 standard in tiff.h as per bug 83.
|
|---|
| 180 |
|
|---|
| 181 | <li> Added PHOTOMETRIC_ITULAB as per bug 90.
|
|---|
| 182 |
|
|---|
| 183 | </UL>
|
|---|
| 184 |
|
|---|
| 185 | <P><HR WIDTH=65% ALIGN=left>
|
|---|
| 186 |
|
|---|
| 187 | <!-------------------------------------------------------------------------->
|
|---|
| 188 |
|
|---|
| 189 | <A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
|
|---|
| 190 |
|
|---|
| 191 | <UL>
|
|---|
| 192 | <li> Brent Roman contributed updated tiffcp utility (and tiffcp.1)
|
|---|
| 193 | with support for extracting subimages with the ,n syntax, and also
|
|---|
| 194 | adding the -b bias removal flag.
|
|---|
| 195 | <li> tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
|
|---|
| 196 | Bruce A. Mallett, including a faster encoder, fixes for level
|
|---|
| 197 | 2 PostScript, and support for the imagemask operator.
|
|---|
| 198 | <li> fax2ps.c: Helge (libtiff at oldach.net) submitted fix
|
|---|
| 199 | that corrects behaviour for non-Letter paper
|
|---|
| 200 | sizes. (Bug 35) It fixes two problems:
|
|---|
| 201 | <br>
|
|---|
| 202 | Without scaling (-S) the fax is now centered on the page size specified
|
|---|
| 203 | with -H and/or -W. Before, fax2ps was using an obscure and practially
|
|---|
| 204 | useless algorithm to allocate the image relative to Letter sized paper
|
|---|
| 205 | which sometime sled to useless whitespace on the paper, while at the
|
|---|
| 206 | same time cutting of the faxes printable area at the opposite border.
|
|---|
| 207 | <br>
|
|---|
| 208 |
|
|---|
| 209 | Second, scaling now preserves aspect ratio, which makes unusual faxes
|
|---|
| 210 | (in particular short ones) print properly.
|
|---|
| 211 |
|
|---|
| 212 | <li> thumbnail.c: changed default output compression
|
|---|
| 213 | to packbits from LZW since LZW isn't generally available.
|
|---|
| 214 | <li> tiff2rgba.c: added -n flag to avoid emitting alpha component. Also added
|
|---|
| 215 | a man page for tiff2rgba.
|
|---|
| 216 |
|
|---|
| 217 | <li> tiffcmp.c: Fixed multi samples per pixel support for ContigCompare
|
|---|
| 218 | as per bug 53.
|
|---|
| 219 | Updated bug section of tiffcmp.1 to note tiled file issues.
|
|---|
| 220 |
|
|---|
| 221 | <li> libtiff/tif_getimage.c: Fixed so that failure is properly
|
|---|
| 222 | reported by gtTileContig, gtStripContig, gtTileSeparate and
|
|---|
| 223 | gtStripSeparate as per bug 51.
|
|---|
| 224 |
|
|---|
| 225 |
|
|---|
| 226 | </UL>
|
|---|
| 227 |
|
|---|
| 228 | <P><HR WIDTH=65% ALIGN=left>
|
|---|
| 229 |
|
|---|
| 230 | <!--------------------------------------------------------------------------->
|
|---|
| 231 |
|
|---|
| 232 | <A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION KIT:</B></A>
|
|---|
| 233 | <UL>
|
|---|
| 234 | <LI> Rewrote lzw patching process so that is required to enable full
|
|---|
| 235 | LZW support is to drop the tif_lzw.c from the
|
|---|
| 236 | libtiff-lzw-compression-kit over the one in the libtiff directory.
|
|---|
| 237 |
|
|---|
| 238 | <LI> Some changes were made to make recovery from failure to
|
|---|
| 239 | initialize the LZW compressor more graceful.
|
|---|
| 240 |
|
|---|
| 241 | <LI> Note that as distributed libtiff support LZW decompression, but
|
|---|
| 242 | not LZW compression.
|
|---|
| 243 | </UL>
|
|---|
| 244 |
|
|---|
| 245 | <!--------------------------------------------------------------------------->
|
|---|
| 246 |
|
|---|
| 247 | <A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
|
|---|
| 248 | <UL>
|
|---|
| 249 | <li> Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}.
|
|---|
| 250 | </UL>
|
|---|
| 251 |
|
|---|
| 252 | <A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
|
|---|
| 253 |
|
|---|
| 254 | <HR>
|
|---|
| 255 |
|
|---|
| 256 | Last updated $Date: 2004/11/26 14:37:20 $.
|
|---|
| 257 |
|
|---|
| 258 | </BODY>
|
|---|
| 259 | </HTML>
|
|---|