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://download.osgeo.org/libtiff"> 21download.osgeo.org</a>, directory pub/libtiff</A><BR> 22<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/"> 23http://www.simplesystems.org/libtiff/</a> 24<HR SIZE=4 WIDTH=65% ALIGN=left> 25</UL> 26 27<P> 28This document describes the changes made to the software between the 29<I>previous</I> and <I>current</I> versions (see above). 30If you don't find something listed here, then it was not done in this 31timeframe, or it was not considered important enough to be mentioned. 32The 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 301Last updated $Date: 2016-09-25 20:05:46 $. 302 303</BODY> 304</HTML> 305