]>
Commit | Line | Data |
---|---|---|
80ed523f VZ |
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: 2009-08-20 22:57:39 $. | |
302 | ||
303 | </BODY> | |
304 | </HTML> |