v4.1.0.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE>
  5. Changes in TIFF v4.1.0
  6. </TITLE>
  7. <STYLE TYPE="text/css">
  8. body {
  9. font-family: Helvetica, Arial, Sans;
  10. }
  11. table, th, td {
  12. border: 1px solid black;
  13. border-collapse: collapse;
  14. }
  15. th, td {
  16. padding: 8pt;
  17. text-align: center;
  18. }
  19. th {
  20. text-align: center;
  21. }
  22. td {
  23. text-align: center;
  24. }
  25. ul li {
  26. padding: 3pt;
  27. }
  28. ul.a {
  29. list-style-type: circle;
  30. }
  31. ul.b {
  32. list-style-type: square;
  33. }
  34. ol.c {
  35. list-style-type: upper-roman;
  36. }
  37. ol.d {
  38. list-style-type: lower-alpha;
  39. }
  40. hr {
  41. width: 65%;
  42. }
  43. </STYLE>
  44. </HEAD>
  45. <BODY BGCOLOR=white>
  46. <BASEFONT SIZE=4>
  47. <B><FONT SIZE="+3">T</FONT>IFF <FONT SIZE="+2">C</FONT>HANGE <FONT SIZE="+2">I</FONT>NFORMATION</B>
  48. <BASEFONT SIZE=3>
  49. <div style="margin-left: 3em">
  50. <HR SIZE=4 ALIGN=left>
  51. <B>Current Version</B>: v4.1.0<BR>
  52. <B>Previous Version</B>: <A HREF=v4.0.10.html>v4.0.10</A><BR>
  53. <B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff"</A>
  54. download.osgeo.org</a>, directory pub/libtiff<BR>
  55. <B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/"</A>
  56. http://www.simplesystems.org/libtiff/</a><BR>
  57. <B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/"</A>
  58. http://libtiff.maptools.org/</a>
  59. <HR SIZE=4 ALIGN=left>
  60. </div>
  61. <P>
  62. This document describes the changes made to the software between the
  63. <I>previous</I> and <I>current</I> versions (see above). If you don't
  64. find something listed here, then it was not done in this timeframe, or
  65. it was not considered important enough to be mentioned. The following
  66. information is located here. A change summary is also provided by the
  67. ChangeLog file included in the release package and by the Git commit
  68. history:
  69. <UL>
  70. <LI><A HREF="#highlights">Major Changes</A>
  71. <LI><A HREF="#configure">Changes in the software configuration</A>
  72. <LI><A HREF="#libtiff">Changes in libtiff</A>
  73. <LI><A HREF="#tools">Changes in the tools</A>
  74. <LI><A HREF="#contrib">Changes in the contrib area</A>
  75. </UL>
  76. <p>
  77. <P><HR ALIGN=left>
  78. <!-- ============================================================= -->
  79. <A NAME="highlights"><B><FONT SIZE="+3">M</FONT>AJOR CHANGES:</B></A>
  80. <UL>
  81. <LI>Make defer strile offset/bytecount loading available at runtime
  82. and add per-strile offset/bytecount loading capabilities. Part of
  83. this commit makes the behaviour that was previously met when libtiff
  84. was compiled with -DDEFER_STRILE_LOAD available for default builds
  85. when specifying the new 'D' (Deferred) TIFFOpen() flag. In that
  86. mode, the [Tile/Strip][ByteCounts/Offsets] arrays are only loaded
  87. when first accessed. This can speed-up the opening of files stored
  88. on the network when just metadata retrieval is needed.
  89. Another addition is the capability of loading only the values of
  90. the offset/bytecount of the strile of interest instead of the
  91. whole array. This is enabled with the new 'O' (Ondemand) flag of
  92. TIFFOpen() (which implies 'D').
  93. The public TIFFGetStrileOffset[WithErr]() and
  94. TIFFGetStrileByteCount[WithErr]() functions have been added to
  95. API. They are of particular interest when using sparse files (with
  96. offset == bytecount == 0) and you want to detect if a strile is
  97. present or not without decompressing the data, or updating an
  98. existing sparse file.
  99. </LI>
  100. <LI>The BigTIFF writer now optimizes file size by using 32-bit LONG
  101. values (rather than 64-bit) where it is reasonable and safe to do
  102. so. Likewise, the 16-bit SHORT type is used when possible for
  103. StripByteCounts/TileByteCounts.
  104. </LI>
  105. </UL>
  106. <P><HR ALIGN=left>
  107. <!-- ============================================================= -->
  108. <A NAME="configure"><B><FONT SIZE="+3">C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
  109. <UL>
  110. <LI>The WIN32 build now uses tif_win32.c when building with CMake.</LI>
  111. <LI>Properly set value of HOST_FILLORDER to LSB2MSB for Windows
  112. CMake builds. It was not being properly set!</LI>
  113. </UL>
  114. <P><HR ALIGN=left>
  115. <!-- ============================================================= -->
  116. <A NAME="libtiff"><B><FONT SIZE="+3">C</FONT>HANGES IN LIBTIFF:</B></A>
  117. <UL>
  118. <LI>
  119. Changes in the libtiff library may be viewed on-line
  120. at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/libtiff">Libtiff
  121. Library Commits</A>.
  122. </LI>
  123. <LI>
  124. New function TIFFReadFromUserBuffer() which replaces the use of
  125. TIFFReadEncodedStrip()/TIFFReadEncodedTile() when the user can
  126. provide the buffer for the input data, for example when he wants
  127. to avoid libtiff to read the strile offset/count values from the
  128. [Strip|Tile][Offsets/ByteCounts] array.
  129. </LI>
  130. <LI>
  131. New functions TIFFDeferStrileArrayWriting() and TIFFForceStrileArrayWriting()
  132. Those advanced writing functions must be used in a particular sequence
  133. to make their intended effect. Their aim is to control when/where
  134. the [Strip/Tile][Offsets/ByteCounts] arrays are written into the file.
  135. The purpose of this is to generate 'cloud-optimized geotiff' files where
  136. the first KB of the file only contain the IFD entries without the potentially
  137. large strile arrays. Those are written afterwards.
  138. </LI>
  139. </UL>
  140. <P><HR ALIGN=left>
  141. <!-- ============================================================= -->
  142. <A NAME="tools"><B><FONT SIZE="+3">C</FONT>HANGES IN THE TOOLS:</B></A>
  143. <UL>
  144. <LI>Changes in the libtiff utilities may be viewed on-line
  145. at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/tools">Libtiff
  146. Tools Commits</A></LI>
  147. </UL>
  148. <P><HR ALIGN=left>
  149. <!-- ============================================================= -->
  150. <A NAME="contrib"><B><FONT SIZE="+3">C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
  151. <UL>
  152. <LI>Changes in the libtiff contrib area may be viewed on-line
  153. at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/contrib">Libtiff
  154. Contrib Commits</A></LI>
  155. </UL>
  156. </BODY>
  157. </HTML>