v3.9.0beta.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE>
  5. Changes in TIFF v3.9.0beta
  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.9.0beta<BR>
  17. <B>Previous Version</B>: <A HREF=v3.8.2.html>v3.8.2</a><BR>
  18. <B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
  19. download.osgeo.org</a>, directory pub/libtiff</A><BR>
  20. <B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
  21. http://www.simplesystems.org/libtiff/</a>
  22. <HR SIZE=4 WIDTH=65% ALIGN=left>
  23. </UL>
  24. <P>
  25. This document describes the changes made to the software between the
  26. <I>previous</I> and <I>current</I> versions (see above).
  27. If you don't find something listed here, then it was not done in this
  28. timeframe, or it was not considered important enough to be mentioned.
  29. The following information is located here:
  30. <UL>
  31. <LI><A HREF="#highlights">Major Changes</A>
  32. <LI><A HREF="#configure">Changes in the software configuration</A>
  33. <LI><A HREF="#libtiff">Changes in libtiff</A>
  34. <LI><A HREF="#tools">Changes in the tools</A>
  35. <LI><A HREF="#contrib">Changes in the contrib area</A>
  36. </UL>
  37. <p>
  38. <P><HR WIDTH=65% ALIGN=left>
  39. <!--------------------------------------------------------------------------->
  40. <A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
  41. <UL>
  42. <li> New <b>tiffcrop</b> utility contributed by Richard Nolde.
  43. <b>tiffcrop</b> does the same as <b>tiffcp</b>, but also can crop,
  44. extract, rotate and mirror images.
  45. <li> tif_jbig.c: Added support for JBIG compression scheme
  46. (34661 code), contributed by Lee Howard.
  47. <li> Totally new implementation of OJPEG module from
  48. Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files
  49. should be supported now that was not supported previously.
  50. </UL>
  51. <P><HR WIDTH=65% ALIGN=left>
  52. <!--------------------------------------------------------------------------->
  53. <A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
  54. <UL>
  55. <li> tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
  56. compatibility stuff from Mateusz Loskot.
  57. <li> Rename config.h.vc and tif_config.h.vc to config.vc.h and
  58. tif_config.vc.h for easier identification by folks using an IDE.
  59. <li> configure, configure.ac: OJPEG support enabled by default (i.e.,
  60. when conformant JPEG support is enabled).
  61. <li> README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
  62. tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
  63. Added support for OpenVMS by Alexey Chupahin.
  64. <li> nmake.opt: use /EHsc for VS2005 compatibility. Also define
  65. _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
  66. </UL>
  67. <P><HR WIDTH=65% ALIGN=left>
  68. <!--------------------------------------------------------------------------->
  69. <A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
  70. <UL>
  71. <li> tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
  72. bsearch() on a NULL fieldinfo list.
  73. (_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL
  74. fieldinfo list.
  75. <li> tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
  76. will convert from decompressor to compressor or compress to decompress
  77. if required by the force arguments. This works around a problem in
  78. where the JPEGFixupTestSubsampling() may cause a decompressor to
  79. be setup on a directory when later a compressor is required with the
  80. force flag set. Occurs with the addtiffo program for instance.
  81. <li> tif_dirwrite.c: Fixed swapping of byte arrays stored
  82. in-place in tag offsets as per bug
  83. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1363">
  84. http://bugzilla.remotesensing.org/show_bug.cgi?id=1363</a>
  85. <li> tif_getimage.c: workaround for 'Fractional scanline' error
  86. reading OJPEG images with rowsperstrip that is not a multiple of
  87. vertical subsampling factor. This bug is mentioned in
  88. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1390">
  89. http://bugzilla.remotesensing.org/show_bug.cgi?id=1390</a> and
  90. <a href="http://www.asmail.be/msg0054766825.html">
  91. http://www.asmail.be/msg0054766825.html</a>
  92. <li> tif_dirread.c: Added special function to handle
  93. SubjectDistance EXIF tag as per bug
  94. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1362">
  95. http://bugzilla.remotesensing.org/show_bug.cgi?id=1362</a>
  96. <li> tif_dirread.c, tif_read.c: Type of the byte counters
  97. changed from tsize_t to uint32 to be able to work with data arrays
  98. larger than 2GB. Fixes bug
  99. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=890">
  100. http://bugzilla.remotesensing.org/show_bug.cgi?id=89</a>
  101. Idea submitted by Matt Hancher.
  102. <li> tif_dir.c: Workaround for incorrect TIFFs with
  103. ExtraSamples == 999 produced by Corel Draw. As per bug
  104. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1490">
  105. http://bugzilla.remotesensing.org/show_bug.cgi?id=1490</a>
  106. <li> tif_write.c: TIFFAppendToStrip() - clear sorted flag if
  107. we move a strip.
  108. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1359">
  109. http://bugzilla.remotesensing.org/show_bug.cgi?id=1359</a>
  110. <li> tif_fax3.c: Save the state of printdir codec dependent method.
  111. <li> tif_jpeg.c: Save the state of printdir codec dependent method
  112. as per bug
  113. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1273">
  114. http://bugzilla.remotesensing.org/show_bug.cgi?id=1273</a>
  115. <li> tif_win32.c: Fixed problem with offset value manipulation
  116. as per bug
  117. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1322">
  118. http://bugzilla.remotesensing.org/show_bug.cgi?id=1322</a>
  119. <li> tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
  120. vulnerabilities, as per Gentoo bug ():
  121. <a href="http://bugs.gentoo.org/show_bug.cgi?id=142383">
  122. http://bugs.gentoo.org/show_bug.cgi?id=142383</a>
  123. <li> tif_lzw.c, tif_zip.c: Fixed problems with mixing
  124. encoding and decoding on the same read-write TIFF handle. The LZW
  125. code can now maintain encode and decode state at the same time. The
  126. ZIP code will switch back and forth as needed.
  127. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=757">
  128. http://bugzilla.remotesensing.org/show_bug.cgi?id=757</a>
  129. <li> tif_msdos.c: Avoid handle leak for failed opens.
  130. c/o Thierry Pierron
  131. <li> tif_dirwrite.c: take care not to flush out buffer of strip/tile
  132. data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates
  133. to bug report by Peng Gao with black strip at bottom of images.
  134. <li> tif_dirwrite.c: make sure to use uint32 for wordcount in
  135. TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
  136. It already seems to have been done for other field types. Needed
  137. for "tiffset" on files with geotiff ascii text.
  138. <li> tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
  139. <li> tif_dirread.c: Move IFD fetching code in the separate
  140. function TIFFFetchDirectory() avoiding code duplication in
  141. TIFFReadDirectory() and TIFFReadCustomDirectory().
  142. <li>tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
  143. files. Modified TIFFReadDirectory() to not invoke
  144. EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
  145. one of them is zero.
  146. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1204">
  147. http://bugzilla.remotesensing.org/show_bug.cgi?id=1204</a>
  148. <li> tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping
  149. checking code in the separate function TIFFCheckDirOffset().
  150. <li> tif_aux.c: Added _TIFFCheckRealloc() function.
  151. <li> tif_fax3.c: Fixed problems in fax decoder as per bug
  152. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1194">
  153. http://bugzilla.remotesensing.org/show_bug.cgi?id=1194</a>
  154. <li> tif_jbig.c: Added support for JBIG compression scheme
  155. (34661 code) contributed by Lee Howard. As per bug
  156. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=896">
  157. http://bugzilla.remotesensing.org/show_bug.cgi?id=896</a>
  158. <li> tif_getimage.c: Added support for planarconfig separate
  159. non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]).
  160. <li> tif_getimage.c: Revision of all RGB(A) put routines:
  161. <ul>
  162. <li> Conversion of unassociated alpha to associated alpha
  163. now done with more performant LUT, and calculation more
  164. correct.
  165. <li> Conversion of 16bit data to 8bit data now done with
  166. more performant LUT, and calculation more correct
  167. <li> Bugfix of handling of 16bit RGB with unassociated alpha
  168. </ul>
  169. <li> tif_ojpeg.c: totally new implementation
  170. <li> tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
  171. of OJPEG images in favor of tif_getimage.c native handling of
  172. YCbCr and desubsampling.
  173. <li> tif_jpeg.c: JPEGVSetField() so that altering the photometric
  174. interpretation causes the "upsampled" flag to be recomputed. Fixes
  175. peculiar bug where photometric flag had to be set before jpegcolormode
  176. flag.
  177. </UL>
  178. <P><HR WIDTH=65% ALIGN=left>
  179. <!-------------------------------------------------------------------------->
  180. <A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
  181. <UL>
  182. <li> tiff2ps.c: Added support 16-bit images as per bug
  183. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1566">
  184. http://bugzilla.remotesensing.org/show_bug.cgi?id=1566</a>.
  185. Patch from William Bader.
  186. <li> tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
  187. significant upgrade of the whole utility as per bug
  188. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1560">
  189. http://bugzilla.remotesensing.org/show_bug.cgi?id=1560</a>.
  190. Now we don't need tiffiop.h in tiff2pdf anymore and will open output
  191. PDF file using TIFFClientOpen() machinery as it is implemented
  192. by Leon Bottou.
  193. <li> tiffcrop.c: New tiffcrop utility contributed
  194. by Richard Nolde. As per bug
  195. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1383">
  196. http://bugzilla.remotesensing.org/show_bug.cgi?id=1383</a>
  197. <li> tiff2pdf.c: Do not assume inches when the resolution units
  198. do not specified. As per bug
  199. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1366">
  200. http://bugzilla.remotesensing.org/show_bug.cgi?id=1366</a>
  201. <li> tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
  202. As per bug
  203. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1350">
  204. http://bugzilla.remotesensing.org/show_bug.cgi?id=1350</a>
  205. <li> tif2rgba.c: This utility does not work properly on big-endian
  206. architectures. It was fixed including the bug
  207. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1149">
  208. http://bugzilla.remotesensing.org/show_bug.cgi?id=1149</a>
  209. <li> tiff2pdf.c: Fix handling of -q values.
  210. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=587">
  211. http://bugzilla.remotesensing.org/show_bug.cgi?id=587</a>
  212. <li> tiffcmp.c: Fixed floating point comparison logic as per bug
  213. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1191">
  214. http://bugzilla.remotesensing.org/show_bug.cgi?id=1191</a>
  215. <li> tiff2pdf.c: Fixed buffer overflow condition in
  216. t2p_write_pdf_string() as per bug
  217. <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1196">
  218. http://bugzilla.remotesensing.org/show_bug.cgi?id=1196</a>
  219. </UL>
  220. <P><HR WIDTH=65% ALIGN=left>
  221. <!--------------------------------------------------------------------------->
  222. <A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
  223. <UL>
  224. <li> contrib/addtiffo/tif_overview.c: Fix problems with odd sized
  225. output blocks in TIFF_DownSample_Subsampled() (bug 1542).
  226. <li> contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
  227. Though it is still far from the state of being working and useful.
  228. </UL>
  229. Last updated $Date: 2016-09-25 20:05:46 $.
  230. </BODY>
  231. </HTML>