Changes in TIFF v3.7.0alpha — LibTIFF 4.7.2 documentation

# Changes in TIFF v3.7.0alpha

References
Current Version | v3.7.0alpha (tag Release-v3-7-0-alpha)
Previous Version | v3.6.1
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

- Significant changes in software configuration: we are switched to GNU autotools now.

- tiffset: Set any libtiff supported tags. Tags can be supplied by the mnemonic name or number.

## Software configuration changes

- Get rid of the old configuration system and switch to GNU autotools.

## Library changes

- `libtiff/tif_ojpeg.c`: Fixed problem with duplicated `SOI` and `SOF` markers as per bug Remote Sensing bugzilla #581 [no longer available].

- `libtiff/tif_open.c`, `libtiff/tiffio.h`: New function added: `TIFFIsBigEndian()`. Function returns nonzero if given was file written in big-endian order.

- `libtiff/tif_print.c`: added (untested) support for printing `SSHORT`, `SLONG` and `SRATIONAL` fields.

- `libtiff/tif_fax3.c`: Avoid reading CCITT compression options if compression type mismatches. See Remote Sensing bugzilla #565 [no longer available].

- `libtiff/tif_strip.c`: Never return 0 from the `TIFFNumberOfStrips()`.

- `libtiff/tif_dirread.c`: Workaround for broken TIFF writers which store single `SampleFormat` value for multisampled images. See Remote Sensing bugzilla #562 [no longer available].

- `libtiff/tif_write.c`: Allow in-place updating of the compressed images (don't work properly with all codecs). For details see GDAL bug Remote Sensing bugzilla #534 [no longer available].

- `libtiff/tif_jpeg.c`: Workaround for wrong sampling factors used in the Intergarph JPEG compressed TIFF images as per bug: Remote Sensing bugzilla #532 [no longer available].

- `libtiff/tif_open.c`: Use dummy `mmap()`/`munmap()` functions in `TIFFClientOpen()` when the appropriate client functions was not supplied by user.

- `libtiff/tif_dirread.c`: Fixed problem with handling `TIFF_UNDEFINED` tag type in `TIFFFetchNormalTag()` as per bug Remote Sensing bugzilla #508 [no longer available].

- `libtiff/tif_codec.c`: Fixed typo in `TIFFInitPackBits` name as per: Remote Sensing bugzilla #494 [no longer available].

- `libtiff/tif_fax3.c`: Fixed problem, introdiced in 3.6.1 release, with the CCITT encoding modes as per bug Remote Sensing bugzilla #483 [no longer available]. We need more work on fax codec to support update mode.

- `libtiff/tiff.h`: Fixed tag definitions for `TIFFTAG_YCLIPPATHUNITS` and `TIFFTAG_INDEXED` as per bug Remote Sensing bugzilla #475 [no longer available].

- `libtiff/tif_win32.c`, `libtiff/tif_unix.c`: Check whether the pointer is `NULL` before proceeding further as per bug Remote Sensing bugzilla #474 [no longer available].

  Check results, returned by the `TIFFFdOpen()` before returning and close file if `TIFFFdOpen()` failed as per bug Remote Sensing bugzilla #468 [no longer available].

- `libtiff/libtiff.def`, `libtiff/tif_close.c`, `libtiff/tiffio.h`, `libtiff/tif_open.c`: Separate `TIFFCleanup()` from the `TIFFClose()` in order to fix the bug Remote Sensing bugzilla #468 [no longer available].

- `libtiff/tif_dirwrite.c`: Fixed handling of writable ASCII tags that are `field_passcount=TRUE` properly. Arguably anonymous custom tags should be declared as `passcount=FALSE`, but I don't want to change that without a careful review.

- `libtiff/tif_write.c`: Fixed reporting size of the buffer in case of stripped image in `TIFFWriteBufferSetup()`. As per bug Remote Sensing bugzilla #460 [no longer available].

- `libtiff/tif_dir.c`: Incomplete cleanup in `TIFFFreeDirectory()`, patch from Gerben Koopmans.

- `libtiff/tif_dirread.c`: Check `field_passcount` value before setting the value of undefined type, patch from Gerben Koopmans.

- `libtiff/tiff.h`, `libtiff/tif_fax3.c`: Fixes for AMD 64 platform as suggested by Jeremy C. Reed.

- `libtiff/tif_win32.c`: Fixed problem with `_TIFFrealloc()` when the `NULL` pointer passed. Patch supplied by Larry Grill.

## Tools changes

- tiffset: Set any libtiff supported tags. Tags can be supplied by the mnemonic name or number.

- `ycbcr.c`: fixed `main()` declaration as per: Remote Sensing bugzilla #513 [no longer available].

- tiffsplit: Don't forget to copy `PhotometricInterpretation` tag.

- tiffsplit:

  - Fixed problem with unproperly written multibyte files. Now output files will be written using the same byte order flag as in the input image. See Remote Sensing bugzilla #574 [no longer available].

  - Copy `JPEGTables` tag contents for JPEG compressed images. Reported by Artem Mirolubov.

- tiffcp:

  - Close output file on normal exit.

  - Don't emit warnings when `Orientation` tag does not present in the input image.

  - Properly set Photometric Interpretation in case of JPEG compression of grayscale images.

  - Fixed problem with wrong interpretation of the `InkNames` tag as per bug Remote Sensing bugzilla #466 [no longer available]. Memory leak fixed.

  - Fixed problem with wrong `PhotometricInterpretation` setting for non-RGB images.

## Contributed software changes

- Outdated stuff removed.

- Almost all programs are synchronized with the current libtiff and should compile without problems.

## LZW compression kit changes

- No changes.