<HTML> | |
<HEAD> | |
<TITLE> | |
Changes in TIFF v3.9.0beta | |
</TITLE> | |
</HEAD> | |
<BODY BGCOLOR=white> | |
<FONT FACE="Helvetica, Arial, Sans"> | |
<FONT FACE="Helvetica, Arial, Sans"> | |
<BASEFONT SIZE=4> | |
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B> | |
<BASEFONT SIZE=3> | |
<UL> | |
<HR SIZE=4 WIDTH=65% ALIGN=left> | |
<B>Current Version</B>: v3.9.0beta<BR> | |
<B>Previous Version</B>: <A HREF=v3.8.2.html>v3.8.2</a><BR> | |
<B>Master FTP Site</B>: <A HREF="ftp://ftp.remotesensing.org/pub/libtiff"> | |
ftp.remotesensing.org</a>, directory pub/libtiff</A><BR> | |
<B>Master HTTP Site</B>: <A HREF="http://www.remotesensing.org/libtiff"> | |
http://www.remotesensing.org/libtiff</a> | |
<HR SIZE=4 WIDTH=65% ALIGN=left> | |
</UL> | |
<P> | |
This document describes the changes made to the software between the | |
<I>previous</I> and <I>current</I> versions (see above). | |
If you don't find something listed here, then it was not done in this | |
timeframe, or it was not considered important enough to be mentioned. | |
The following information is located here: | |
<UL> | |
<LI><A HREF="#hightlights">Major Changes</A> | |
<LI><A HREF="#configure">Changes in the software configuration</A> | |
<LI><A HREF="#libtiff">Changes in libtiff</A> | |
<LI><A HREF="#tools">Changes in the tools</A> | |
<LI><A HREF="#contrib">Changes in the contrib area</A> | |
</UL> | |
<p> | |
<P><HR WIDTH=65% ALIGN=left> | |
<!---------------------------------------------------------------------------> | |
<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A> | |
<UL> | |
<li> New <b>tiffcrop</b> utility contributed by Richard Nolde. | |
<b>tiffcrop</b> does the same as <b>tiffcp</b>, but also can crop, | |
extract, rotate and mirror images. | |
<li> tif_jbig.c: Added support for JBIG compression scheme | |
(34661 code), contributed by Lee Howard. | |
<li> Totally new implementation of OJPEG module from | |
Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files | |
should be supported now that was not supported previously. | |
</UL> | |
<P><HR WIDTH=65% ALIGN=left> | |
<!---------------------------------------------------------------------------> | |
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A> | |
<UL> | |
<li> tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific | |
compatibility stuff from Mateusz Loskot. | |
<li> Rename config.h.vc and tif_config.h.vc to config.vc.h and | |
tif_config.vc.h for easier identification by folks using an IDE. | |
<li> configure, configure.ac: OJPEG support enabled by default (i.e., | |
whe the conformant JPEG support enabled). | |
<li> README.vms, Makefile.am, configure.com, libtiff/{Makefile.am, | |
tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: | |
Added support for OpenVMS by Alexey Chupahin. | |
<li> nmake.opt: use /EHsc for VS2005 compatibility. Also define | |
_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. | |
</UL> | |
<P><HR WIDTH=65% ALIGN=left> | |
<!---------------------------------------------------------------------------> | |
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A> | |
<UL> | |
<li> tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to | |
bsearch() on a NULL fieldinfo list. | |
(_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL | |
fieldinfo list. | |
<li> tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it | |
will convert from decompressor to compressor or compress to decompress | |
if required by the force arguments. This works around a problem in | |
where the JPEGFixupTestSubsampling() may cause a decompressor to | |
be setup on a directory when later a compressor is required with the | |
force flag set. Occurs with the addtiffo program for instance. | |
<li> tif_dirwrite.c: Fixed swapping of byte arrays stored | |
in-place in tag offsets as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1363"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1363</a> | |
<li> tif_getimage.c: workaround for 'Fractional scanline' error | |
reading OJPEG images with rowsperstrip that is not a multiple of | |
vertical subsampling factor. This bug is mentioned in | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1390"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1390</a> and | |
<a href="http://www.asmail.be/msg0054766825.html"> | |
http://www.asmail.be/msg0054766825.html</a> | |
<li> tif_dirread.c: Added special function to handle | |
SubjectDistance EXIF tag as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1362"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1362</a> | |
<li> tif_dirread.c, tif_read.c: Type of the byte counters | |
changed from tsize_t to uint32 to be able to work with data arrays | |
larger than 2GB. Fixes bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=890"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=89</a> | |
Idea submitted by Matt Hancher. | |
<li> tif_dir.c: Workaround for incorrect TIFFs with | |
ExtraSamples == 999 produced by Corel Draw. As per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1490"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1490</a> | |
<li> tif_write.c: TIFFAppendToStrip() - clear sorted flag if | |
we move a strip. | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1359"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1359</a> | |
<li> tif_fax3.c: Save the state of printdir codec dependent method. | |
<li> tif_jpeg.c: Save the state of printdir codec dependent method | |
as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1273"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1273</a> | |
<li> tif_win32.c: Fixed problem with offset value manipulation | |
as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1322"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1322</a> | |
<li> tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple | |
vulnerabilities, as per Gentoo bug (): | |
<a href="http://bugs.gentoo.org/show_bug.cgi?id=142383"> | |
http://bugs.gentoo.org/show_bug.cgi?id=142383</a> | |
<li> tif_lzw.c, tif_zip.c: Fixed problems with mixing | |
encoding and decoding on the same read-write TIFF handle. The LZW | |
code can now maintain encode and decode state at the same time. The | |
ZIP code will switch back and forth as needed. | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=757"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=757</a> | |
<li> tif_msdos.c: Avoid handle leak for failed opens. | |
c/o Thierry Pierron | |
<li> tif_dirwrite.c: take care not to flush out buffer of strip/tile | |
data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates | |
to bug report by Peng Gao with black strip at bottom of images. | |
<li> tif_dirwrite.c: make sure to use uint32 for wordcount in | |
TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. | |
It already seems to have been done for other field types. Needed | |
for "tiffset" on files with geotiff ascii text. | |
<li> tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961). | |
<li> tif_dirread.c: Move IFD fetching code in the separate | |
function TIFFFetchDirectory() avoiding code duplication in | |
TIFFReadDirectory() and TIFFReadCustomDirectory(). | |
<li>tif_readdir.c: Added case in EstimateStripByteCounts() for tiled | |
files. Modified TIFFReadDirectory() to not invoke | |
EstimateStripByteCounts() for case where entry 0 and 1 are unequal but | |
one of them is zero. | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1204"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1204</a> | |
<li> tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping | |
checking code in the separate function TIFFCheckDirOffset(). | |
<li> tif_aux.c: Added _TIFFCheckRealloc() function. | |
<li> tif_fax3.c: Fixed problems in fax decoder as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1194"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1194</a> | |
<li> tif_jbig.c: Added support for JBIG compression scheme | |
(34661 code) contributed by Lee Howard. As per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=896"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=896</a> | |
<li> tif_getimage.c: Added support for planarconfig separate | |
non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]). | |
<li> tif_getimage.c: Revision of all RGB(A) put routines: | |
<ul> | |
<li> Conversion of unassociated alpha to associated alpha | |
now done with more performant LUT, and calculation more | |
correct. | |
<li> Conversion of 16bit data to 8bit data now done with | |
more performant LUT, and calculation more correct | |
<li> Bugfix of handling of 16bit RGB with unassociated alpha | |
</ul> | |
<li> tif_ojpeg.c: totally new implementation | |
<li> tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling | |
of OJPEG images in favor of tif_getimage.c native handling of | |
YCbCr and desubsampling. | |
<li> tif_jpeg.c: JPEGVSetField() so that altering the photometric | |
interpretation causes the "upsampled" flag to be recomputed. Fixes | |
peculiar bug where photometric flag had to be set before jpegcolormode | |
flag. | |
</UL> | |
<P><HR WIDTH=65% ALIGN=left> | |
<!--------------------------------------------------------------------------> | |
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A> | |
<UL> | |
<li> tiff2ps.c: Added support 16-bit images as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1566"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1566</a>. | |
Patch from William Bader. | |
<li> tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and | |
significant upgrade of the whole utility as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1560"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1560</a>. | |
Now we don't need tiffiop.h in tiff2pdf anymore and will open output | |
PDF file using TIFFClientOpen() machinery as it is implemented | |
by Leon Bottou. | |
<li> tiffcrop.c: New tiffcrop utility contributed | |
by Richard Nolde. As per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1383"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1383</a> | |
<li> tiff2pdf.c: Do not assume inches when the resolution units | |
do not specified. As per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1366"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1366</a> | |
<li> tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. | |
As per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1350"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1350</a> | |
<li> tif2rgba.c: This utility does not work properly on big-endian | |
architectures. It was fixed including the bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1149"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1149</a> | |
<li> tiff2pdf.c: Fix handling of -q values. | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=587"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=587</a> | |
<li> tiffcmp.c: Fixed floating point comparison logic as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1191"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1191</a> | |
<li> tiff2pdf.c: Fixed buffer overflow condition in | |
t2p_write_pdf_string() as per bug | |
<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1196"> | |
http://bugzilla.remotesensing.org/show_bug.cgi?id=1196</a> | |
</UL> | |
<P><HR WIDTH=65% ALIGN=left> | |
<!---------------------------------------------------------------------------> | |
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A> | |
<UL> | |
<li> contrib/addtiffo/tif_overview.c: Fix problems with odd sized | |
output blocks in TIFF_DownSample_Subsampled() (bug 1542). | |
<li> contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. | |
Though it is still far from the state of being working and useful. | |
</UL> | |
Last updated $Date: 2007/07/13 13:40:12 $. | |
</BODY> | |
</HTML> |