v3.5.7.html 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE>
  5. Changes in TIFF v3.5.7
  6. </TITLE>
  7. </HEAD>
  8. <BODY BGCOLOR=white>
  9. <FONT FACE="Helvetica, Arial, Sans">
  10. <FONT FACE="Helvetica, Arial, Sans">
  11. <BASEFONT SIZE=4>
  12. <B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
  13. <BASEFONT SIZE=3>
  14. <UL>
  15. <HR SIZE=4 WIDTH=65% ALIGN=left>
  16. <B>Current Version</B>: v3.5.7<BR>
  17. <B>Previous Version</B>: <A HREF=v3.5.6-beta.html>v3.5.6 Beta</a><BR>
  18. <B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">download.osgeo.org</a>, directory pub/libtiff</A><BR>
  19. <B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
  20. <HR SIZE=4 WIDTH=65% ALIGN=left>
  21. </UL>
  22. <P>
  23. This document describes the changes made to the software between the
  24. <I>previous</I> and <I>current</I> versions (see above).
  25. If you don't find something listed here, then it was not done in this
  26. timeframe, or it was not considered important enough to be mentioned.
  27. The following information is located here:
  28. <UL>
  29. <LI><A HREF="#configure">Changes in the software configuration</A>
  30. <LI><A HREF="#libtiff">Changes in libtiff</A>
  31. <LI><A HREF="#tools">Changes in the tools</A>
  32. <LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
  33. </UL>
  34. <p>
  35. <P><HR WIDTH=65% ALIGN=left>
  36. <!--------------------------------------------------------------------------->
  37. <A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
  38. <UL>
  39. <li> libtiff/libtiff.def: Brent Roman submitted new version adding
  40. several missing entry points. Also add a few other entry points
  41. later.
  42. <li> configure, Makefile.in, etc: added support for OPTIMIZER being
  43. set from config.site.
  44. <li> config.guess: updated wholesale to an FSF version apparently
  45. from 1998 (as opposed to 1994). This is mainly inspired by
  46. providing for MacOS X support.
  47. <li> configure/config.site: modified to check if -lm is needed for
  48. MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
  49. <li> libtiff/tiff.h: Applied hac to try and resolve the problem
  50. with the inttypes.h include file on AIX. (Bug 39)
  51. <li> configure, *Makefile.in: Various changes to improve configuration
  52. for HP/UX specifically, and also in general. (Bug 40) They include:
  53. <ul>
  54. <li> Try to handle /usr/bin/sh instead of /bin/sh where necessary.
  55. <li> Upgrade to HP/UX 10.x+ compiler, linker and dso options.
  56. <li> Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP
  57. <li> Use -${MAKEFLAGS} in sub makes from makefiles.
  58. <li> Fixed SCRIPT_SH/SHELL handling.
  59. </ul>
  60. <li> configure: Changes for DSO generation on AIX provided by
  61. John Marquart <jomarqua@indiana.edu>.
  62. <li> configure, libtiff/Makefile.in: Modified to build DSOs properly
  63. on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and
  64. Keisuke Fujii (fujiik@jlcuxf.kek.jp).
  65. <li> configure, libtiff/Makefile.in: applied OpenBSD patches as per bug 61.
  66. <li> Makefile.in: added DESTDIR support as per bug 60.
  67. <li> libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
  68. has been included.
  69. <li> man/Makefile.in: add TIFFClientOpen link as per debian submitted
  70. bug 66.
  71. <li> libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@
  72. in two places.
  73. </UL>
  74. <P><HR WIDTH=65% ALIGN=left>
  75. <!--------------------------------------------------------------------------->
  76. <A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
  77. <UL>
  78. <li> tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
  79. whether we are encoding or decoding. This is to ensure graceful
  80. recovery if TIFFClientOpen() discovers an attempt to open a compressed
  81. file for "r+" access, and subsequently close it, as it resets the
  82. tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
  83. compressor's concept of whether it is in encode or decode mode.
  84. <li> tif_luv.c/tiff.h/tiffio.h:
  85. New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
  86. (greg@shutterfly.com). He writes:
  87. <ol>
  88. <li> I improved the gamut-mapping function in tif_luv.c for imaginary
  89. colors, because some images were being super-saturated on the input
  90. side and this resulted in some strange color shifts in the output.
  91. <li> I added a psuedotag in tiff.h to control random dithering during
  92. LogLuv encoding. This is turned off by default for 32-bit LogLuv and
  93. on for 24-bit LogLuv output. Dithering improves the average color
  94. accuracy over the image.
  95. <li> I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
  96. tiffio.h, to expose internal routines for converting between LogLuv and
  97. XYZ coordinates. This is helpful for writing more efficient,
  98. specialized conversion routines, especially for reading LogLuv files.
  99. </ol>
  100. <li> libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
  101. <li> Added TIFFTAG_COPYRIGHT support.
  102. <li> tif_getimage.c: Added support for 16bit minisblack/miniswhite
  103. images in RGBA interface.
  104. <li> libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per
  105. bug 44.
  106. <li> libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
  107. case of writing TIFF_BYTE/TIFF_SBYTE fields as per bug 43.
  108. <li> libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
  109. TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
  110. force use of uint32 counts instead of short counts.
  111. <li> libtiff/tif_dirinfo.c: moved pixar and copyright flags to
  112. ensure everything is in order.
  113. <li> Integrated experimental OJPEG support from Scott Marovich of HP.
  114. <li> libtiff/tif_open.c: Seek back to zero after failed read,
  115. before writing header.
  116. <li> libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
  117. when checking for 64 bit architectures as per bugzilla bug 67.
  118. <li> libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
  119. in TIFFReadRGBATile() to avoid issues in cases of overlapping
  120. buffers. See Bug 69 in Bugzilla.
  121. <li> libtiff/tif_getimage.c: Don't complain for CMYK (separated)
  122. images with more than four samples per pixel as per bug 73.
  123. <li> libtiff/tif_getimage.c: relax handling of contig case where
  124. there are extra samples that are supposed to be ignored as per bug 75. This
  125. should now work for 8bit greyscale or paletted images.
  126. <li> libtiff/tif_packbits.c: fixed memory overrun error as per bug 77.
  127. <li> libtiff/tif_getimage.c: Fixed problem with reading strips or
  128. tiles that don't start on a tile boundary. Fix contributed by
  129. Josep Vallverdu (from HP), and further described in bug 47.
  130. <li> libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to
  131. always use the "safe" version, even if there is a very slight
  132. cost in performance as per bug 54.
  133. <li> libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an
  134. error about LZW not being available.
  135. <li> libtiff/tif_dir.c: propagate failure to initialize compression
  136. back from TIFFSetField() as an error status, so applications can
  137. detect failure.
  138. <li> libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug as per bug 78.
  139. <li> libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function.
  140. Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory.
  141. <li> libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
  142. COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
  143. in keeping with TIFF 6.0 standard in tiff.h as per bug 83.
  144. <li> Added PHOTOMETRIC_ITULAB as per bug 90.
  145. </UL>
  146. <P><HR WIDTH=65% ALIGN=left>
  147. <!-------------------------------------------------------------------------->
  148. <A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
  149. <UL>
  150. <li> Brent Roman contributed updated tiffcp utility (and tiffcp.1)
  151. with support for extracting subimages with the ,n syntax, and also
  152. adding the -b bias removal flag.
  153. <li> tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
  154. Bruce A. Mallett, including a faster encoder, fixes for level
  155. 2 PostScript, and support for the imagemask operator.
  156. <li> fax2ps.c: Helge (libtiff at oldach.net) submitted fix
  157. that corrects behaviour for non-Letter paper
  158. sizes. (Bug 35) It fixes two problems:
  159. <br>
  160. Without scaling (-S) the fax is now centered on the page size specified
  161. with -H and/or -W. Before, fax2ps was using an obscure and practically
  162. useless algorithm to allocate the image relative to Letter sized paper
  163. which sometime sled to useless whitespace on the paper, while at the
  164. same time cutting of the faxes printable area at the opposite border.
  165. <br>
  166. Second, scaling now preserves aspect ratio, which makes unusual faxes
  167. (in particular short ones) print properly.
  168. <li> thumbnail.c: changed default output compression
  169. to packbits from LZW since LZW isn't generally available.
  170. <li> tiff2rgba.c: added -n flag to avoid emitting alpha component. Also added
  171. a man page for tiff2rgba.
  172. <li> tiffcmp.c: Fixed multi samples per pixel support for ContigCompare
  173. as per bug 53.
  174. Updated bug section of tiffcmp.1 to note tiled file issues.
  175. <li> libtiff/tif_getimage.c: Fixed so that failure is properly
  176. reported by gtTileContig, gtStripContig, gtTileSeparate and
  177. gtStripSeparate as per bug 51.
  178. </UL>
  179. <P><HR WIDTH=65% ALIGN=left>
  180. <!--------------------------------------------------------------------------->
  181. <A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION KIT:</B></A>
  182. <UL>
  183. <LI> Rewrote lzw patching process so that is required to enable full
  184. LZW support is to drop the tif_lzw.c from the
  185. libtiff-lzw-compression-kit over the one in the libtiff directory.
  186. <LI> Some changes were made to make recovery from failure to
  187. initialize the LZW compressor more graceful.
  188. <LI> Note that as distributed libtiff support LZW decompression, but
  189. not LZW compression.
  190. </UL>
  191. <!--------------------------------------------------------------------------->
  192. <A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
  193. <UL>
  194. <li> Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}.
  195. </UL>
  196. <A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
  197. <HR>
  198. Last updated $Date: 2016-09-25 20:05:45 $.
  199. </BODY>
  200. </HTML>