Changes in TIFF v3.7.3

References

Current Version

v3.7.3 (tag Release-v3-7-3)

Previous Version

v3.7.2

Master Download Site

https://download.osgeo.org/libtiff/

Master HTTP Site

http://www.simplesystems.org/libtiff/

This document describes the changes made to the software between the previous and current 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:

Major changes

  • Replace runtime endianness check with the compile time one.

  • Added support for the new predictor type (floating point predictor), defined at the TIFF Technical Note 3.

  • Added Support for custom tags, passed by value.

  • Added support for all DNG tags.

Software configuration changes

Library changes

  • tiffiop.h, tif_open.c: Added open option "h" to avoid reading the first IFD when needed. As per bug Remote Sensing bugzilla #875 [no longer available]

  • tiff.h: Use correct int size on Sparc 64bit/Sun compiler platform. As per bug Remote Sensing bugzilla #855 [no longer available]

  • tif_dirinfo.c: Added support for ClipPath, XClipPathUnits and YClipPathUnits tags.

  • tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c: Make DocumentName, Artist, HostComputer, ImageDescription, Make, Model, Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and TargetPrinter tags custom.

  • tif_jpeg.c: Cleanup the codec state depending on TIFF_CODERSETUP flag (to fix memory leaks).

  • tif_dirwrite.c: Use tdir_count when calling TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as per bug Remote Sensing bugzilla #845 [no longer available]

  • tif_dirinfo.c, tif_print.c: TIFFFetchByteArray() returns uint16 array when fetching the BYTE and SBYTE fields, so we should consider result as pointer to uint16 array and not as array of char. As per bug Remote Sensing bugzilla #831 [no longer available]

  • tif_dir.c: More efficient custom tags retrieval as per bug Remote Sensing bugzilla #830 [no longer available]

  • tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share mode in CreateFile() call as per bug Remote Sensing bugzilla #829 [no longer available]

  • tif_jpeg.c: Substantial fix for addtiffo problems with JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables in directory.

  • tif_dirread.c: Changed the code that computes stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is zero. This is a common case with GDAL indicating a "null" tile/strip.

  • tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw().

  • tif_dirread.c: Ensure that broken files with too many values in TIFFFetchPerSampleShorts(), TIFFFetchPerSampleLongs() and TIFFFetchPerSampleAnys() work ok instead of crashing. Remote Sensing bugzilla #843 [no longer available]

  • tif_predict.h, tif_predict.c: Added ability to decode and encode floating point predictor, as per TIFF Technical Note 3. See http://chriscox.org/TIFF_TN3_Draft2.pdf for details.

  • tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c: Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to swap 24-bit floating point values.

  • tiff.h: Added predictor constants.

  • tiffiop.h, tif_dir.c: Use uint32 type for appropriate values in _TIFFVSetField() function. Inspired by the bug Remote Sensing bugzilla #816 [no longer available]

  • tif_open.c: Do not read header in case the output file should be truncated (Ron).

  • tif_dirinfo.c, tif_config.h.vc: Use lfind() instead of bsearch() in _TIFFFindFieldInfoByName() function (Ron).

  • tif_dir.c, tif_print.c: Properly handle all data types in custom tags.

  • dirinfo.c: Added DNG tags.

  • tiff.h: Added missed DNG tag (LensInfo); added DNG 1.1.0.0 tags.

  • tif_dir.c, tif_print.c: Added Support for custom tags, passed by value.

  • tiff.h, tif_dirinfo.c, tiffiop.h: Added EXIF related tags.

Tools changes

Contributed software changes

  • addtiffo/tif_overview.c, addtiffo/tif_ovrcache.c, addtiffo/tif_ovrcache.h: Make overviews working for contiguous images.