]>
Commit | Line | Data |
---|---|---|
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> |