roentgen b75cab
roentgen b75cab
roentgen b75cab
<title></title>
roentgen b75cab
	Changes in TIFF v3.9.0beta
roentgen b75cab
roentgen b75cab
roentgen b75cab
roentgen b75cab
roentgen b75cab
<font face="Helvetica, Arial, Sans"></font>
roentgen b75cab
<font face="Helvetica, Arial, Sans"> </font>
roentgen b75cab
roentgen b75cab
<basefont size="4"></basefont>
roentgen b75cab
<font size="+3">T</font>IFF <font size="+2">C</font>HANGE <font size="+2">I</font>NFORMATION
roentgen b75cab
<basefont size="3"></basefont>
roentgen b75cab
roentgen b75cab
    roentgen b75cab

    roentgen b75cab
    Current Version: v3.9.0beta
    roentgen b75cab
    Previous Version: v3.8.2
    roentgen b75cab
    Master FTP Site: 
    roentgen b75cab
    ftp.remotesensing.org, directory pub/libtiff
    roentgen b75cab
    Master HTTP Site: 
    roentgen b75cab
    http://www.remotesensing.org/libtiff 
    roentgen b75cab

    roentgen b75cab
    roentgen b75cab
    roentgen b75cab

    roentgen b75cab
    This document describes the changes made to the software between the
    roentgen b75cab
    previous and current versions (see above).
    roentgen b75cab
    If you don't find something listed here, then it was not done in this
    roentgen b75cab
    timeframe, or it was not considered important enough to be mentioned.
    roentgen b75cab
    The following information is located here:
    roentgen b75cab
      roentgen b75cab
    • Major Changes
    • roentgen b75cab
    • Changes in the software configuration
    • roentgen b75cab
    • Changes in libtiff
    • roentgen b75cab
    • Changes in the tools
    • roentgen b75cab
    • Changes in the contrib area
    • roentgen b75cab
      roentgen b75cab

      roentgen b75cab


      roentgen b75cab
      roentgen b75cab
      roentgen b75cab
      roentgen b75cab
      <font size="+3">M</font>AJOR CHANGES:
      roentgen b75cab
      roentgen b75cab
        roentgen b75cab
        	
      • New tiffcrop utility contributed by Richard Nolde.
      • roentgen b75cab
        	tiffcrop does the same as tiffcp, but also can crop,
        roentgen b75cab
        	extract, rotate and mirror images.
        roentgen b75cab
        roentgen b75cab
        	
      • tif_jbig.c: Added support for JBIG compression scheme
      • roentgen b75cab
        	(34661 code), contributed by Lee Howard.
        roentgen b75cab
        roentgen b75cab
        	
      • Totally new implementation of OJPEG module from
      • roentgen b75cab
        	Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files
        roentgen b75cab
        	should be supported now that was not supported previously.
        roentgen b75cab
        roentgen b75cab
        roentgen b75cab
        roentgen b75cab
        roentgen b75cab


        roentgen b75cab
        roentgen b75cab
        roentgen b75cab
        <font size="+3">C</font>HANGES IN THE SOFTWARE CONFIGURATION:
        roentgen b75cab
        roentgen b75cab
          roentgen b75cab
          roentgen b75cab
          	
        • tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
        • roentgen b75cab
          	compatibility stuff from Mateusz Loskot.
          roentgen b75cab
          roentgen b75cab
          	
        • Rename config.h.vc and tif_config.h.vc to config.vc.h and
        • roentgen b75cab
          	tif_config.vc.h for easier identification by folks using an IDE.
          roentgen b75cab
          roentgen b75cab
          	
        • configure, configure.ac: OJPEG support enabled by default (i.e.,
        • roentgen b75cab
          	whe the conformant JPEG support enabled).
          roentgen b75cab
          roentgen b75cab
          	
        • README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
        • roentgen b75cab
          	tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
          roentgen b75cab
          	Added support for OpenVMS by Alexey Chupahin.
          roentgen b75cab
          roentgen b75cab
          	
        • nmake.opt: use /EHsc for VS2005 compatibility. Also define
        • roentgen b75cab
          	_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
          roentgen b75cab
          roentgen b75cab
          roentgen b75cab
          roentgen b75cab


          roentgen b75cab
          roentgen b75cab
          roentgen b75cab
          roentgen b75cab
          <font size="+3">C</font>HANGES IN LIBTIFF:
          roentgen b75cab
          roentgen b75cab
            roentgen b75cab
            	
          • tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
          • roentgen b75cab
            	bsearch() on a NULL fieldinfo list.
            roentgen b75cab
            	(_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL
            roentgen b75cab
            	fieldinfo list.
            roentgen b75cab
            roentgen b75cab
            	
          • tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
          • roentgen b75cab
            	will convert from decompressor to compressor or compress to decompress
            roentgen b75cab
            	if required by the force arguments.  This works around a problem in
            roentgen b75cab
            	where the JPEGFixupTestSubsampling() may cause a decompressor to 
            roentgen b75cab
            	be setup on a directory when later a compressor is required with the
            roentgen b75cab
            	force flag set.  Occurs with the addtiffo program for instance.
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dirwrite.c: Fixed swapping of byte arrays stored
          • roentgen b75cab
            	in-place in tag offsets as per bug
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
            roentgen b75cab
            roentgen b75cab
            	
          • tif_getimage.c: workaround for 'Fractional scanline' error
          • roentgen b75cab
            	reading OJPEG images with rowsperstrip that is not a multiple of
            roentgen b75cab
            	vertical subsampling factor. This bug is mentioned in
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 and
            roentgen b75cab
            	
            roentgen b75cab
            	http://www.asmail.be/msg0054766825.html
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dirread.c: Added special function to handle
          • roentgen b75cab
            	SubjectDistance EXIF tag as per bug
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=1362
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dirread.c, tif_read.c: Type of the byte counters
          • roentgen b75cab
            	changed from tsize_t to uint32 to be able to work with data arrays
            roentgen b75cab
            	larger than 2GB. Fixes bug
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=89	
            roentgen b75cab
            	Idea submitted by Matt Hancher.
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dir.c: Workaround for incorrect TIFFs with
          • roentgen b75cab
            	ExtraSamples == 999 produced by Corel Draw. As per bug
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=1490
            roentgen b75cab
            roentgen b75cab
            	
          • tif_write.c: TIFFAppendToStrip() - clear sorted flag if
          • roentgen b75cab
            	we move a strip.
            roentgen b75cab
            	
            roentgen b75cab
            		http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
            roentgen b75cab
            roentgen b75cab
            	
          • tif_fax3.c: Save the state of printdir codec dependent method.
          • roentgen b75cab
            roentgen b75cab
            	
          • tif_jpeg.c: Save the state of printdir codec dependent method
          • roentgen b75cab
            	as per bug
            roentgen b75cab
            	
            roentgen b75cab
            		http://bugzilla.remotesensing.org/show_bug.cgi?id=1273
            roentgen b75cab
            roentgen b75cab
            	
          • tif_win32.c: Fixed problem with offset value manipulation
          • roentgen b75cab
            	as per bug
            roentgen b75cab
            	
            roentgen b75cab
            		http://bugzilla.remotesensing.org/show_bug.cgi?id=1322
            roentgen b75cab
            roentgen b75cab
            	
          • tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
          • roentgen b75cab
            	vulnerabilities, as per	Gentoo bug ():
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugs.gentoo.org/show_bug.cgi?id=142383
            roentgen b75cab
            roentgen b75cab
            	
          • tif_lzw.c, tif_zip.c: Fixed problems with mixing
          • roentgen b75cab
            	encoding and decoding on the same read-write TIFF handle.  The LZW
            roentgen b75cab
            	code can now maintain encode and decode state at the same time. The
            roentgen b75cab
            	ZIP code will switch back and forth as needed.  
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=757
            roentgen b75cab
            roentgen b75cab
            	
          • tif_msdos.c: Avoid handle leak for failed opens.
          • roentgen b75cab
            	c/o Thierry Pierron
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dirwrite.c: take care not to flush out buffer of strip/tile
          • roentgen b75cab
            	data in _TIFFWriteDirectory if TIFF_BEENWRITING not set.  Relates
            roentgen b75cab
            	to bug report by Peng Gao with black strip at bottom of images.
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dirwrite.c: make sure to use uint32 for wordcount in
          • roentgen b75cab
            	TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
            roentgen b75cab
            	It already seems to have been done for other field types.  Needed
            roentgen b75cab
            	for "tiffset" on files with geotiff ascii text.
            roentgen b75cab
            roentgen b75cab
            	
          • tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
          • roentgen b75cab
            roentgen b75cab
            	
          • tif_dirread.c: Move IFD fetching code in the separate
          • roentgen b75cab
            	function TIFFFetchDirectory() avoiding code duplication in
            roentgen b75cab
            	TIFFReadDirectory() and TIFFReadCustomDirectory().
            roentgen b75cab
            roentgen b75cab
            	
          • tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
          • roentgen b75cab
            	files.  Modified TIFFReadDirectory() to not invoke
            roentgen b75cab
            	EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
            roentgen b75cab
            	one of them is zero.
            roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
            roentgen b75cab
            roentgen b75cab
            	
          • tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping
          • roentgen b75cab
            	checking code in the separate function TIFFCheckDirOffset().
            roentgen b75cab
            roentgen b75cab
            	
          • tif_aux.c: Added _TIFFCheckRealloc() function.
          • roentgen b75cab
            roentgen b75cab
            	
          • tif_fax3.c: Fixed problems in fax decoder as per bug
          • roentgen b75cab
            	
            roentgen b75cab
            	http://bugzilla.remotesensing.org/show_bug.cgi?id=1194
            roentgen b75cab
            roentgen b75cab
            	
          • tif_jbig.c: Added support for JBIG compression scheme
          • roentgen b75cab
            	(34661 code) contributed by Lee Howard. As per bug
            roentgen b75cab
            	
            roentgen b75cab
            		http://bugzilla.remotesensing.org/show_bug.cgi?id=896
            roentgen b75cab
            roentgen b75cab
            	
          • tif_getimage.c: Added support for planarconfig separate
          • roentgen b75cab
            	non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]).
            roentgen b75cab
            roentgen b75cab
            	
          • tif_getimage.c: Revision of all RGB(A) put routines:
          • roentgen b75cab
            	
              roentgen b75cab
              		
            • Conversion of unassociated alpha to associated alpha
            • roentgen b75cab
              		now done with more performant LUT, and calculation more
              roentgen b75cab
              		correct.
              roentgen b75cab
              	  	
            • Conversion of 16bit data to 8bit data now done with
            • roentgen b75cab
              	  	more performant LUT, and calculation more correct
              roentgen b75cab
              	  	
            • Bugfix of handling of 16bit RGB with unassociated alpha
            • roentgen b75cab
                	
              roentgen b75cab
              roentgen b75cab
              	
            • tif_ojpeg.c: totally new implementation
            • roentgen b75cab
              roentgen b75cab
              	
            • tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
            • roentgen b75cab
              	of OJPEG images in favor of tif_getimage.c native handling of
              roentgen b75cab
              	YCbCr and desubsampling.
              roentgen b75cab
              roentgen b75cab
              	
            • tif_jpeg.c: JPEGVSetField() so that altering the photometric
            • roentgen b75cab
              	interpretation causes the "upsampled" flag to be recomputed.  Fixes
              roentgen b75cab
              	peculiar bug where photometric flag had to be set before jpegcolormode
              roentgen b75cab
              	flag.
              roentgen b75cab
              roentgen b75cab
              roentgen b75cab
              roentgen b75cab


              roentgen b75cab
              roentgen b75cab
              roentgen b75cab
              	
              roentgen b75cab
              <font size="+3">C</font>HANGES IN THE TOOLS:
              roentgen b75cab
              roentgen b75cab
                roentgen b75cab
                	
              • tiff2ps.c: Added support 16-bit images as per bug
              • roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1566.
                roentgen b75cab
                	Patch from William Bader.
                roentgen b75cab
                roentgen b75cab
                	
              • tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
              • roentgen b75cab
                	significant upgrade of the whole utility as per bug
                roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1560.
                roentgen b75cab
                	Now we don't need tiffiop.h in tiff2pdf anymore and will open output
                roentgen b75cab
                	PDF file using TIFFClientOpen() machinery as it is implemented
                roentgen b75cab
                	by Leon Bottou.
                roentgen b75cab
                roentgen b75cab
                	
              • tiffcrop.c: New tiffcrop utility contributed
              • roentgen b75cab
                	by Richard Nolde. As per bug
                roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1383
                roentgen b75cab
                roentgen b75cab
                	
              • tiff2pdf.c: Do not assume inches when the resolution units
              • roentgen b75cab
                	do not specified. As per bug
                roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1366
                roentgen b75cab
                roentgen b75cab
                	
              • tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
              • roentgen b75cab
                	As per bug
                roentgen b75cab
                	
                roentgen b75cab
                		http://bugzilla.remotesensing.org/show_bug.cgi?id=1350
                roentgen b75cab
                roentgen b75cab
                	
              • tif2rgba.c: This utility does not work properly on big-endian
              • roentgen b75cab
                	architectures. It was fixed including the bug
                roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
                roentgen b75cab
                roentgen b75cab
                	
              • tiff2pdf.c: Fix handling of -q values.
              • roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=587
                roentgen b75cab
                roentgen b75cab
                	
              • tiffcmp.c: Fixed floating point comparison logic as per bug
              • roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1191
                roentgen b75cab
                roentgen b75cab
                	
              • tiff2pdf.c: Fixed buffer overflow condition in
              • roentgen b75cab
                	t2p_write_pdf_string() as per bug
                roentgen b75cab
                	
                roentgen b75cab
                	http://bugzilla.remotesensing.org/show_bug.cgi?id=1196
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab


                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                <font size="+3">C</font>HANGES IN THE CONTRIB AREA:
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                	
              • contrib/addtiffo/tif_overview.c: Fix problems with odd sized
              • roentgen b75cab
                	output blocks in TIFF_DownSample_Subsampled() (bug 1542).
                roentgen b75cab
                roentgen b75cab
                	
              • contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
              • roentgen b75cab
                	Though it is still far from the state of being working and useful.
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab
                Last updated $Date: 2009-08-20 22:57:39 $.
                roentgen b75cab
                roentgen b75cab
                roentgen b75cab