0
|
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>
|