305 lines
11 KiB
HTML
305 lines
11 KiB
HTML
|
<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 14:05:16 $.
|
||
|
|
||
|
</BODY>
|
||
|
</HTML>
|