|
1 <HTML> |
|
2 <HEAD> |
|
3 <TITLE> |
|
4 Changes in TIFF v3.9.0beta |
|
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.9.0beta<BR> |
|
19 <B>Previous Version</B>: <A HREF=v3.8.2.html>v3.8.2</a><BR> |
|
20 <B>Master FTP Site</B>: <A HREF="ftp://ftp.remotesensing.org/pub/libtiff"> |
|
21 ftp.remotesensing.org</a>, directory pub/libtiff</A><BR> |
|
22 <B>Master HTTP Site</B>: <A HREF="http://www.remotesensing.org/libtiff"> |
|
23 http://www.remotesensing.org/libtiff</a> |
|
24 <HR SIZE=4 WIDTH=65% ALIGN=left> |
|
25 </UL> |
|
26 |
|
27 <P> |
|
28 This document describes the changes made to the software between the |
|
29 <I>previous</I> and <I>current</I> versions (see above). |
|
30 If you don't find something listed here, then it was not done in this |
|
31 timeframe, or it was not considered important enough to be mentioned. |
|
32 The following information is located here: |
|
33 <UL> |
|
34 <LI><A HREF="#hightlights">Major Changes</A> |
|
35 <LI><A HREF="#configure">Changes in the software configuration</A> |
|
36 <LI><A HREF="#libtiff">Changes in libtiff</A> |
|
37 <LI><A HREF="#tools">Changes in the tools</A> |
|
38 <LI><A HREF="#contrib">Changes in the contrib area</A> |
|
39 </UL> |
|
40 <p> |
|
41 <P><HR WIDTH=65% ALIGN=left> |
|
42 |
|
43 <!---------------------------------------------------------------------------> |
|
44 |
|
45 <A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A> |
|
46 |
|
47 <UL> |
|
48 <li> New <b>tiffcrop</b> utility contributed by Richard Nolde. |
|
49 <b>tiffcrop</b> does the same as <b>tiffcp</b>, but also can crop, |
|
50 extract, rotate and mirror images. |
|
51 |
|
52 <li> tif_jbig.c: Added support for JBIG compression scheme |
|
53 (34661 code), contributed by Lee Howard. |
|
54 |
|
55 <li> Totally new implementation of OJPEG module from |
|
56 Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files |
|
57 should be supported now that was not supported previously. |
|
58 |
|
59 </UL> |
|
60 |
|
61 |
|
62 <P><HR WIDTH=65% ALIGN=left> |
|
63 <!---------------------------------------------------------------------------> |
|
64 |
|
65 <A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A> |
|
66 |
|
67 <UL> |
|
68 |
|
69 <li> tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific |
|
70 compatibility stuff from Mateusz Loskot. |
|
71 |
|
72 <li> Rename config.h.vc and tif_config.h.vc to config.vc.h and |
|
73 tif_config.vc.h for easier identification by folks using an IDE. |
|
74 |
|
75 <li> configure, configure.ac: OJPEG support enabled by default (i.e., |
|
76 whe the conformant JPEG support enabled). |
|
77 |
|
78 <li> README.vms, Makefile.am, configure.com, libtiff/{Makefile.am, |
|
79 tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: |
|
80 Added support for OpenVMS by Alexey Chupahin. |
|
81 |
|
82 <li> nmake.opt: use /EHsc for VS2005 compatibility. Also define |
|
83 _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. |
|
84 |
|
85 </UL> |
|
86 |
|
87 <P><HR WIDTH=65% ALIGN=left> |
|
88 |
|
89 <!---------------------------------------------------------------------------> |
|
90 |
|
91 <A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A> |
|
92 |
|
93 <UL> |
|
94 <li> tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to |
|
95 bsearch() on a NULL fieldinfo list. |
|
96 (_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL |
|
97 fieldinfo list. |
|
98 |
|
99 <li> tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it |
|
100 will convert from decompressor to compressor or compress to decompress |
|
101 if required by the force arguments. This works around a problem in |
|
102 where the JPEGFixupTestSubsampling() may cause a decompressor to |
|
103 be setup on a directory when later a compressor is required with the |
|
104 force flag set. Occurs with the addtiffo program for instance. |
|
105 |
|
106 <li> tif_dirwrite.c: Fixed swapping of byte arrays stored |
|
107 in-place in tag offsets as per bug |
|
108 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1363"> |
|
109 http://bugzilla.remotesensing.org/show_bug.cgi?id=1363</a> |
|
110 |
|
111 <li> tif_getimage.c: workaround for 'Fractional scanline' error |
|
112 reading OJPEG images with rowsperstrip that is not a multiple of |
|
113 vertical subsampling factor. This bug is mentioned in |
|
114 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1390"> |
|
115 http://bugzilla.remotesensing.org/show_bug.cgi?id=1390</a> and |
|
116 <a href="http://www.asmail.be/msg0054766825.html"> |
|
117 http://www.asmail.be/msg0054766825.html</a> |
|
118 |
|
119 <li> tif_dirread.c: Added special function to handle |
|
120 SubjectDistance EXIF tag as per bug |
|
121 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1362"> |
|
122 http://bugzilla.remotesensing.org/show_bug.cgi?id=1362</a> |
|
123 |
|
124 <li> tif_dirread.c, tif_read.c: Type of the byte counters |
|
125 changed from tsize_t to uint32 to be able to work with data arrays |
|
126 larger than 2GB. Fixes bug |
|
127 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=890"> |
|
128 http://bugzilla.remotesensing.org/show_bug.cgi?id=89</a> |
|
129 Idea submitted by Matt Hancher. |
|
130 |
|
131 <li> tif_dir.c: Workaround for incorrect TIFFs with |
|
132 ExtraSamples == 999 produced by Corel Draw. As per bug |
|
133 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1490"> |
|
134 http://bugzilla.remotesensing.org/show_bug.cgi?id=1490</a> |
|
135 |
|
136 <li> tif_write.c: TIFFAppendToStrip() - clear sorted flag if |
|
137 we move a strip. |
|
138 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1359"> |
|
139 http://bugzilla.remotesensing.org/show_bug.cgi?id=1359</a> |
|
140 |
|
141 <li> tif_fax3.c: Save the state of printdir codec dependent method. |
|
142 |
|
143 <li> tif_jpeg.c: Save the state of printdir codec dependent method |
|
144 as per bug |
|
145 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1273"> |
|
146 http://bugzilla.remotesensing.org/show_bug.cgi?id=1273</a> |
|
147 |
|
148 <li> tif_win32.c: Fixed problem with offset value manipulation |
|
149 as per bug |
|
150 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1322"> |
|
151 http://bugzilla.remotesensing.org/show_bug.cgi?id=1322</a> |
|
152 |
|
153 <li> tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple |
|
154 vulnerabilities, as per Gentoo bug (): |
|
155 <a href="http://bugs.gentoo.org/show_bug.cgi?id=142383"> |
|
156 http://bugs.gentoo.org/show_bug.cgi?id=142383</a> |
|
157 |
|
158 <li> tif_lzw.c, tif_zip.c: Fixed problems with mixing |
|
159 encoding and decoding on the same read-write TIFF handle. The LZW |
|
160 code can now maintain encode and decode state at the same time. The |
|
161 ZIP code will switch back and forth as needed. |
|
162 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=757"> |
|
163 http://bugzilla.remotesensing.org/show_bug.cgi?id=757</a> |
|
164 |
|
165 <li> tif_msdos.c: Avoid handle leak for failed opens. |
|
166 c/o Thierry Pierron |
|
167 |
|
168 <li> tif_dirwrite.c: take care not to flush out buffer of strip/tile |
|
169 data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates |
|
170 to bug report by Peng Gao with black strip at bottom of images. |
|
171 |
|
172 <li> tif_dirwrite.c: make sure to use uint32 for wordcount in |
|
173 TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. |
|
174 It already seems to have been done for other field types. Needed |
|
175 for "tiffset" on files with geotiff ascii text. |
|
176 |
|
177 <li> tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961). |
|
178 |
|
179 <li> tif_dirread.c: Move IFD fetching code in the separate |
|
180 function TIFFFetchDirectory() avoiding code duplication in |
|
181 TIFFReadDirectory() and TIFFReadCustomDirectory(). |
|
182 |
|
183 <li>tif_readdir.c: Added case in EstimateStripByteCounts() for tiled |
|
184 files. Modified TIFFReadDirectory() to not invoke |
|
185 EstimateStripByteCounts() for case where entry 0 and 1 are unequal but |
|
186 one of them is zero. |
|
187 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1204"> |
|
188 http://bugzilla.remotesensing.org/show_bug.cgi?id=1204</a> |
|
189 |
|
190 <li> tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping |
|
191 checking code in the separate function TIFFCheckDirOffset(). |
|
192 |
|
193 <li> tif_aux.c: Added _TIFFCheckRealloc() function. |
|
194 |
|
195 <li> tif_fax3.c: Fixed problems in fax decoder as per bug |
|
196 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1194"> |
|
197 http://bugzilla.remotesensing.org/show_bug.cgi?id=1194</a> |
|
198 |
|
199 <li> tif_jbig.c: Added support for JBIG compression scheme |
|
200 (34661 code) contributed by Lee Howard. As per bug |
|
201 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=896"> |
|
202 http://bugzilla.remotesensing.org/show_bug.cgi?id=896</a> |
|
203 |
|
204 <li> tif_getimage.c: Added support for planarconfig separate |
|
205 non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]). |
|
206 |
|
207 <li> tif_getimage.c: Revision of all RGB(A) put routines: |
|
208 <ul> |
|
209 <li> Conversion of unassociated alpha to associated alpha |
|
210 now done with more performant LUT, and calculation more |
|
211 correct. |
|
212 <li> Conversion of 16bit data to 8bit data now done with |
|
213 more performant LUT, and calculation more correct |
|
214 <li> Bugfix of handling of 16bit RGB with unassociated alpha |
|
215 </ul> |
|
216 |
|
217 <li> tif_ojpeg.c: totally new implementation |
|
218 |
|
219 <li> tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling |
|
220 of OJPEG images in favor of tif_getimage.c native handling of |
|
221 YCbCr and desubsampling. |
|
222 |
|
223 <li> tif_jpeg.c: JPEGVSetField() so that altering the photometric |
|
224 interpretation causes the "upsampled" flag to be recomputed. Fixes |
|
225 peculiar bug where photometric flag had to be set before jpegcolormode |
|
226 flag. |
|
227 |
|
228 </UL> |
|
229 |
|
230 <P><HR WIDTH=65% ALIGN=left> |
|
231 |
|
232 <!--------------------------------------------------------------------------> |
|
233 |
|
234 <A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A> |
|
235 |
|
236 <UL> |
|
237 <li> tiff2ps.c: Added support 16-bit images as per bug |
|
238 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1566"> |
|
239 http://bugzilla.remotesensing.org/show_bug.cgi?id=1566</a>. |
|
240 Patch from William Bader. |
|
241 |
|
242 <li> tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and |
|
243 significant upgrade of the whole utility as per bug |
|
244 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1560"> |
|
245 http://bugzilla.remotesensing.org/show_bug.cgi?id=1560</a>. |
|
246 Now we don't need tiffiop.h in tiff2pdf anymore and will open output |
|
247 PDF file using TIFFClientOpen() machinery as it is implemented |
|
248 by Leon Bottou. |
|
249 |
|
250 <li> tiffcrop.c: New tiffcrop utility contributed |
|
251 by Richard Nolde. As per bug |
|
252 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1383"> |
|
253 http://bugzilla.remotesensing.org/show_bug.cgi?id=1383</a> |
|
254 |
|
255 <li> tiff2pdf.c: Do not assume inches when the resolution units |
|
256 do not specified. As per bug |
|
257 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1366"> |
|
258 http://bugzilla.remotesensing.org/show_bug.cgi?id=1366</a> |
|
259 |
|
260 <li> tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. |
|
261 As per bug |
|
262 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1350"> |
|
263 http://bugzilla.remotesensing.org/show_bug.cgi?id=1350</a> |
|
264 |
|
265 <li> tif2rgba.c: This utility does not work properly on big-endian |
|
266 architectures. It was fixed including the bug |
|
267 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1149"> |
|
268 http://bugzilla.remotesensing.org/show_bug.cgi?id=1149</a> |
|
269 |
|
270 <li> tiff2pdf.c: Fix handling of -q values. |
|
271 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=587"> |
|
272 http://bugzilla.remotesensing.org/show_bug.cgi?id=587</a> |
|
273 |
|
274 <li> tiffcmp.c: Fixed floating point comparison logic as per bug |
|
275 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1191"> |
|
276 http://bugzilla.remotesensing.org/show_bug.cgi?id=1191</a> |
|
277 |
|
278 <li> tiff2pdf.c: Fixed buffer overflow condition in |
|
279 t2p_write_pdf_string() as per bug |
|
280 <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1196"> |
|
281 http://bugzilla.remotesensing.org/show_bug.cgi?id=1196</a> |
|
282 |
|
283 </UL> |
|
284 |
|
285 <P><HR WIDTH=65% ALIGN=left> |
|
286 |
|
287 <!---------------------------------------------------------------------------> |
|
288 |
|
289 <A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A> |
|
290 |
|
291 <UL> |
|
292 |
|
293 <li> contrib/addtiffo/tif_overview.c: Fix problems with odd sized |
|
294 output blocks in TIFF_DownSample_Subsampled() (bug 1542). |
|
295 |
|
296 <li> contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. |
|
297 Though it is still far from the state of being working and useful. |
|
298 |
|
299 </UL> |
|
300 |
|
301 Last updated $Date: 2007/07/13 13:40:12 $. |
|
302 |
|
303 </BODY> |
|
304 </HTML> |