TIFF CHANGE INFORMATION

Current Version: v3.7.3
Previous Version: v3.7.2
Master FTP Site: ftp.remotesensing.org, directory pub/libtiff
Master HTTP Site: http://www.remotesensing.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
- Changes in the software configuration
- Changes in libtiff
- Changes in the tools
- Changes in the contrib area

MAJOR CHANGES:

- Replace runtime endianess 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.

CHANGES IN THE SOFTWARE CONFIGURATION:

- Do not use empty -R option when linking with --enable-rpath.
- Added workaround for OpenBSD/MirOS soname problem as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=838
- Fixed parallel compilation of the libtiff and libtiffxx libraries as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=826
- configure.ac, libtiff/Makefile.am: Use libtool machinery to pass rpath option.
- make.opt: Build with Win32 CRT library by default.

CHANGES IN LIBTIFF:

- tiffiop.h, tif_open.c: Added open option 'h' to avoid reading the first IFD when needed. As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=875
- tiff.h: Use correct int size on Sparc 64bit/Sun compiler platform. As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=855
- 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 http://bugzilla.remotesensing.org/show_bug.cgi?id=845
- 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 chars. As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=831
- tif_dir.c: More efficient custom tags retrieval as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=830
- tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share mode in CreateFile() call as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=829
- 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 PerSampleShorts, TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys work ok instead of crashing. http://bugzilla.remotesensing.org/show_bug.cgi?id=843
- 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 http://bugzilla.remotesensing.org/show_bug.cgi?id=816
- 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.

CHANGES IN THE TOOLS:

- tiff2pdf.c: Print two characters per loop in the t2p_write_pdf_trailer(). As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=594
- tiffgt.c: Use MacOS X OpenGL framework when appropriate. As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=844
- ppm2tiff.c: Fixed format string when read PPM file header with the fscanf() function. As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=861
- tiffsplit.c: Check for JPEGTables tag presence before copying.
- tiff2pdfr.c: Calculate the tile width properly; added new option '-b' to use interpolation in output PDF files (Bruno Ledoux).
- tiffdither.c: Copy the PhotometricInterpretation tag from the input file.
- tif2pdf.c: Fixed problem with alpha channel handling as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=794.

CHANGES IN THE CONTRIB AREA:

- addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: Make overviews working for contiguous images.

Last updated $Date$.