TIFF CHANGE INFORMATION
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:
	-  New tiffcrop utility contributed by Richard Nolde.
	tiffcrop does the same as tiffcp, but also can crop,
	extract, rotate and mirror images.
	
-  tif_jbig.c:  Added	support for JBIG compression scheme
	(34661 code), contributed by Lee Howard.
	
-  Totally new implementation of OJPEG module from
	Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files
	should be supported now that was not supported previously.
CHANGES IN THE SOFTWARE CONFIGURATION:
	-  tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
	compatibility stuff from Mateusz Loskot.
	
-  Rename config.h.vc and tif_config.h.vc to config.vc.h and 
	tif_config.vc.h for easier identification by folks using an IDE.
	
-  configure, configure.ac: OJPEG support enabled by default (i.e.,
	whe the conformant JPEG support enabled).
	
-  README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
	tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
	Added support for OpenVMS by Alexey Chupahin.
	
-  nmake.opt: use /EHsc for VS2005 compatibility.  Also define
	_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
CHANGES IN LIBTIFF:
	-  tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
	bsearch() on a NULL fieldinfo list.
	(_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL
	fieldinfo list.
	
-  tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
	will convert from decompressor to compressor or compress to decompress
	if required by the force arguments.  This works around a problem in
	where the JPEGFixupTestSubsampling() may cause a decompressor to 
	be setup on a directory when later a compressor is required with the
	force flag set.  Occurs with the addtiffo program for instance.
	
-  tif_dirwrite.c: Fixed swapping of byte arrays stored
	in-place in tag offsets as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
	
-  tif_getimage.c: workaround for 'Fractional scanline' error
	reading OJPEG images with rowsperstrip that is not a multiple of
	vertical subsampling factor. This bug is mentioned in
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 and
	
	http://www.asmail.be/msg0054766825.html
	
-  tif_dirread.c: Added special function to handle
	SubjectDistance EXIF tag as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1362
	
-  tif_dirread.c, tif_read.c: Type of the byte counters
	changed from tsize_t to uint32 to be able to work with data arrays
	larger than 2GB. Fixes bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=89	
	Idea submitted by Matt Hancher.
	
-  tif_dir.c: Workaround for incorrect TIFFs with
	ExtraSamples == 999 produced by Corel Draw. As per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1490
	
-  tif_write.c: TIFFAppendToStrip() - clear sorted flag if 
	we move a strip.
	
		http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
	
-  tif_fax3.c: Save the state of printdir codec dependent method.
	
-  tif_jpeg.c: Save the state of printdir codec dependent method
	as per bug
	
		http://bugzilla.remotesensing.org/show_bug.cgi?id=1273
	
-  tif_win32.c: Fixed problem with offset value manipulation
	as per bug
	
		http://bugzilla.remotesensing.org/show_bug.cgi?id=1322
	
-  tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
	vulnerabilities, as per	Gentoo bug ():
	
	http://bugs.gentoo.org/show_bug.cgi?id=142383
	
-  tif_lzw.c, tif_zip.c: Fixed problems with mixing
	encoding and decoding on the same read-write TIFF handle.  The LZW
	code can now maintain encode and decode state at the same time. The
	ZIP code will switch back and forth as needed.  
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=757
	
-  tif_msdos.c: Avoid handle leak for failed opens.
	c/o Thierry Pierron
	
-  tif_dirwrite.c: take care not to flush out buffer of strip/tile
	data in _TIFFWriteDirectory if TIFF_BEENWRITING not set.  Relates
	to bug report by Peng Gao with black strip at bottom of images.
	
-  tif_dirwrite.c: make sure to use uint32 for wordcount in 
	TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
	It already seems to have been done for other field types.  Needed
	for "tiffset" on files with geotiff ascii text.
	
-  tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
	
-  tif_dirread.c: Move IFD fetching code in the separate
	function TIFFFetchDirectory() avoiding code duplication in
	TIFFReadDirectory() and TIFFReadCustomDirectory().
	
- tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
	files.  Modified TIFFReadDirectory() to not invoke
	EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
	one of them is zero.
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
	
-  tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping
	checking code in the separate function TIFFCheckDirOffset().
	
-  tif_aux.c: Added _TIFFCheckRealloc() function.
	
-  tif_fax3.c: Fixed problems in fax decoder as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1194
	
-  tif_jbig.c:  Added	support for JBIG compression scheme
	(34661 code) contributed by Lee Howard. As per bug
	
		http://bugzilla.remotesensing.org/show_bug.cgi?id=896
	
-  tif_getimage.c: Added support for planarconfig separate
	non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]).
	
-  tif_getimage.c: Revision of all RGB(A) put routines:
	
		-  Conversion of unassociated alpha to associated alpha
		now done with more performant LUT, and calculation more
		correct.
	  	
-  Conversion of 16bit data to 8bit data now done with
	  	more performant LUT, and calculation more correct
	  	
-  Bugfix of handling of 16bit RGB with unassociated alpha
  	
 
-  tif_ojpeg.c: totally new implementation
	
-  tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
	of OJPEG images in favor of tif_getimage.c native handling of
	YCbCr and desubsampling.
	
-  tif_jpeg.c: JPEGVSetField() so that altering the photometric
	interpretation causes the "upsampled" flag to be recomputed.  Fixes
	peculiar bug where photometric flag had to be set before jpegcolormode
	flag.
	
CHANGES IN THE TOOLS:
CHANGES IN THE CONTRIB AREA:
 
	-  contrib/addtiffo/tif_overview.c: Fix problems with odd sized
	output blocks in TIFF_DownSample_Subsampled() (bug 1542).
	
-  contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
	Though it is still far from the state of being working and useful.
Last updated $Date: 2007/07/13 13:40:12 $.