| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE>
- Changes in TIFF v4.1.0
- </TITLE>
- <STYLE TYPE="text/css">
- body {
- font-family: Helvetica, Arial, Sans;
- }
- 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;
- }
- hr {
- width: 65%;
- }
- </STYLE>
- </HEAD>
- <BODY BGCOLOR=white>
- <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>
- <div style="margin-left: 3em">
- <HR SIZE=4 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"</A>
- download.osgeo.org</a>, directory pub/libtiff<BR>
- <B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/"</A>
- http://www.simplesystems.org/libtiff/</a><BR>
- <B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/"</A>
- http://libtiff.maptools.org/</a>
- <HR SIZE=4 ALIGN=left>
- </div>
- <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 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 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 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 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 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>
|