2020-03-05 05:43:57 -05:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2019-11-03 14:31:26 -05:00
|
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
|
|
<TITLE>
|
|
|
|
Changes in TIFF v4.1.0
|
|
|
|
</TITLE>
|
|
|
|
<STYLE>
|
|
|
|
table, th, td {
|
|
|
|
border: 1px solid black;
|
|
|
|
border-collapse: collapse;
|
|
|
|
}
|
|
|
|
th, td {
|
|
|
|
padding: 8pt;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
th {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
td {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul li {
|
|
|
|
padding: 3pt;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul.a {
|
|
|
|
list-style-type: circle;
|
|
|
|
}
|
|
|
|
|
|
|
|
ul.b {
|
|
|
|
list-style-type: square;
|
|
|
|
}
|
|
|
|
|
|
|
|
ol.c {
|
|
|
|
list-style-type: upper-roman;
|
|
|
|
}
|
|
|
|
|
|
|
|
ol.d {
|
|
|
|
list-style-type: lower-alpha;
|
|
|
|
}
|
|
|
|
|
|
|
|
</STYLE>
|
|
|
|
</HEAD>
|
|
|
|
|
|
|
|
<BODY BGCOLOR=white>
|
|
|
|
<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>: v4.1.0<BR>
|
|
|
|
<B>Previous Version</B>: <A HREF=v4.0.10.html>v4.0.10</a><BR>
|
|
|
|
<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
|
|
|
|
download.osgeo.org</a>, directory pub/libtiff</A><BR>
|
|
|
|
<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
|
|
|
|
http://www.simplesystems.org/libtiff/</a><BR>
|
|
|
|
<B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/">
|
|
|
|
http://libtiff.maptools.org/</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. A change summary is also provided by the
|
|
|
|
ChangeLog file included in the release package and by the Git commit
|
|
|
|
history:
|
|
|
|
<UL>
|
|
|
|
<LI><A HREF="#highlights">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>Make defer strile offset/bytecount loading available at runtime
|
|
|
|
and add per-strile offset/bytecount loading capabilities. Part of
|
|
|
|
this commit makes the behaviour that was previously met when libtiff
|
|
|
|
was compiled with -DDEFER_STRILE_LOAD available for default builds
|
|
|
|
when specifying the new 'D' (Deferred) TIFFOpen() flag. In that
|
|
|
|
mode, the [Tile/Strip][ByteCounts/Offsets] arrays are only loaded
|
|
|
|
when first accessed. This can speed-up the opening of files stored
|
|
|
|
on the network when just metadata retrieval is needed.
|
|
|
|
|
|
|
|
Another addition is the capability of loading only the values of
|
|
|
|
the offset/bytecount of the strile of interest instead of the
|
|
|
|
whole array. This is enabled with the new 'O' (Ondemand) flag of
|
|
|
|
TIFFOpen() (which implies 'D').
|
|
|
|
|
|
|
|
The public TIFFGetStrileOffset[WithErr]() and
|
|
|
|
TIFFGetStrileByteCount[WithErr]() functions have been added to
|
|
|
|
API. They are of particular interest when using sparse files (with
|
|
|
|
offset == bytecount == 0) and you want to detect if a strile is
|
|
|
|
present or not without decompressing the data, or updating an
|
|
|
|
existing sparse file.
|
|
|
|
</LI>
|
|
|
|
|
|
|
|
<LI>The BigTIFF writer now optimizes file size by using 32-bit LONG
|
|
|
|
values (rather than 64-bit) where it is reasonable and safe to do
|
|
|
|
so. Likewise, the 16-bit SHORT type is used when possible for
|
|
|
|
StripByteCounts/TileByteCounts.
|
|
|
|
</LI>
|
|
|
|
|
|
|
|
</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>The WIN32 build now uses tif_win32.c when building with CMake.</LI>
|
|
|
|
|
|
|
|
<LI>Properly set value of HOST_FILLORDER to LSB2MSB for Windows
|
|
|
|
CMake builds. It was not being properly set!</LI>
|
|
|
|
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<P><HR WIDTH=65% ALIGN=left>
|
|
|
|
|
|
|
|
<!--------------------------------------------------------------------------->
|
|
|
|
|
|
|
|
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
|
|
|
|
<LI>
|
|
|
|
Changes in the libtiff library may be viewed on-line
|
|
|
|
at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/libtiff">Libtiff
|
|
|
|
Library Commits</A>.
|
|
|
|
</LI>
|
|
|
|
|
|
|
|
<LI>
|
|
|
|
New function TIFFReadFromUserBuffer() which replaces the use of
|
|
|
|
TIFFReadEncodedStrip()/TIFFReadEncodedTile() when the user can
|
|
|
|
provide the buffer for the input data, for example when he wants
|
|
|
|
to avoid libtiff to read the strile offset/count values from the
|
|
|
|
[Strip|Tile][Offsets/ByteCounts] array.
|
|
|
|
</LI>
|
|
|
|
|
|
|
|
<LI>
|
|
|
|
New functions TIFFDeferStrileArrayWriting() and TIFFForceStrileArrayWriting()
|
|
|
|
Those advanced writing functions must be used in a particular sequence
|
|
|
|
to make their intended effect. Their aim is to control when/where
|
|
|
|
the [Strip/Tile][Offsets/ByteCounts] arrays are written into the file.
|
|
|
|
|
|
|
|
The purpose of this is to generate 'cloud-optimized geotiff' files where
|
|
|
|
the first KB of the file only contain the IFD entries without the potentially
|
|
|
|
large strile arrays. Those are written afterwards.
|
|
|
|
</LI>
|
|
|
|
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<P><HR WIDTH=65% ALIGN=left>
|
|
|
|
|
|
|
|
<!-------------------------------------------------------------------------->
|
|
|
|
|
|
|
|
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
|
|
|
|
<LI>Changes in the libtiff utilities may be viewed on-line
|
|
|
|
at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/tools">Libtiff
|
|
|
|
Tools Commits</A></LI>
|
|
|
|
|
|
|
|
</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>Changes in the libtiff contrib area may be viewed on-line
|
|
|
|
at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/contrib">Libtiff
|
|
|
|
Contrib Commits</A></LI>
|
|
|
|
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|