4 Changes in TIFF v3.9
.0beta
9 <FONT FACE=
"Helvetica, Arial, Sans">
10 <FONT FACE=
"Helvetica, Arial, Sans">
13 <B><FONT SIZE=+
3>T
</FONT>IFF
<FONT SIZE=+
2>C
</FONT>HANGE
<FONT SIZE=+
2>I
</FONT>NFORMATION
</B>
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
>
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:
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>
41 <P><HR WIDTH=
65% ALIGN=left
>
43 <!--------------------------------------------------------------------------->
45 <A NAME=
"highlights"><B><FONT SIZE=+
3>M
</FONT>AJOR CHANGES:
</B></A>
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.
52 <li> tif_jbig.c: Added support for JBIG compression scheme
53 (
34661 code), contributed by Lee Howard.
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.
62 <P><HR WIDTH=
65% ALIGN=left
>
63 <!--------------------------------------------------------------------------->
65 <A NAME=
"configure"><B><FONT SIZE=+
3>C
</FONT>HANGES IN THE SOFTWARE CONFIGURATION:
</B></A>
69 <li> tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
70 compatibility stuff from Mateusz Loskot.
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.
75 <li> configure, configure.ac: OJPEG support enabled by default (i.e.,
76 whe the conformant JPEG support enabled).
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.
82 <li> nmake.opt: use /EHsc for VS2005 compatibility. Also define
83 _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
87 <P><HR WIDTH=
65% ALIGN=left
>
89 <!--------------------------------------------------------------------------->
91 <A NAME=
"libtiff"><B><FONT SIZE=+
3>C
</FONT>HANGES IN LIBTIFF:
</B></A>
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
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.
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>
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>
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>
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.
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>
136 <li> tif_write.c: TIFFAppendToStrip() - clear sorted flag if
138 <a href=
"http://bugzilla.remotesensing.org/show_bug.cgi?id=1359">
139 http://bugzilla.remotesensing.org/show_bug.cgi?id=
1359</a>
141 <li> tif_fax3.c: Save the state of printdir codec dependent method.
143 <li> tif_jpeg.c: Save the state of printdir codec dependent method
145 <a href=
"http://bugzilla.remotesensing.org/show_bug.cgi?id=1273">
146 http://bugzilla.remotesensing.org/show_bug.cgi?id=
1273</a>
148 <li> tif_win32.c: Fixed problem with offset value manipulation
150 <a href=
"http://bugzilla.remotesensing.org/show_bug.cgi?id=1322">
151 http://bugzilla.remotesensing.org/show_bug.cgi?id=
1322</a>
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>
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>
165 <li> tif_msdos.c: Avoid handle leak for failed opens.
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.
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.
177 <li> tif_dirinfo.c: Added missed EXIF tag ColorSpace (
40961).
179 <li> tif_dirread.c: Move IFD fetching code in the separate
180 function TIFFFetchDirectory() avoiding code duplication in
181 TIFFReadDirectory() and TIFFReadCustomDirectory().
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
187 <a href=
"http://bugzilla.remotesensing.org/show_bug.cgi?id=1204">
188 http://bugzilla.remotesensing.org/show_bug.cgi?id=
1204</a>
190 <li> tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping
191 checking code in the separate function TIFFCheckDirOffset().
193 <li> tif_aux.c: Added _TIFFCheckRealloc() function.
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>
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>
204 <li> tif_getimage.c: Added support for planarconfig separate
205 non-subsampled YCbCr (i.e. separate YCbCr with subsampling [
1,
1]).
207 <li> tif_getimage.c: Revision of all RGB(A) put routines:
209 <li> Conversion of unassociated alpha to associated alpha
210 now done with more performant LUT, and calculation more
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
217 <li> tif_ojpeg.c: totally new implementation
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.
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
230 <P><HR WIDTH=
65% ALIGN=left
>
232 <!-------------------------------------------------------------------------->
234 <A NAME=
"tools"><B><FONT SIZE=+
3>C
</FONT>HANGES IN THE TOOLS:
</B></A>
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.
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
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>
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>
260 <li> tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
262 <a href=
"http://bugzilla.remotesensing.org/show_bug.cgi?id=1350">
263 http://bugzilla.remotesensing.org/show_bug.cgi?id=
1350</a>
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>
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>
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>
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>
285 <P><HR WIDTH=
65% ALIGN=left
>
287 <!--------------------------------------------------------------------------->
289 <A NAME=
"contrib"><B><FONT SIZE=+
3>C
</FONT>HANGES IN THE CONTRIB AREA:
</B></A>
293 <li> contrib/addtiffo/tif_overview.c: Fix problems with odd sized
294 output blocks in TIFF_DownSample_Subsampled() (bug
1542).
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.
301 Last updated $Date:
2009-
08-
20 22:
57:
39 $.