15c56f5e2SFrank Warmerdam<HTML> 25c56f5e2SFrank Warmerdam<HEAD> 35c56f5e2SFrank Warmerdam<TITLE> 45c56f5e2SFrank WarmerdamChanges in TIFF v3.6.0 55c56f5e2SFrank Warmerdam</TITLE> 65c56f5e2SFrank Warmerdam</HEAD> 75c56f5e2SFrank Warmerdam 85c56f5e2SFrank Warmerdam<BODY BGCOLOR=white> 95c56f5e2SFrank Warmerdam<FONT FACE="Helvetica, Arial, Sans"> 105c56f5e2SFrank Warmerdam<FONT FACE="Helvetica, Arial, Sans"> 115c56f5e2SFrank Warmerdam 125c56f5e2SFrank Warmerdam<BASEFONT SIZE=4> 135c56f5e2SFrank Warmerdam<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B> 145c56f5e2SFrank Warmerdam<BASEFONT SIZE=3> 155c56f5e2SFrank Warmerdam 165c56f5e2SFrank Warmerdam<UL> 175c56f5e2SFrank Warmerdam<HR SIZE=4 WIDTH=65% ALIGN=left> 185c56f5e2SFrank Warmerdam<B>Current Version</B>: v3.6.0<BR> 195c56f5e2SFrank Warmerdam<B>Previous Version</B>: <A HREF=v3.5.7.html>v3.5.7</a><BR> 20*d4dd6cccSBob Friesenhahn<B>Master FTP Site</B>: <A HREF="ftp://download.osgeo.org/libtiff"> 21*d4dd6cccSBob Friesenhahndownload.osgeo.org</a>, directory pub/libtiff</A><BR> 22*d4dd6cccSBob Friesenhahn<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/"> 23*d4dd6cccSBob Friesenhahnhttp://www.simplesystems.org/libtiff/</a> 245c56f5e2SFrank Warmerdam<HR SIZE=4 WIDTH=65% ALIGN=left> 255c56f5e2SFrank Warmerdam</UL> 265c56f5e2SFrank Warmerdam 275c56f5e2SFrank Warmerdam<P> 285c56f5e2SFrank WarmerdamThis document describes the changes made to the software between the 295c56f5e2SFrank Warmerdam<I>previous</I> and <I>current</I> versions (see above). 305c56f5e2SFrank WarmerdamIf you don't find something listed here, then it was not done in this 315c56f5e2SFrank Warmerdamtimeframe, or it was not considered important enough to be mentioned. 325c56f5e2SFrank WarmerdamThe following information is located here: 335c56f5e2SFrank Warmerdam<UL> 345c56f5e2SFrank Warmerdam<LI><A HREF="#hightlights">Major Changes</A> 355c56f5e2SFrank Warmerdam<LI><A HREF="#configure">Changes in the software configuration</A> 365c56f5e2SFrank Warmerdam<LI><A HREF="#libtiff">Changes in libtiff</A> 375c56f5e2SFrank Warmerdam<LI><A HREF="#tools">Changes in the tools</A> 38d295e3e9SAndrey Kiselev<LI><A HREF="#contrib">Changes in the contrib area</A> 395c56f5e2SFrank Warmerdam<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A> 405c56f5e2SFrank Warmerdam</UL> 415c56f5e2SFrank Warmerdam<p> 425c56f5e2SFrank Warmerdam<P><HR WIDTH=65% ALIGN=left> 435c56f5e2SFrank Warmerdam 445c56f5e2SFrank Warmerdam<!---------------------------------------------------------------------------> 455c56f5e2SFrank Warmerdam 465c56f5e2SFrank Warmerdam<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A> 475c56f5e2SFrank Warmerdam 485c56f5e2SFrank Warmerdam<ul> 49b09a3813SAndrey Kiselev <li> New utility <a href=./man/raw2tiff.1.html>raw2tiff</a> 50b09a3813SAndrey Kiselevfor converting raw rasters into TIFF files. 51b09a3813SAndrey Kiselev <li> Lots of new <a href=./man/tiff2ps.1.html>tiff2ps</a> options. 524163e236SAndrey Kiselev <li> Lots of new <a href=./man/fax2tiff.1.html>fax2tiff</a> options. 535c56f5e2SFrank Warmerdam <li> Lots of bug fixes for LZW, JPEG and OJPEG compression. 545c56f5e2SFrank Warmerdam</ul> 555c56f5e2SFrank Warmerdam 565c56f5e2SFrank Warmerdam<h3>Custom Tag Support</h3> 575c56f5e2SFrank Warmerdam 585c56f5e2SFrank WarmerdamThe approach to extending libtiff with custom tags has changed radically. 595c56f5e2SFrank WarmerdamPreviously, all internally supported TIFF tags had a place in the 605c56f5e2SFrank Warmerdamprivate TIFFDirectory structure within libtiff to hold the values (if read), 615c56f5e2SFrank Warmerdamand a "field number" (ie. FIELD_SUBFILETYPE) used to identify that tag. 625c56f5e2SFrank WarmerdamHowever, every time a new tag was added to the core, the size of the 635c56f5e2SFrank WarmerdamTIFFDirectory structure would changing, breaking any dynamically linked 645c56f5e2SFrank Warmerdamsoftware that used the private data structures.<p> 655c56f5e2SFrank Warmerdam 665c56f5e2SFrank WarmerdamAlso, any tag not recognised 675c56f5e2SFrank Warmerdamby libtiff would not be read and accessable to applications without some 685c56f5e2SFrank Warmerdamfairly complicated work on the applications part to pre-register the tags 695c56f5e2SFrank Warmerdamas exemplified by the support for "Geo"TIFF tags by libgeotiff layered on 705c56f5e2SFrank Warmerdamlibtiff. <p> 715c56f5e2SFrank Warmerdam 725c56f5e2SFrank WarmerdamAmoung other things this approach required the extension code 735c56f5e2SFrank Warmerdamto access the private libtiff structures ... which made the higher level 745c56f5e2SFrank Warmerdamnon-libtiff code be locked into a specific version of libtiff at compile time. 755c56f5e2SFrank WarmerdamThis caused no end of bug reports!<p> 765c56f5e2SFrank Warmerdam 775c56f5e2SFrank WarmerdamThe new approach is for libtiff to read all tags from TIFF files. Those that 785c56f5e2SFrank Warmerdamaren't recognised as "core tags" (those having an associated FIELD_ value, 795c56f5e2SFrank Warmerdamand place for storage in the TIFFDirectory structure) are now read into a 805c56f5e2SFrank Warmerdamdynamic list of extra tags (td_customValues in TIFFDirectory). When a new 815c56f5e2SFrank Warmerdamtag code is encountered for the first time in a given TIFF file, a new 825c56f5e2SFrank Warmerdamanonymous tag definition is created for the tag in the tag definition list. 835c56f5e2SFrank WarmerdamThe type, and some other metadata is worked out from the instance encountered. 845c56f5e2SFrank WarmerdamThese fields are known as "custom tags". <p> 855c56f5e2SFrank Warmerdam 865c56f5e2SFrank WarmerdamCustom tags can be set and fetched normally using TIFFSetField() and 875c56f5e2SFrank WarmerdamTIFFGetField(), and appear pretty much like normal tags to application code. 885c56f5e2SFrank WarmerdamHowever, they have no impact on internal libtiff processing (such as 895c56f5e2SFrank Warmerdamcompression). Some utilities, such as tiffcp will now copy these custom 905c56f5e2SFrank Warmerdamtags to the new output files. <p> 915c56f5e2SFrank Warmerdam 925c56f5e2SFrank WarmerdamAs well as the internal work with custom tags, new C API entry points 935c56f5e2SFrank Warmerdamwere added so that extension libraries, such as libgeotiff, could 945c56f5e2SFrank Warmerdamdefine new tags more easily without accessing internal data structures. 955c56f5e2SFrank WarmerdamBecause tag handling of extension tags is done via the "custom fields" 965c56f5e2SFrank Warmerdammechanism as well, the definition provided externally mostly serves to provide 975c56f5e2SFrank Warmerdama meaningful name for the tag. 985c56f5e2SFrank Warmerdam 995c56f5e2SFrank WarmerdamThe addition of "custom tags" and the altered approach to extending libtiff 1005c56f5e2SFrank Warmerdamwith externally defined tags is the primary reason for the shift to the 1015c56f5e2SFrank Warmerdam3.6.x version number from 3.5.x.<p> 1025c56f5e2SFrank Warmerdam 1035c56f5e2SFrank Warmerdam<P><HR WIDTH=65% ALIGN=left> 1045c56f5e2SFrank Warmerdam<!---------------------------------------------------------------------------> 1055c56f5e2SFrank Warmerdam 1065c56f5e2SFrank Warmerdam<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A> 1075c56f5e2SFrank Warmerdam 1085c56f5e2SFrank Warmerdam<UL> 1095c7b0ab0SAndrey Kiselev<li> configure, config.site: Fix for large files (>2GiB) support. New 1105c7b0ab0SAndrey Kiselevoption in the config.site: LARGEFILE="yes". Should be enougth for the large 1115c7b0ab0SAndrey Kiselevfiles I/O. 1125c7b0ab0SAndrey Kiselev 1135c56f5e2SFrank Warmerdam<li> configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT. 1145c7b0ab0SAndrey Kiselev 1155c56f5e2SFrank Warmerdam<li> html/Makefile.in: Updated to use groffhtml for generating html pages 1165c56f5e2SFrank Warmerdamfrom man pages. 1175c7b0ab0SAndrey Kiselev 1185c56f5e2SFrank Warmerdam<li> configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support 1195c56f5e2SFrank Warmerdamfrom John H. DuBois III. 1205c7b0ab0SAndrey Kiselev 1215c56f5e2SFrank Warmerdam<li> libtiff/{Makefile.vc, libtiff.def}: Missed declarations added. 1225c56f5e2SFrank Warmerdam 1235c7b0ab0SAndrey Kiselev<li> libtiff/Makefile.in, tools/Makefile.in: Shared library will not be 1245c7b0ab0SAndrey Kiselevstripped when installing, utility binaries will do be stripped. As per bug 93. 1255c7b0ab0SAndrey Kiselev 1265c56f5e2SFrank Warmerdam<li> man/Makefile.in: Patch DESTDIR handling as per bug 95. 1275c56f5e2SFrank Warmerdam 1285c56f5e2SFrank Warmerdam<li> configure: OpenBSD changes for Sparc64 and DSO version as per bug 96. 1295c56f5e2SFrank Warmerdam 1305c56f5e2SFrank Warmerdam<li> config.site/configure: added support for OJPEG=yes option to enable 1315c56f5e2SFrank WarmerdamOJPEG support from config.site. 1325c56f5e2SFrank Warmerdam 1335c56f5e2SFrank Warmerdam<li> config.guess, config.sub: Updated from ftp.gnu.org/pub/config. 1345c56f5e2SFrank Warmerdam 1355c56f5e2SFrank Warmerdam<li> configure: Modify CheckForBigEndian so it can work in a cross 1365c56f5e2SFrank Warmerdamcompiled situation. 1375c56f5e2SFrank Warmerdam 1385c56f5e2SFrank Warmerdam<li> configure, libtiff/Makefile.in: Changes for building on MacOS 10.1 1395c56f5e2SFrank Warmerdamas per bug 94. 1405c56f5e2SFrank Warmerdam 1415c56f5e2SFrank Warmerdam<li> html/Makefile.in: added missing images per bug 92. 1425c56f5e2SFrank Warmerdam 1435c56f5e2SFrank Warmerdam<li> port/Makefile.in: fixed clean target per bug 92. 1445c56f5e2SFrank Warmerdam</UL> 1455c56f5e2SFrank Warmerdam 1465c56f5e2SFrank Warmerdam<P><HR WIDTH=65% ALIGN=left> 1475c56f5e2SFrank Warmerdam 1485c56f5e2SFrank Warmerdam<!---------------------------------------------------------------------------> 1495c56f5e2SFrank Warmerdam 1505c56f5e2SFrank Warmerdam<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A> 1515c56f5e2SFrank Warmerdam 1525c56f5e2SFrank Warmerdam<UL> 153c0cb42c2SAndrey Kiselev 154c0cb42c2SAndrey Kiselev<li> libtiff/tif_getimage.c: New function <A 155c0cb42c2SAndrey KiselevHREF="./man/TIFFReadRGBAImage.3t.html">TIFFReadRGBAImageOriented()</A> 156c0cb42c2SAndrey Kiselevimplemented to retrieve raster array with user-specified origin position. 157c0cb42c2SAndrey Kiselev 158c0cb42c2SAndrey Kiselev<li> libtiff/tif_fax3.c: Fix wrong line numbering. 159c0cb42c2SAndrey Kiselev 160c0cb42c2SAndrey Kiselev<li> libtiff/tif_dirread.c: Check field counter against number of fields. 161c0cb42c2SAndrey Kiselev 162c0cb42c2SAndrey Kiselev<li> Store a list of opened IFD to prevent directory looping. 163c0cb42c2SAndrey Kiselev 1645c7b0ab0SAndrey Kiselev<li> libtiff/tif_jpeg.c: modified segment_height calculation to always 1655c7b0ab0SAndrey Kiselevbe a full height tile for tiled images. Also changed error to just 1665c7b0ab0SAndrey Kiselevbe a warning. 1675c7b0ab0SAndrey Kiselev 1685c7b0ab0SAndrey Kiselev<li> libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till 1695c7b0ab0SAndrey KiselevLZWSetupDecode(). Needed to read LZW files in "r+" mode. 1705c7b0ab0SAndrey Kiselev 1715c7b0ab0SAndrey Kiselev<li> libtiff/tif_dir.c: fixed up the tif_postdecode settings responsible 1725c7b0ab0SAndrey Kiselevfor byte swapping complex image data. 1735c7b0ab0SAndrey Kiselev 1745c7b0ab0SAndrey Kiselev<li> libtiff/tif_open.c: Removed error if opening a compressed file 1755c7b0ab0SAndrey Kiselevin update mode bug (198). 1765c7b0ab0SAndrey Kiselev 1775c7b0ab0SAndrey Kiselev<li> libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is 1785c7b0ab0SAndrey Kiseleva pre-existing compressed image. That is, image writing to pre-existing 1795c7b0ab0SAndrey Kiselevcompressed images is not allowed. 1805c7b0ab0SAndrey Kiselev 1815c56f5e2SFrank Warmerdam<li> html/man/*.html: Web pages regenerated from man pages. 1825c7b0ab0SAndrey Kiselev 1835c56f5e2SFrank Warmerdam<li> libtiff/tif_jpeg.c: Hack to ensure that "boolean" is defined properly 1845c56f5e2SFrank Warmerdamon Windows so as to avoid the structure size mismatch error from libjpeg 1855c56f5e2SFrank Warmerdam(bug 188). 1865c7b0ab0SAndrey Kiselev 1875c56f5e2SFrank Warmerdam<li> libtiff/tiff.h: #ifdef USING_VISUALAGE around previous Visual Age 1885c56f5e2SFrank WarmerdamAIX porting hack as it screwed up gcc. (bug 39) 1895c7b0ab0SAndrey Kiselev 1905c56f5e2SFrank Warmerdam<li> libtiff/tiff.h: added COMPRESSION_JP2000 (34712) for LEAD tools 1915c56f5e2SFrank Warmerdamcustom compression. 1925c7b0ab0SAndrey Kiselev 1935c56f5e2SFrank Warmerdam<li> libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays 1945c56f5e2SFrank Warmerdamby the TIFFFetchByteArray() function. (bug 52) 1955c7b0ab0SAndrey Kiselev 1965c56f5e2SFrank Warmerdam<li> libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair() 1975c56f5e2SFrank Warmerdamas per bug 196. 1985c7b0ab0SAndrey Kiselev 1995c56f5e2SFrank Warmerdam<li> libtiff/tif_lzw.c: Additional consistency checking added in 2005c56f5e2SFrank WarmerdamLZWDecode() and LZWDecodeCompat() fixing bugs 190 and 100. 2015c7b0ab0SAndrey Kiselev 2025c7b0ab0SAndrey Kiselev<li> libtiff/tif_lzw.c: Added check for valid code lengths in LZWDecode() 2035c7b0ab0SAndrey Kiselevand LZWDecodeCompat(). Fixes bug 115. 2045c7b0ab0SAndrey Kiselev 2055c56f5e2SFrank Warmerdam<li> tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the 2065c56f5e2SFrank Warmerdamreturn code from the underlying pick function as per bug 177. 2075c56f5e2SFrank Warmerdam 2085c56f5e2SFrank Warmerdam<li> libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to 2095c56f5e2SFrank Warmerdamfetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't 2105c56f5e2SFrank Warmerdampresent in the tiff tags as per bug 168. 2115c56f5e2SFrank Warmerdam 2125c56f5e2SFrank Warmerdam<li> libtiff/tif_jpeg.c: Fixed problem with setting of nrows in 2135c56f5e2SFrank WarmerdamJPEGDecode() as per bug 129. 2145c56f5e2SFrank Warmerdam 2155c56f5e2SFrank Warmerdam<li> libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and 2165c56f5e2SFrank WarmerdamTIFFWriteScanline() now set tif_row explicitly in case the codec has 2175c56f5e2SFrank Warmerdamfooled with the value as per bug 129. 2185c56f5e2SFrank Warmerdam 2195c56f5e2SFrank Warmerdam<li> libtiff/tif_ojpeg.c: Major upgrade from Scott. Details in bug 156. 2205c56f5e2SFrank Warmerdam 2215c56f5e2SFrank Warmerdam<li> libtiff/tif_open.c: Pointers to custom procedures 2225c56f5e2SFrank Warmerdamin TIFFClientOpen() are checked to be not NULL-pointers. 2235c56f5e2SFrank Warmerdam 2245c56f5e2SFrank Warmerdam<li> libtiff/tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat 2255c56f5e2SFrank Warmerdamreplaced by warnings. Now libtiff should read corrupted LZW-compressed 2265c56f5e2SFrank Warmerdamfiles by skipping bad strips as per bug 100. 2275c56f5e2SFrank Warmerdam 2285c56f5e2SFrank Warmerdam<li> libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: 229b09a3813SAndrey Kiselev<a href=./man/TIFFWriteDirectory.3t.html>TIFFCheckpointDirectory()</a> 230b09a3813SAndrey Kiselevroutine added as per bug 124. The 231b09a3813SAndrey Kiselev<a href=./man/TIFFWriteDirectory.3t.html>TIFFWriteDirectory</a> 232b09a3813SAndrey Kiselevman page discusses this new function as well as the related 233b09a3813SAndrey Kiselev<a href=./man/TIFFWriteDirectory.3t.html>TIFFRewriteDirectory()</a>. 2345c56f5e2SFrank Warmerdam 2355c56f5e2SFrank Warmerdam<li> libtiff/: tif_codec.c, tif_compress.c, tiffiop.h, tif_getimage.c: 2365c56f5e2SFrank WarmerdamIntroduced 2375c56f5e2SFrank Warmerdamadditional members tif->tif_decodestatus and tif->tif_encodestatus 2385c56f5e2SFrank Warmerdamfor correct handling of unconfigured codecs (we should not try to read 2395c56f5e2SFrank Warmerdamdata or to define data size without correct codecs). See bug 119. 2405c56f5e2SFrank Warmerdam 2415c56f5e2SFrank Warmerdam<li> tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func as 2425c56f5e2SFrank Warmerdamper bug 111. 2435c56f5e2SFrank Warmerdam 2445c56f5e2SFrank Warmerdam<li> libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, 2455c56f5e2SFrank Warmerdamtif_dirwrite.c: Dwight Kelly added get/put code for new tag XMLPACKET as 2465c56f5e2SFrank Warmerdamdefined in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 2475c56f5e2SFrank Warmerdamspec INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: 2485c56f5e2SFrank WarmerdamCLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and 2495c56f5e2SFrank WarmerdamINDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). 2505c56f5e2SFrank Warmerdam 2515c56f5e2SFrank Warmerdam<li> libtiff/tif_getimage.c: Additional check for supported codecs added in 2525c56f5e2SFrank WarmerdamTIFFRGBAImageOK, TIFFReadRGBAImage, TIFFReadRGBAStrip and TIFFReadRGBATile now 2535c56f5e2SFrank Warmerdamuse TIFFRGBAImageOK before reading a per bug 110. 2545c56f5e2SFrank Warmerdam 2555c56f5e2SFrank Warmerdam<li> libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, 256b09a3813SAndrey Kiselevtif_dirwrite.c: Added routine 257b09a3813SAndrey Kiselev<a href=./man/TIFFDataWidth.3t.html>TIFFDataWidth</a> for determining 2585c56f5e2SFrank WarmerdamTIFFDataType sizes instead of working with tiffDataWidth array 2595c56f5e2SFrank Warmerdamdirectly as per bug 109. 2605c56f5e2SFrank Warmerdam 2615c56f5e2SFrank Warmerdam<li>libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to 2625c56f5e2SFrank Warmerdamread broken TIFFs with LONG type used for TIFFTAG_COMPRESSION, 2635c56f5e2SFrank WarmerdamTIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC as per bug 99. 2645c56f5e2SFrank Warmerdam 2655c56f5e2SFrank Warmerdam<li> libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__ as per bug 94. 2665c56f5e2SFrank Warmerdam 2675c56f5e2SFrank Warmerdam<li> libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the 2685c56f5e2SFrank Warmerdamdecodestrip function returns anything not greater than zero as per bug 97. 2695c56f5e2SFrank Warmerdam 2705c56f5e2SFrank Warmerdam<li> libtiff/tif_jpeg.c: fixed computation of segment_width for 2715c56f5e2SFrank Warmerdamtiles files to avoid error about it not matching the 2725c56f5e2SFrank Warmerdamcinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile 2735c56f5e2SFrank Warmerdamsize.") for ITIFF files. Apparently the problem was incorporated since 2745c56f5e2SFrank Warmerdam3.5.5, presumably during the OJPEG/JPEG work recently. 2755c56f5e2SFrank Warmerdam 2765c56f5e2SFrank Warmerdam<li> libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 2775c56f5e2SFrank Warmerdam(defined in tiffconf.h - 1 by default) then the RGBA interface 2785c56f5e2SFrank Warmerdamwill assume that a fourth extra sample is ASSOCALPHA if the 2795c56f5e2SFrank WarmerdamEXTRASAMPLE value isn't set for it. This changes the behaviour of 2805c56f5e2SFrank Warmerdamthe library, but makes it work better with RGBA files produced by 2815c56f5e2SFrank Warmerdamlots of applications that don't mark the alpha values properly. 2825c56f5e2SFrank WarmerdamAs per bugs 93 and 65. 2835c56f5e2SFrank Warmerdam 2845c56f5e2SFrank Warmerdam<li> libtiff/tif_jpeg.c: allow jpeg data stream sampling values to 2855c56f5e2SFrank Warmerdamoverride those from tiff directory. This makes this work with 2865c56f5e2SFrank WarmerdamImageGear generated files. 2875c56f5e2SFrank Warmerdam 2885c56f5e2SFrank Warmerdam</UL> 2895c56f5e2SFrank Warmerdam 2905c56f5e2SFrank Warmerdam<P><HR WIDTH=65% ALIGN=left> 2915c56f5e2SFrank Warmerdam 2925c56f5e2SFrank Warmerdam<!--------------------------------------------------------------------------> 2935c56f5e2SFrank Warmerdam 2945c56f5e2SFrank Warmerdam<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A> 2955c56f5e2SFrank Warmerdam 2965c56f5e2SFrank Warmerdam<UL> 297c0cb42c2SAndrey Kiselev 298c0cb42c2SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Added page size setting 299c0cb42c2SAndrey Kiselevwhen creating PS Level 2. 300c0cb42c2SAndrey Kiselev 301c0cb42c2SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Fixed PS comment emitted when 302c0cb42c2SAndrey KiselevFlateDecode is being used. 303c0cb42c2SAndrey Kiselev 304c0cb42c2SAndrey Kiselev<li> <a href=./man/tiffsplit.1.html>tiffsplit</a>: increased the maximum 305c0cb42c2SAndrey Kiselevnumber of pages that can be split. 306c0cb42c2SAndrey Kiselev 307c0cb42c2SAndrey Kiselev<li> <a href=./man/raw2tiff.1.html>raw2tiff</a>: Added option `-p' to 308c0cb42c2SAndrey Kiselevexplicitly select color space of input image data. 309c0cb42c2SAndrey Kiselev 310c0cb42c2SAndrey Kiselev<li> <a href=./man/tiffmedian.1.html>tiffmedian</a>: Suppiort for large 311c0cb42c2SAndrey Kiselev(> 2GB) images. 312c0cb42c2SAndrey Kiselev 313c0cb42c2SAndrey Kiselev<li> <a href=./man/ppm2tiff.1.html>ppm2tiff</a>: Fixed possible endless loop. 314c0cb42c2SAndrey Kiselev 315c0cb42c2SAndrey Kiselev<li> <a href=./man/tiff2rgba.1.html>tiff2rgba</a>: Switched to use 316c0cb42c2SAndrey Kiselev<A HREF="./man/TIFFReadRGBAImage.3t.html">TIFFReadRGBAImageOriented()</A> 317c0cb42c2SAndrey Kiselevinstead of <A HREF="./man/TIFFReadRGBAImage.3t.html">TIFFReadRGBAImage()</A>. 318c0cb42c2SAndrey Kiselev 3195c7b0ab0SAndrey Kiselev<li> <a href=./man/tiffcmp.1.html>tiffcmp</a>: Fixed problem with unused data 3205c7b0ab0SAndrey Kiselevcomparing (bug 349). `-z' option now can be used to set the number of reported 3215c7b0ab0SAndrey Kiselevdifferent bytes. 3225c7b0ab0SAndrey Kiselev 3235c7b0ab0SAndrey Kiselev<li> <a href=./man/tiffcp.1.html>tiffcp</a>: Added possibility to specify 3245c7b0ab0SAndrey Kiselevvalue -1 to -r option to get the entire image as one strip (bug 343). 3255c7b0ab0SAndrey Kiselev 3265c7b0ab0SAndrey Kiselev<li> <a href=./man/tiffcp.1.html>tiffcp</a>: Set the correct RowsPerStrip 3275c7b0ab0SAndrey Kiselevand PageNumber values (bug 343). 3285c7b0ab0SAndrey Kiselev 3295c7b0ab0SAndrey Kiselev<li> <a href=./man/fax2tiff.1.html>fax2tiff</a>: Page numbering fixed (bug 3305c7b0ab0SAndrey Kiselev341). 3315c7b0ab0SAndrey Kiselev 3325c7b0ab0SAndrey Kiselev<li> <a href=./man/ppm2tiff.1.html>ppm2tiff</a>: PPM header parser improved: 3335c7b0ab0SAndrey Kiselevnow able to skip comments. 3345c7b0ab0SAndrey Kiselev 3355c7b0ab0SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Force deadzone printing when 3365c7b0ab0SAndrey KiselevEPS output specified (bug 325). 3375c7b0ab0SAndrey Kiselev 3385c7b0ab0SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Add ability to generate 3395c7b0ab0SAndrey KiselevPS Level 3. It basically allows one to use the /flateDecode filter for ZIP 3405c7b0ab0SAndrey Kiselevcompressed TIFF images. Patch supplied by Tom Kacvinsky (bug 328). 3415c7b0ab0SAndrey Kiselev 3425c7b0ab0SAndrey Kiselev<li> <a href=./man/tiffcp.1.html>tiffcp</a>: Fixed problem with colorspace 3435c7b0ab0SAndrey Kiselevconversion for JPEG encoded images (bugs 23 and 275) 3445c7b0ab0SAndrey Kiselev 3455c7b0ab0SAndrey Kiselev<li> <a href=./man/fax2tiff.1.html>fax2tiff</a>: Applied patch from 3465c7b0ab0SAndrey KiselevJulien Gaulmin. More switches for fax2tiff tool for better control 3475c7b0ab0SAndrey Kiselevof input and output (bugs 272 and 293). 3485c56f5e2SFrank Warmerdam 349b09a3813SAndrey Kiselev<li> <a href=./man/raw2tiff.1.html>raw2tiff</a>: 350b09a3813SAndrey KiselevNew utility for turning raw raster images into TIFF files 3515c56f5e2SFrank Warmerdamwritten by Andrey Kiselev. 3525c56f5e2SFrank Warmerdam 353b09a3813SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: 354b09a3813SAndrey KiselevSebastian Eken provided patches (bug 200) to add new these new 3555c56f5e2SFrank Warmerdamswitches: 3565c56f5e2SFrank Warmerdam <ul> 3575c56f5e2SFrank Warmerdam <li> <b>-b #</b>: for a bottom margin of # inches 3585c56f5e2SFrank Warmerdam <li> <b>-c</b>: center image 3595c56f5e2SFrank Warmerdam <li> <b>-l #</b>: for a left margin of # inches 3605c56f5e2SFrank Warmerdam <li> <b>-r</b>: rotate the image by 180 degrees 3615c56f5e2SFrank Warmerdam </ul> 3625c56f5e2SFrank Warmerdam 3635c56f5e2SFrank WarmerdamAlso, new features merged with code for shrinking/overlapping. 3645c56f5e2SFrank Warmerdam 365b09a3813SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Don't emit BeginData/EndData 366b09a3813SAndrey KiselevDSC comments since we are unable to properly include the amount to skip 367b09a3813SAndrey Kiselevas per bug 80. 3685c56f5e2SFrank Warmerdam 369b09a3813SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Added workaround for some 370b09a3813SAndrey Kiselevsoftware that may crash when last strip of image contains fewer number 371b09a3813SAndrey Kiselevof scanlines than specified by the `/Height' variable as per bug 164. 3725c56f5e2SFrank Warmerdam 373b09a3813SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Patch from John Williams to add new 3745c56f5e2SFrank Warmerdamfunctionality for tiff2ps utility splitting long images in several pages as 375b09a3813SAndrey Kiselevper bug 142. New switches: 376b09a3813SAndrey Kiselev <ul> 377b09a3813SAndrey Kiselev <li> <b>-H #</b>: split image if height is more than # inches 378b09a3813SAndrey Kiselev <li> <b>-L #</b>: overLap split images by # inches 379b09a3813SAndrey Kiselev </ul> 3805c56f5e2SFrank Warmerdam 381b09a3813SAndrey Kiselev<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: New commandline 382b09a3813SAndrey Kiselevswitches to override resolution units obtained from the input file per bug 131: 383b09a3813SAndrey Kiselev <ul> 384b09a3813SAndrey Kiselev <li> <b>-x</b>: override resolution units as centimeters 385b09a3813SAndrey Kiselev <li> <b>-y</b>: override resolution units as inches 386b09a3813SAndrey Kiselev </ul> 3875c56f5e2SFrank Warmerdam 388b09a3813SAndrey Kiselev<li> <a href=./man/fax2tiff.1.html>fax2tiff</a>: Updated to reflect 389b09a3813SAndrey Kiselevlatest changes in libtiff per bug 125. 3905c56f5e2SFrank Warmerdam 391b09a3813SAndrey Kiselev<li> tiff2ps: Division by zero fixed as per bug 88. 3925c56f5e2SFrank Warmerdam 393b09a3813SAndrey Kiselev<li> <a href=./man/tiffcp.1.html>tiffcp<a>: 394b09a3813SAndrey KiselevAdded support for 'Orientation' tag. 3955c56f5e2SFrank Warmerdam 396b09a3813SAndrey Kiselev<li> <a href=./man/tiffdump.1.html>tiffdump</a>: 397b09a3813SAndrey Kiselevinclude TIFFTAG_JPEGTABLES in tag list. 3985c56f5e2SFrank Warmerdam 399b09a3813SAndrey Kiselev<li> tiffset: fix bug in error reporting. 4005c56f5e2SFrank Warmerdam 4015c56f5e2SFrank Warmerdam</UL> 4025c56f5e2SFrank Warmerdam 4035c56f5e2SFrank Warmerdam<P><HR WIDTH=65% ALIGN=left> 4045c56f5e2SFrank Warmerdam 4055c56f5e2SFrank Warmerdam<!---------------------------------------------------------------------------> 4065c56f5e2SFrank Warmerdam 4075c56f5e2SFrank Warmerdam<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A> 4085c56f5e2SFrank Warmerdam<UL> 4095c56f5e2SFrank Warmerdam 4105c56f5e2SFrank Warmerdam<li> Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}. 4115c56f5e2SFrank Warmerdam<li> libtiff/contrib/win95: renamed to contrib/win_dib. Added new 4125c56f5e2SFrank WarmerdamTiffile.cpp example of converting TIFF files into a DIB on Win32 as per 4135c56f5e2SFrank Warmerdambug 143. 4145c56f5e2SFrank Warmerdam 4155c56f5e2SFrank Warmerdam</UL> 4165c56f5e2SFrank Warmerdam 417d295e3e9SAndrey Kiselev<!---------------------------------------------------------------------------> 418d295e3e9SAndrey Kiselev 419d295e3e9SAndrey Kiselev<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION 420d295e3e9SAndrey KiselevKIT:</B></A> 421d295e3e9SAndrey Kiselev<UL> 422d295e3e9SAndrey Kiselev 423d295e3e9SAndrey Kiselev<li> LZW compression kit synchronized with actual libtiff version. 424d295e3e9SAndrey Kiselev 425d295e3e9SAndrey Kiselev</UL> 426d295e3e9SAndrey Kiselev 4275c56f5e2SFrank Warmerdam<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR> 4285c56f5e2SFrank Warmerdam 4295c56f5e2SFrank Warmerdam<HR> 4305c56f5e2SFrank Warmerdam 431*d4dd6cccSBob FriesenhahnLast updated $Date: 2016-09-25 20:05:45 $. 4325c56f5e2SFrank Warmerdam 4335c56f5e2SFrank Warmerdam</BODY> 4345c56f5e2SFrank Warmerdam</HTML> 435