| 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>
|
|---|