1<HTML>
2<HEAD>
3<TITLE>
4	Changes in TIFF v3.9.0beta
5</TITLE>
6</HEAD>
7
8<BODY BGCOLOR=white>
9<FONT FACE="Helvetica, Arial, Sans">
10<FONT FACE="Helvetica, Arial, Sans">
11
12<BASEFONT SIZE=4>
13<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
14<BASEFONT SIZE=3>
15
16<UL>
17<HR SIZE=4 WIDTH=65% ALIGN=left>
18<B>Current Version</B>: v3.9.0beta<BR>
19<B>Previous Version</B>: <A HREF=v3.8.2.html>v3.8.2</a><BR>
20<B>Master FTP Site</B>: <A HREF="ftp://download.osgeo.org/libtiff">
21download.osgeo.org</a>, directory pub/libtiff</A><BR>
22<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
23http://www.simplesystems.org/libtiff/</a>
24<HR SIZE=4 WIDTH=65% ALIGN=left>
25</UL>
26
27<P>
28This document describes the changes made to the software between the
29<I>previous</I> and <I>current</I> versions (see above).
30If you don't find something listed here, then it was not done in this
31timeframe, or it was not considered important enough to be mentioned.
32The following information is located here:
33<UL>
34<LI><A HREF="#hightlights">Major Changes</A>
35<LI><A HREF="#configure">Changes in the software configuration</A>
36<LI><A HREF="#libtiff">Changes in libtiff</A>
37<LI><A HREF="#tools">Changes in the tools</A>
38<LI><A HREF="#contrib">Changes in the contrib area</A>
39</UL>
40<p>
41<P><HR WIDTH=65% ALIGN=left>
42
43<!--------------------------------------------------------------------------->
44
45<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
46
47<UL>
48	<li> New <b>tiffcrop</b> utility contributed by Richard Nolde.
49	<b>tiffcrop</b> does the same as <b>tiffcp</b>, but also can crop,
50	extract, rotate and mirror images.
51
52	<li> tif_jbig.c:  Added	support for JBIG compression scheme
53	(34661 code), contributed by Lee Howard.
54
55	<li> Totally new implementation of OJPEG module from
56	Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files
57	should be supported now that was not supported previously.
58
59</UL>
60
61
62<P><HR WIDTH=65% ALIGN=left>
63<!--------------------------------------------------------------------------->
64
65<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
66
67<UL>
68
69	<li> tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
70	compatibility stuff from Mateusz Loskot.
71
72	<li> Rename config.h.vc and tif_config.h.vc to config.vc.h and
73	tif_config.vc.h for easier identification by folks using an IDE.
74
75	<li> configure, configure.ac: OJPEG support enabled by default (i.e.,
76	whe the conformant JPEG support enabled).
77
78	<li> README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
79	tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
80	Added support for OpenVMS by Alexey Chupahin.
81
82	<li> nmake.opt: use /EHsc for VS2005 compatibility.  Also define
83	_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
84
85</UL>
86
87<P><HR WIDTH=65% ALIGN=left>
88
89<!--------------------------------------------------------------------------->
90
91<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
92
93<UL>
94	<li> tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
95	bsearch() on a NULL fieldinfo list.
96	(_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL
97	fieldinfo list.
98
99	<li> tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
100	will convert from decompressor to compressor or compress to decompress
101	if required by the force arguments.  This works around a problem in
102	where the JPEGFixupTestSubsampling() may cause a decompressor to
103	be setup on a directory when later a compressor is required with the
104	force flag set.  Occurs with the addtiffo program for instance.
105
106	<li> tif_dirwrite.c: Fixed swapping of byte arrays stored
107	in-place in tag offsets as per bug
108	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1363">
109	http://bugzilla.remotesensing.org/show_bug.cgi?id=1363</a>
110
111	<li> tif_getimage.c: workaround for 'Fractional scanline' error
112	reading OJPEG images with rowsperstrip that is not a multiple of
113	vertical subsampling factor. This bug is mentioned in
114	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1390">
115	http://bugzilla.remotesensing.org/show_bug.cgi?id=1390</a> and
116	<a href="http://www.asmail.be/msg0054766825.html">
117	http://www.asmail.be/msg0054766825.html</a>
118
119	<li> tif_dirread.c: Added special function to handle
120	SubjectDistance EXIF tag as per bug
121	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1362">
122	http://bugzilla.remotesensing.org/show_bug.cgi?id=1362</a>
123
124	<li> tif_dirread.c, tif_read.c: Type of the byte counters
125	changed from tsize_t to uint32 to be able to work with data arrays
126	larger than 2GB. Fixes bug
127	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=890">
128	http://bugzilla.remotesensing.org/show_bug.cgi?id=89</a>
129	Idea submitted by Matt Hancher.
130
131	<li> tif_dir.c: Workaround for incorrect TIFFs with
132	ExtraSamples == 999 produced by Corel Draw. As per bug
133	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1490">
134	http://bugzilla.remotesensing.org/show_bug.cgi?id=1490</a>
135
136	<li> tif_write.c: TIFFAppendToStrip() - clear sorted flag if
137	we move a strip.
138	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1359">
139		http://bugzilla.remotesensing.org/show_bug.cgi?id=1359</a>
140
141	<li> tif_fax3.c: Save the state of printdir codec dependent method.
142
143	<li> tif_jpeg.c: Save the state of printdir codec dependent method
144	as per bug
145	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1273">
146		http://bugzilla.remotesensing.org/show_bug.cgi?id=1273</a>
147
148	<li> tif_win32.c: Fixed problem with offset value manipulation
149	as per bug
150	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1322">
151		http://bugzilla.remotesensing.org/show_bug.cgi?id=1322</a>
152
153	<li> tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
154	vulnerabilities, as per	Gentoo bug ():
155	<a href="http://bugs.gentoo.org/show_bug.cgi?id=142383">
156	http://bugs.gentoo.org/show_bug.cgi?id=142383</a>
157
158	<li> tif_lzw.c, tif_zip.c: Fixed problems with mixing
159	encoding and decoding on the same read-write TIFF handle.  The LZW
160	code can now maintain encode and decode state at the same time. The
161	ZIP code will switch back and forth as needed.
162	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=757">
163	http://bugzilla.remotesensing.org/show_bug.cgi?id=757</a>
164
165	<li> tif_msdos.c: Avoid handle leak for failed opens.
166	c/o Thierry Pierron
167
168	<li> tif_dirwrite.c: take care not to flush out buffer of strip/tile
169	data in _TIFFWriteDirectory if TIFF_BEENWRITING not set.  Relates
170	to bug report by Peng Gao with black strip at bottom of images.
171
172	<li> tif_dirwrite.c: make sure to use uint32 for wordcount in
173	TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
174	It already seems to have been done for other field types.  Needed
175	for "tiffset" on files with geotiff ascii text.
176
177	<li> tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
178
179	<li> tif_dirread.c: Move IFD fetching code in the separate
180	function TIFFFetchDirectory() avoiding code duplication in
181	TIFFReadDirectory() and TIFFReadCustomDirectory().
182
183	<li>tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
184	files.  Modified TIFFReadDirectory() to not invoke
185	EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
186	one of them is zero.
187	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1204">
188	http://bugzilla.remotesensing.org/show_bug.cgi?id=1204</a>
189
190	<li> tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping
191	checking code in the separate function TIFFCheckDirOffset().
192
193	<li> tif_aux.c: Added _TIFFCheckRealloc() function.
194
195	<li> tif_fax3.c: Fixed problems in fax decoder as per bug
196	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1194">
197	http://bugzilla.remotesensing.org/show_bug.cgi?id=1194</a>
198
199	<li> tif_jbig.c:  Added	support for JBIG compression scheme
200	(34661 code) contributed by Lee Howard. As per bug
201	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=896">
202		http://bugzilla.remotesensing.org/show_bug.cgi?id=896</a>
203
204	<li> tif_getimage.c: Added support for planarconfig separate
205	non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]).
206
207	<li> tif_getimage.c: Revision of all RGB(A) put routines:
208	<ul>
209		<li> Conversion of unassociated alpha to associated alpha
210		now done with more performant LUT, and calculation more
211		correct.
212	  	<li> Conversion of 16bit data to 8bit data now done with
213	  	more performant LUT, and calculation more correct
214	  	<li> Bugfix of handling of 16bit RGB with unassociated alpha
215  	</ul>
216
217	<li> tif_ojpeg.c: totally new implementation
218
219	<li> tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
220	of OJPEG images in favor of tif_getimage.c native handling of
221	YCbCr and desubsampling.
222
223	<li> tif_jpeg.c: JPEGVSetField() so that altering the photometric
224	interpretation causes the "upsampled" flag to be recomputed.  Fixes
225	peculiar bug where photometric flag had to be set before jpegcolormode
226	flag.
227
228</UL>
229
230<P><HR WIDTH=65% ALIGN=left>
231
232<!-------------------------------------------------------------------------->
233
234<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
235
236<UL>
237	<li> tiff2ps.c:  Added support 16-bit images as per bug
238	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1566">
239	http://bugzilla.remotesensing.org/show_bug.cgi?id=1566</a>.
240	Patch from William Bader.
241
242	<li> tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
243	significant upgrade of the whole utility as per bug
244	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1560">
245	http://bugzilla.remotesensing.org/show_bug.cgi?id=1560</a>.
246	Now we don't need tiffiop.h in tiff2pdf anymore and will open output
247	PDF file using TIFFClientOpen() machinery as it is implemented
248	by Leon Bottou.
249
250	<li> tiffcrop.c:  New tiffcrop utility contributed
251	by Richard Nolde. As per bug
252	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1383">
253	http://bugzilla.remotesensing.org/show_bug.cgi?id=1383</a>
254
255	<li> tiff2pdf.c: Do not assume inches when the resolution units
256	do not specified. As per bug
257	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1366">
258	http://bugzilla.remotesensing.org/show_bug.cgi?id=1366</a>
259
260	<li> tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
261	As per bug
262	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1350">
263		http://bugzilla.remotesensing.org/show_bug.cgi?id=1350</a>
264
265	<li> tif2rgba.c: This utility does not work properly on big-endian
266	architectures. It was fixed including the bug
267	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1149">
268	http://bugzilla.remotesensing.org/show_bug.cgi?id=1149</a>
269
270	<li> tiff2pdf.c: Fix handling of -q values.
271	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=587">
272	http://bugzilla.remotesensing.org/show_bug.cgi?id=587</a>
273
274	<li> tiffcmp.c: Fixed floating point comparison logic as per bug
275	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1191">
276	http://bugzilla.remotesensing.org/show_bug.cgi?id=1191</a>
277
278	<li> tiff2pdf.c: Fixed buffer overflow condition in
279	t2p_write_pdf_string() as per bug
280	<a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1196">
281	http://bugzilla.remotesensing.org/show_bug.cgi?id=1196</a>
282
283</UL>
284
285<P><HR WIDTH=65% ALIGN=left>
286
287<!--------------------------------------------------------------------------->
288
289<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
290
291<UL>
292
293	<li> contrib/addtiffo/tif_overview.c: Fix problems with odd sized
294	output blocks in TIFF_DownSample_Subsampled() (bug 1542).
295
296	<li> contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
297	Though it is still far from the state of being working and useful.
298
299</UL>
300
301Last updated $Date: 2016-09-25 20:05:46 $.
302
303</BODY>
304</HTML>
305