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