Changes in TIFF v3.5.7¶
Current Version |
v3.5.7 (tag Release-v3-5-7) |
Previous Version |
|
Master Download Site |
|
Master HTTP Site |
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:
Software configuration changes¶
libtiff/libtiff.def
: Brent Roman submitted new version adding several missing entry points. Also add a few other entry points later.configure
,Makefile.in
, etc: added support forOPTIMIZER
being set fromconfig.site
.config.guess
: updated wholesale to an FSF version apparently from 1998 (as opposed to 1994). This is mainly inspired by providing for MacOS X support.configure/config.site
: modified to check if-lm
is needed forMACHDEPLIBS
if not supplied byconfig.site
. Needed for Darwin.libtiff/tiff.h
: Applied hack to try and resolve the problem with theinttypes.h
include file on AIX. (bug Remote Sensing bugzilla #39 [no longer available])configure
,*Makefile.in
: Various changes to improve configuration for HP/UX specifically, and also in general. (bug Remote Sensing bugzilla #40 [no longer available]) They include:Try to handle /usr/bin/sh instead of /bin/sh where necessary.
Upgrade to HP/UX 10.x+ compiler, linker and dso options.
Fixed
mmap()
test to avoidMMAP_FIXED
... it isn't available on HPUse
-${MAKEFLAGS}
in sub makes from makefiles.Fixed
SCRIPT_SH
/SHELL
handling.
configure
: Changes for DSO generation on AIX provided by John Marquart.configure
,libtiff/Makefile.in
: Modified to build DSOs properly on Darwin thanks to Robert Krajewski and Keisuke Fujii.configure
,libtiff/Makefile.in
: applied OpenBSD patches as per bug Remote Sensing bugzilla #61 [no longer available].Makefile.in
: addedDESTDIR
support as per bug Remote Sensing bugzilla #60 [no longer available].libtiff/tif_jpeg.c
: DefineHAVE_BOOLEAN
on windows ifRPCNDR.H
has been included.man/Makefile.in
: addTIFFClientOpen()
link as per debian submitted bug Remote Sensing bugzilla #66 [no longer available].libtiff/Makefile.in
: Fixed@DSOSUB_VERSION
to be@DSOSUF_VERSION@
in two places.
Library changes¶
tif_fax3.c
: keeprw_mode
flag internal to fax3 state to remember whether we are encoding or decoding. This is to ensure graceful recovery ifTIFFClientOpen()
discovers an attempt to open a compressed file for "r+
" access, and subsequently close it, as it resets thetif_mode
flag toO_RDONLY
in this case to avoid writes, confusing the compressor's concept of whether it is in encode or decode mode.tif_luv.c
,tiff.h
,tiffio.h
: New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward. He writes:I improved the gamut-mapping function in
tif_luv.c
for imaginary colors, because some images were being super-saturated on the input side and this resulted in some strange color shifts in the output.I added a psuedotag in
tiff.h
to control random dithering during LogLuv encoding. This is turned off by default for 32-bit LogLuv and on for 24-bit LogLuv output. Dithering improves the average color accuracy over the image.I added a
#define
forLOG_LUV_PUBLIC
, which is enabled by default intiffio.h
, to expose internal routines for converting between LogLuv and XYZ coordinates. This is helpful for writing more efficient, specialized conversion routines, especially for reading LogLuv files.
libtiff/tif_dirinfo.c
: don't declaretiffFieldInfo
static on VMS.Added
TIFFTAG_COPYRIGHT
support.tif_getimage.c
: Added support for 16bit minisblack/miniswhite images in RGBA interface.libtiff/tif_dirinfo.c
: removed duplicateTIFFTAG_PHOTOSHOP
as per bug Remote Sensing bugzilla #44 [no longer available].libtiff/tif_dirwrite.c
: Added support forTIFF_VARIABLE2
in the case of writingTIFF_BYTE
/TIFF_SBYTE
fields as per bug Remote Sensing bugzilla #43 [no longer available].libtiff/tif_dirinfo.c
: Modified theTIFF_BYTE
definition forTIFFTAG_PHOTOSHOP
to use a writecount ofTIFF_VARIABLE2
(-3) to force use ofuint32
counts instead of short counts.libtiff/tif_dirinfo.c
: moved pixar and copyright flags to ensure everything is in order.Integrated experimental OJPEG support from Scott Marovich of HP.
libtiff/tif_open.c
: Seek back to zero after failed read, before writing header.libtiff/tiff.h
,libtiff/tif_fax3.c
: added check for__LP64__
when checking for 64 bit architectures as per bugzilla bug Remote Sensing bugzilla #67 [no longer available].libtiff/tif_getimage.c
: Usememmove()
instead ofTIFFmemcpy()
inTIFFReadRGBATile()
to avoid issues in cases of overlapping buffers. See bug Remote Sensing bugzilla #69 [no longer available] in Bugzilla.libtiff/tif_getimage.c
: Don't complain for CMYK (separated) images with more than four samples per pixel as per bug Remote Sensing bugzilla #73 [no longer available].libtiff/tif_getimage.c
: relax handling of contig case where there are extra samples that are supposed to be ignored as per bug Remote Sensing bugzilla #75 [no longer available]. This should now work for 8bit greyscale or paletted images.libtiff/tif_packbits.c
: fixed memory overrun error as per bug Remote Sensing bugzilla #77 [no longer available].libtiff/tif_getimage.c
: Fixed problem with reading strips or tiles that don't start on a tile boundary. Fix contributed by Josep Vallverdu (from HP), and further described in bug Remote Sensing bugzilla #47 [no longer available].libtif/tif_fax3.c
: Removed#ifdef PURIFY
logic, and modified to always use the "safe" version, even if there is a very slight cost in performance as per bug Remote Sensing bugzilla #54 [no longer available].libtiff/tif_lzw.c
: added dummyLZWSetupEncode()
to report an error about LZW not being available.libtiff/tif_dir.c
: propagate failure to initialize compression back fromTIFFSetField()
as an error status, so applications can detect failure.libtiff/tif_lzw.c
: Avoid MS VC++ 5.0 optimization bug as per bug Remote Sensing bugzilla #78 [no longer available].libtiff/tif_dirwrite.c
: addedTIFFRewriteDirectory()
function. UpdatedTIFFWriteDirectory()
man page to includeTIFFRewriteDirectory()
.libtiff/tiff.h
: I have createdCOMPRESSION_CCITT_T4
,COMPRESSION_CCITT_T6
,TIFFTAG_T4OPTIONS
andTIFFTAG_T6OPTIONS
aliases in keeping with TIFF 6.0 standard intiff.h
as per bug Remote Sensing bugzilla #83 [no longer available].Added
PHOTOMETRIC_ITULAB
as per bug Remote Sensing bugzilla #90 [no longer available].
Tools changes¶
Brent Roman contributed updated tiffcp utility (and
tiffcp.1
) with support for extracting subimages with the,n
syntax, and also adding the "-b
" bias removal flag.tiff2ps.c
,tiff2ps.1
: Substantial changes to tiff2ps by Bruce A. Mallett, including a faster encoder, fixes for level 2 PostScript, and support for the imagemask operator.fax2ps.c: Helge (libtiff at oldach.net) submitted fix that corrects behaviour for non-Letter paper sizes. (bug Remote Sensing bugzilla #35 [no longer available]) It fixes two problems:
Without scaling ("
-S
") the fax is now centered on the page size specified with "-H
" and/or "-W
". Before, fax2ps was using an obscure and practically useless algorithm to allocate the image relative to Letter sized paper which sometime sled to useless whitespace on the paper, while at the same time cutting of the faxes printable area at the opposite border.Second, scaling now preserves aspect ratio, which makes unusual faxes (in particular short ones) print properly.
thumbnail.c
: changed default output compression to packbits from LZW since LZW isn't generally available.tiff2rgba.c
: added "-n
" flag to avoid emitting alpha component. Also added a man page for tiff2rgba.tiffcmp.c
: Fixed multi samples per pixel support forContigCompare()
as per bug Remote Sensing bugzilla #53 [no longer available]. Updated bug section of tiffcmp.1 to note tiled file issues.libtiff/tif_getimage.c
: Fixed so that failure is properly reported bygtTileContig()
,gtStripContig()
,gtTileSeparate()
andgtStripSeparate()
as per bug Remote Sensing bugzilla #51 [no longer available].
Contributed software changes¶
Fixed distribution to include
contrib/addtiffo/tif_ovrcache.c
andcontrib/addtiffo/tif_ovrcache.h
.
LZW compression kit changes¶
Rewrote lzw patching process so that is required to enable full LZW support is to drop the
tif_lzw.c
from thelibtiff-lzw-compression-kit
over the one in the libtiff directory.Some changes were made to make recovery from failure to initialize the LZW compressor more graceful.
Note that as distributed libtiff support LZW decompression, but not LZW compression.