Merge remote-tracking branch 'origin/2.4' into merge-2.4
[profile/ivi/opencv.git] / 3rdparty / openexr / ChangeLog.openexr
1 Version 1.7.1:
2         * Updated the .so verison to 7.
3           (Piotr Stanczyk)     
4
5 Version 1.7.0:
6         * Added support for targetting builds on 64bit Windows and minimising 
7           number of compiler warnings on Windows. Thanks to Ger Hobbelt for his
8           contributions to CreateDLL.
9           (Ji Hun Yu)
10         * Added new atttribute types:
11           M33dAttribute   3x3 double-precision matrix
12           M44dAttribute   4x4 double-precision matrix
13           V2d             2D double-precision vector
14           V3d             3D double-precision vector
15           (Florian Kainz)
16         * Bug fix: crash when reading a damaged image file (found
17           by Apple).  An exception thrown inside the PIZ Huffman
18           decoder bypasses initialization of an array of pointers.
19           The uninitialized pointers are later passed to operator
20           delete.
21           (Florian Kainz)
22         * Bug fix: crash when reading a damaged image file (found by
23           Apple).  Computing the size of input certain buffers may
24           overflow and wrap around to a small number, later causing
25           writes beyond the end of the buffer.
26           (Florian Kainz)
27         * In the "Technical Introduction" document, added
28           Premultiplied vs. Un-Premulitiplied Color section:
29           states explicitly that pixels with zero alpha and non-zero
30           RGB are allowed, points out that preserving such a pixel can
31           be a problem in application programs with un-premultiplied
32           internal image representations.
33           (Florian Kainz)
34         * exrenvmap improvements:
35           - New command line flags set the type of the input image to
36             latitude-longitude map or cube-face map, overriding the
37             envmap attribute in the input file header.
38           - Cube-face maps can now be assembled from or split into six
39             square sub-images.
40           - Converting a cube-face map into a new cube-face map with
41             the same face size copies the image instead of resampling
42             it.  This avoids blurring when a cube-face map is assembled
43             from or split into sub-images.
44           (Florian Kainz)
45         * Updated standard chromaticities in ImfAcesFile.cpp to match
46           final ACES (Academy Color Encoding Specification) document.
47           (Florian Kainz)
48         * Added worldToCamera and worldToNDC matrices to
49           ImfStandardAttributes.h (Florian Kainz)
50         * Increased the maximum length of attribute and channel names
51           from 31 to 255 characters.  For files that do contain names
52           longer than 31 characters, a new LONG_NAMES_FLAG in the fil
53           version number is set.  This flag causes older versions of
54           the IlmImf library (1.6.1 and earlier) to reject files with
55           long names.  Without the flag, older library versions would
56           mis-interpret files with long names as broken.
57           (Florian Kainz)
58         * Reading luminance/chroma-encoded files via the RGBA
59           interface is faster: buffer padding avoids cache thrashing
60           for certain image sizes, redundant calls to saturation()
61           have been eliminated.
62           (Mike Wall)
63         * Added "hemispherical blur" option to exrenvmap.
64           (Florian Kainz)
65         * Added experimental version of I/O classes for ACES file
66           format (restricted OpenEXR format with special primaries
67           and white point); added exr2aces file converter.
68           (Florian Kainz)
69         * Added new constructors to classes Imf::RgbaInputFile and
70           Imf::TiledRgbaInputFile.  The new constructors have a
71           layerName parameter, which allows the caller to specify
72           which layer of a multi-layer or multi-view image will
73           be read.
74           (Florian Kainz)
75         * A number of member functions in classes Imf::Header,
76           Imf::ChannelList and Imf::FrameBuffer have parameters
77           of type "const char *".  Added equivalent functions that
78           take "const std::string &" parameters.
79           (Florian Kainz)
80         * Added library support for Weta Digital multi-view images:
81           StringVector attribute type, multiView standard attribute
82           of type StringVector, utility functions related to grouping
83           channels into separate views.
84           (Peter Hillman, Florian Kainz)
85
86 Version 1.6.1:
87         * Removed Windows .suo files from distribution.
88           (Eric Wimmer)
89         * Bug fix: crashes, memory leaks and file descriptor leaks
90           when reading damaged image files (some reported by Apple,
91           others found by running IlmImfFuzzTest).
92           (Florian Kainz)
93         * Added new IlmImfFuzzTest program to test how resilient the
94           IlmImf library is with respect broken input files: the program
95           first damages OpenEXR files by partially overwriting them with
96           random data; then it tries to read the damaged files.  If all
97           goes well, the program doesn't crash.
98           (Florian Kainz)
99
100 Version 1.6.0:
101         * Bumped DSO version number to 6.0
102           (Florian Kainz)
103         * Added new standard attributes related to color rendering with
104           CTL (Color Transformation Language): renderingTransform,
105           lookModTransform and adoptedNeutral.
106           (Florian Kainz)
107         * Bug fix: for pixels with luminance near HALF_MIN, conversion
108           from RGB to luminance/chroma produces NaNs and infinities
109           (Florian Kainz)
110         * Bug fix: excessive desaturation of small details with certain
111           colors after repeatedly loading and saving luminance/chroma
112           encoded images with B44 compression.
113           (Florian Kainz)
114         * Added B44A compression, a minor variation of B44: in most cases,
115           the compression ratio is 2.28:1, the same as with B44, but in
116           uniform image areas where all pixels have the same value, the
117           compression ratio increases to 10.66:1.  Uniform areas occur, for
118           example, in an image's alpha channel, which typically contains
119           large patches that are solid black or white, or in computer-
120           generated images with a black background.
121           (Florian Kainz)
122         * Added flag to configure.ac to enable or disable use of large
123           auto arrays in the IlmImf library.  Default is "enable" for
124           Linux, "disable" for everything else.
125           (Darby Johnston, Florian Kainz)
126         * corrected version number on dso's (libtool) - now 5.0
127         * Separated ILMBASE_LDFLAGS and ILMBASE_LIBS so that test programs
128           can link with static libraries properly
129         * eliminated some warning messages during install
130           (Andrew Kunz)
131         
132 Version 1.5.0:
133         * reorganized packaging of OpenEXR libraries to facilitate
134           integration with CTL.  Now this library depends on the library
135           IlmBase.  Some functionality has been moved into OpenEXR_Viewers,
136           which depends on two other libraries, CTL and OpenEXR_CTL.
137           Note: previously there were separate releases of
138           OpenEXR-related plugins for Renderman, Shake and Photoshop.
139           OpenEXR is supported natively by Rendermand and Photoshop, so
140           these plugins will not be supported for this or future
141           versions of OpenEXR.
142           (Andrew Kunz)
143         * New build scripts for Linux/Unix
144           (Andrew Kunz)
145         * New Windows project files and build scripts
146           (Kimball Thurston)
147         * float-to-half conversion now preserves the sign of float zeroes
148           and of floats that are so small that they become half zeroes.
149           (Florian Kainz)
150         * Bug fix: Imath::Frustum<T>::planes() returns incorrect planes
151           if the frustum is orthogonal.
152           (Philip Hubbard)
153         * added new framesPerSecond optional standard attribute
154           (Florian Kainz)
155         * Imath cleanup:
156           - Rewrote function Imath::Quat<T>::setRotation() to make it
157             numerically more accurate, added confidence tests
158           - Rewrote function Imath::Quat<T>::slerp() using Don Hatch's
159             method, which is numerically more accurate, added confidence
160             tests.
161           - Rewrote functions Imath::closestPoints(), Imath::intersect(),
162             added confidence tests.
163           - Removed broken function Imath::nearestPointOnTriangle().
164           - Rewrote Imath::drand48(), Imath::lrand48(), etc. to make
165             them functionally identical with the Unix/Linux versions
166             of drand48(), lrand48() and friends.
167           - Replaced redundant definitions of Int64 in Imath and IlmImf
168             with a single definition in ImathInt64.h.
169           (Florian Kainz)
170         * exrdisplay: if the file's and the display's RGB chromaticities
171           differ, the pixels RGB values are transformed from the file's
172           to the display's RGB space.
173           (Florian Kainz)
174         * Added new lossy B44 compression method.  HALF channels are
175           compressed with a fixed ratio of 2.28:1.  UINT and FLOAT
176           channels are stored verbatim, without compression.
177           (Florian Kainz)
178
179 Version 1.4.0a:
180         * Fixed the ReleaseDLL targets for Visual Studio 2003.
181           (Barnaby Robson)
182         
183 Version 1.4.0:  
184         * Production release.
185         * Bug Fix: calling setFrameBuffer() for every scan line
186           while reading a tiled file through the scan line API
187           returns bad pixel data. (Paul Schneider, Florian Kainz)
188
189 Version 1.3.1:
190         * Fixed the ReleaseDLL targets for Visual Studio 2005.
191           (Nick Porcino, Drew Hess)
192         * Fixes/enhancements for createDLL.
193           (Nick Porcino)
194         
195 Version 1.3.0:
196         * Removed openexr.spec file, it's out of date and broken to
197           boot.
198           (Drew Hess)
199         * Support for Visual Studio 2005.
200           (Drew Hess, Nick Porcino)
201         * When compiling against OpenEXR headers on Windows, you
202           no longer need to define any HAVE_* or PLATFORM_* 
203           macros in your projects.  If you are using any OpenEXR
204           DLLs, however, you must define OPENEXR_DLL in your
205           project's preprocessor directives.
206           (Drew Hess)
207         * Many fixes to the Windows VC7 build system.
208           (Drew Hess, Nick Porcino)
209         * Support for building universal binaries on OS X 10.4.
210           (Drew Hess, Paul Schneider)
211         * Minor configure.ac fix to accomodate OS X's automake.
212           (Drew Hess)
213         * Removed CPU-specific optimizations from configure.ac,
214           autoconf's guess at the CPU type isn't very useful,
215           anyway.  Closes #13429.
216           (Drew Hess)
217         * Fixed quoting for tests in configure.ac.  Closes #13428.
218           (Drew Hess)
219         * Use host specification instead of target in configure.ac.
220           Closes #13427.
221           (Drew Hess)
222         * Fix use of AC_ARG_ENABLE in configure.ac.  Closes
223           #13426.
224           (Drew Hess)
225         * Removed workaround for OS X istream::read bug.
226           (Drew Hess)
227         * Added pthread support to OpenEXR pkg-config file.
228           (Drew Hess)
229         * Added -no-undefined to LDFLAGS and required libs to LIBADD
230           for library projects with other library dependencies, per
231           Rex Dieter's patch.
232           (Drew Hess)
233         * HAVE_* macros are now defined in the OpenEXRConfig.h header
234           file instead of via compiler flags.  There are a handful of
235           public headers which rely on the value of these macros,
236           and projects including these headers have previously needed
237           to define the same macros and values as used by OpenEXR's
238           'configure', which is bad form.  Now 'configure' writes these
239           values to the OpenEXRConfig.h header file, which is included
240           by any OpenEXR source files that need these macros.  This
241           method of specifying HAVE_* macros guarantees that projects
242           will get the proper settings without needing to add compile-
243           time flags to accomodate OpenEXR.  Note that this isn't
244           implemented properly for Windows yet.
245           (Drew Hess)
246         * Platform cleanups:
247           - No more support for IRIX or OSF1.
248           - No more explicit support for SunOS, because we have no way to
249             verify that it's working.  I suspect that newish versions of 
250             SunOS will just work out of the box, but let me know if not.
251           - No more PLATFORM_* macros (vestiges of the ILM internal build 
252             system).  PLATFORM_DARWIN_PPC is replaced by HAVE_DARWIN.
253             PLATFORM_REDHAT_IA32 (which was only used in IlmImfTest) is
254             replaced by HAVE_LINUX_PROCFS.
255           - OS X 10.4, which is the minimum version we're going to support
256             with this version, appears to have support for nrand48 and friends,
257             so no need to use the Imath-supplied version of them anymore.
258           (Drew Hess)
259         * No more PLATFORM_WINDOWS or PLATFORM_WIN32, replace with 
260           proper standard Windows macros.  (Drew Hess)
261         * Remove support for gcc 2.95, no longer supported.  (Drew Hess)
262         * Eliminate HAVE_IOS_BASE macro, OpenEXR now requires support for
263           ios_base.  (Drew Hess)
264         * Eliminate HAVE_STL_LIMITS macro, OpenEXR now requires the ISO C++
265           <limits> header.  (Drew Hess)
266         * Use double quote-style include dirctives for OpenEXR
267           includes.  (Drew Hess)
268         * Added a document that gives an overview of the on-disk
269           layout of OpenEXR files (Florian Kainz)
270         * Added sections on layers and on memory-mapped file input
271           to the documentation.  (Florian Kainz)
272         * Bug fix: reading an incomplete file causes a deadlock while
273           waiting on a semaphore.  (Florian Kainz)
274         * Updated documentation (ReadingAndWritingImageFiles.sxw) and
275           sample code (IlmImfExamples):
276           Added a section about multi-threading, updated section on
277           thread-safety, changed documentation and sample code to use
278           readTiles()/writeTiles() instead of readTile()/writeTile()
279           where possible, mentioned that environment maps contain
280           redundant pixels, updated section on testing if a file is
281           an OpenEXR file.
282           (Florian Kainz)
283         * Multi-threading bug fixes (exceptions could be thrown
284           multiple times, some operations were not thread safe),
285           updated some comments, added comments, more multithreaded
286           testing.
287           (Florian Kainz)
288         * Added multi-threading support: multiple threads
289           cooperate to read or write a single OpenEXR file.
290           (Wojciech Jarosz)
291         * Added operator== and operator!= to Imath::Frustum.
292           (Andre Mazzone)
293         * Bug fix: Reading a PIZ-compressed file with an invalid
294           Huffman code table caused crashes by indexing off the
295           end of an array.
296           (Florian Kainz)
297
298 Version 1.2.2:
299         * Updated README to remove option for building with Visual C++ 6.0.
300           (Drew Hess)
301         * Some older versions of gcc don't support a full iomanip
302           implemenation; check for this during configuration. 
303           (Drew Hess)
304         * Install PDF versions of documentation, remove old/out-of-date
305           HTML documentation.  (Florian Kainz)
306         * Removed vc/vc6 directory; Visual C++ 6.0 is no longer
307           supported.  (Drew Hess)
308         * Updated README.win32 with details of new build system.
309           (Florian Kainz, Drew Hess)
310         * New build system for Windows / Visual C++ 7 builds both
311           static libraries and DLLs.
312           (Nick Porcino)
313         * Removed Imath::TMatrix<T> and related classes, which are not
314           used anywhere in OpenEXR.
315           (Florian Kainz)
316         * Added minimal support for "image layers" to class Imf::ChannelList
317           (Florian Kainz)
318         * Added new isComplete() method to InputFile, TiledInputFile
319           etc., that checks if a file is complete or if any pixels
320           are missing (for example, because writing the file was
321           aborted prematurely).
322           (Florian Kainz)
323         * Exposed staticInitialize() function in ImfHeader.h in order
324           to allow thread-safe library initialization in multithreaded
325           programs.
326           (Florian Kainz)
327         * Added a new "time code" attribute
328           (Florian Kainz)
329         * exrmaketiled: when a MIPMAP_LEVELS or RIPMAP_LEVELS image
330           is produced, low-pass filtering takes samples outside the
331           image's data window.  This requires extrapolating the image.
332           The user can now specify how the image is extrapolated
333           horizontally and vertically (image is surrounded by black /
334           outermost row of pixels repeats / entire image repeats /
335           entire image repeats, every other copy is a mirror image).
336           exrdisplay: added option to swap the top and botton half,
337           and the left and right half of an image, so that the image's
338           four corners end up in the center.  This is useful for checking
339           the seams of wrap-around texture map images.
340           IlmImf library: Added new "wrapmodes" standard attribute
341           to indicate the extrapolation mode for MIPMAP_LEVELS and
342           RIPMAP_LEVELS images.
343           (Florian Kainz)
344         * Added a new "key code" attribute to identify motion picture
345           film frames.
346           (Florian Kainz)
347         * Removed #include <Iex.h> from ImfAttribute.h, ImfHeader.h
348           and ImfXdr.h so that including header files such as
349           ImfInputFile.h no longer defines ASSERT and THROW macros,
350           which may conflict with similar macros defined by
351           application programs.
352           (Florian Kainz)
353         * Converted HTML documentation to OpenOffice format to
354           make maintaining the documents easier:
355               api.html -> ReadingAndWritingImageFiles.sxw
356               details.html -> TechnicalIntroduction.sxw
357           (Florian Kainz)
358
359 Version 1.2.1:
360         * exrenvmap and exrmaketiled use slightly less memory
361           (Florian Kainz)
362         * Added functions to IlmImf for quickly testing if a file
363           is an OpenEXR file, and whether the file is scan-line
364           based or tiled. (Florian Kainz)
365         * Added preview image examples to IlmImfExamples.  Added
366           description of preview images and environment maps to
367           docs/api.html (Florian Kainz)
368         * Bug fix: PXR24 compression did not work properly for channels
369           with ySampling != 1.
370           (Florian Kainz)
371         * Made template <class T> become  template <class S, class T> for 
372           the transform(ObjectS, ObjectT) methods. This was done to allow
373           for differing templated objects to be passed in e.g.  say a 
374           Box<Vec3<S>> and a Matrix44<T>, where S=float and T=double.
375           (Jeff Yost, Arkell Rasiah)
376         * New method Matrix44::setTheMatrix(). Used for assigning a 
377           M44f to a M44d. (Jeff Yost, Arkell Rasiah)
378         * Added convenience Color typedefs for half versions of Color3
379           and Color4. Note the Makefile.am for both Imath and ImathTest
380           have been updated with -I and/or -L pathing to Half.
381           (Max Chen, Arkell Rasiah)
382         * Methods equalWithAbsError() and equalWithRelError() are now
383           declared as const. (Colette Mullenhoff, Arkell Rasiah)
384         * Fixes for gcc34. Mainly typename/template/using/this syntax
385           correctness changes. (Nick Ramussen, Arkell Rasiah)
386         * Added Custom low-level file I/O examples to IlmImfExamples
387           and to the docs/api.html document.  (Florian Kainz)
388         * Eliminated most warnings messages when OpenEXR is compiled
389           with Visual C++.  The OpenEXR code uses lots of (intentional
390           and unintended) implicit type conversions.  By default, Visual
391           C++ warns about almost all of them.  Most implicit conversions
392           have been removed from the .h files, so that including them
393           should not generate warnings even at warning level 3.  Most
394           .cpp files are now compiled with warning level 1.
395           (Florian Kainz)
396
397 Version 1.2.0:
398         * Production-ready release.
399         * Disable long double warnings on OS X.  (Drew Hess)
400         * Add new source files to VC7 IlmImfDll target.  (Drew Hess)
401         * Iex: change the way that APPEND_EXC and REPLACE_EXC modify
402           their what() string to work around an issue with Visual C++
403           7.1.  (Florian Kainz, Nick Porcino)
404         * Bumped OpenEXR version to 1.2 and .so versions to 2.0.0 in
405           preparation for the release.  (Drew Hess)
406         * Imath: fixed ImathTMatrix.h to work with gcc 3.4.  (Drew Hess)
407         * Another quoting fix in openexr.m4.  (Drew Hess)
408         * Quoting fix in acinclude.m4 for automake 1.8.  (Brad Hards)
409         * Imath: put inline at beginning of declaration in ImathMatrix.h
410           to fix a warning.  (Ken McGaugh)
411         * Imath: made Vec equalWith*Error () methods const.
412         * Cleaned up compile-time Win32 support.  (Florian Kainz)
413         * Bug fix: Reading a particular broken PIZ-compressed file
414           caused crashes by indexing off the end of an array.
415           (Florian Kainz)
416
417 Version 1.1.1:
418         * Half: operator= and variants now return by reference rather
419           than by value.  This brings half into conformance with
420           built-in types.  (Drew Hess)
421         * Half: remove copy constructor, let compiler supply its
422           own.  This improves performance up to 25% on some
423           expressions using half.  (Drew Hess)
424         * configure: don't try to be fancy with CXXFLAGS, just use
425           what the user supplies or let configure choose a sensible
426           default if CXXFLAGS is not defined.
427         * IlmImf: fixed a bug in reading scanline files on big-endian
428           architectures.  (Drew Hess)
429         * exrmaketiled: Added an option to select compression type.
430           (Florian Kainz)
431         * exrenvmap: Added an option to select compression type.
432           (Florian Kainz)
433         * exrdisplay: Added some new command-line options.  (Florian Kainz)
434         * IlmImf: Added Pixar's new "slightly lossy" image compression
435           method.  The new method, named PXR24, preserves HALF and
436           UINT data without loss, but FLOAT pixels are converted to
437           a 24-bit representation.  PXR24 appears to compress
438           FLOAT depth buffers very well without losing much accuracy.
439           (Loren Carpenter, Florian Kainz)
440         * Changed top-level LICENSE file to allow for other copyright
441           holders for individual files.
442         * IlmImf: TILED FILE FORMAT CHANGE.  TiledOutputFile was
443           incorrectly interleaving channels and scanlines before
444           passing pixel data to a compressor.  The lossless compressors
445           still work, but lossy compressors do not.  Fix the bug by
446           interleaving channels and scanlines in tiled files in the
447           same way as ScanLineOutputFile does.  Programs compiled with
448           the new version of IlmImf cannot read tiled images produced
449           with version 1.1.0.  (Florian Kainz)
450         * IlmImf: ImfXdr.h fix for 64-bit architectures.  (Florian Kainz)
451         * IlmImf: OpenEXR now supports YCA (luminance/chroma/alpha)
452           images with subsampled chroma channels.  When an image
453           is written with the RGBA convenience interface, selecting
454           WRITE_YCA instead of WRITE_RGBA causes the library to
455           convert the pixels to YCA format.  If WRITE_Y is selected,
456           only luminance is stored in the file (for black and white
457           images).  When an image file is read with the RGBA convenience
458           interface, YCA data are automatically converted back to RGBA.
459           (Florian Kainz)
460         * IlmImf: speed up reading tiled files as scan lines.
461           (Florian Kainz)
462         * Half:  Fixed subtle bug in Half where signaling float NaNs
463           were being converted to inf in half.  (Florian Kainz)
464         * gcc 3.3 compiler warning cleanups.  (various)
465         * Imath: ImathEuler.h fixes for gcc 3.4.  (Garrick Meeker)
466         
467 Version 1.1.0:
468         * Added new targets to Visual C++ .NET 2003 project
469           for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
470           (Drew Hess)
471         * A few assorted Win32 fixes for Imath.  (Drew Hess)
472         * GNU autoconf builds now produce versioned libraries.
473           This release is 1:0:0.  (Drew Hess)
474         * Fixes for Visual C++ .NET 2003.  (Paul Schneider)
475         * Updated Visual C++ zlib project file to zlib 1.2.1.
476           (Drew Hess)
477         * exrdisplay: Fixed fragment shader version.  (Drew Hess)
478         * *Test: Fixed some compiler issues.  (Drew Hess)
479         * Imath: Handle "restrict" keyword properly.  (Drew Hess)
480         * IlmImfExamples: Updated to latest versions of example
481           source code, includes tiling and multi-res images.
482           (Florian Kainz)
483         * exrmakepreview: A new utility to create preview images.
484           (Florian Kainz)
485         * exrenvmap: A new utility to create OpenEXR environment
486           maps.  (Florian Kainz)
487         * exrstdattr: A new utility to modify standard 
488           attributes.  (Florian Kainz)
489         * Updated exrheader to print level rounding mode and
490           preview image size.  (Florian Kainz)
491         * Updated exrmaketiled to use level rounding mode.
492           (Florian Kainz)
493         * IlmImf: Changed the orientation of lat-long envmaps to
494           match typical panoramic camera setups.  (Florian Kainz)
495         * IlmImf: Fixed a bug where partially-completed files with
496           DECREASING_Y could not be read.  (Florian Kainz)
497         * IlmImf: Added support for selectable rounding mode (up/down)
498           when generating multiresolution files.  (Florian Kainz)
499         * exrdisplay: Support for tiled images, mip/ripmaps, preview
500           images, and display windows.  (Florian Kainz, Drew Hess)
501         * exrmaketiled: A new utility which generates tiled
502           versions of OpenEXR images.  (Florian Kainz)
503         * IlmImf: Changed Imf::VERSION to Imf::EXR_VERSION to
504           work around problems with autoconf VERSION macro
505           conflict.  (Drew Hess)
506         * exrheader: Support for tiles, mipmaps, environment
507           maps.  (Florian Kainz)
508         * IlmImf: Environment map support.  (Florian Kainz)
509         * IlmImf: Abstracted stream I/O support.  (Florian Kainz)
510         * IlmImf: Support for tiled and mip/ripmapped files;
511           requires new file format.  (Wojciech Jarosz, Florian Kainz)
512         * Imath: TMatrix*, generic 2D matricies and algorithms.
513           (Francesco Callari)
514         * Imath: major quaternions cleanup.  (Cary Phillips)
515         * Imath: added GLBegin, GLPushAttrib, GLPushMatrix objects
516           for automatic cleanup on exceptions.  (Cary Phillips)
517         * Imath: removed implicit scalar->vector promotions and vector
518           comparisons.  (Nick Rasmussen)
519         
520 Version 1.0.7:
521         * Fixed a typo in one of the IlmImfTest tests. (Paul Schneider)
522         * Fixed a bug in exrdisplay that causes the image to display
523           as all black if there's a NaN or infinity in an OpenEXR
524           image. (Florian Kainz)
525         * Updated exrheader per recent changes to IlmImf library.
526           (Florian Kainz)
527         * Changed an errant float to a T in ImathFrame.h nextFrame().
528           (Cary Phillips)
529         * Support for new "optional standard" attributes
530           (chromaticities, luminance, comments, etc.).
531           (Florian Kainz, Greg Ward, Joseph Goldstone)
532         * Fixed a buffer overrun in ImfOpaqueAttribute. (Paul Schneider)
533         * Added new function, isImfMagic (). (Florian Kainz)
534         
535 Version 1.0.6:
536         * Added README.win32 to disted files.
537         * Fixed OpenEXR.pc.in pkg-config file, OpenEXR now works
538           with pkg-config.
539         * Random fixes to readme files for new release.
540         * Fixed openexr.m4, now looks in /usr by default.
541         * Added Visual Studio .NET 2003 "solution."
542         * Fixes for Visual Studio .NET 2003 w/ Microsoft C++ compiler.
543           (Various)
544         * Random Imath fixes and enhancements.  Note that 
545           extractSHRT now takes an additional optional
546           argument, see ImathMatrixAlgo.h for details.  (Various)
547         * Added Wojciech Jarosz to AUTHORS file.
548         * Added test cases for uncompressed case, preview images,
549           frame buffer type conversion.  (Wojciech Jarosz,
550           Florian Kainz)
551         * Fix a bug in IlmImf where uncompressed data doesn't get
552           read/written correctly.  (Wojciech Jarosz)
553         * Added support for preview images and preview image
554           attributes (thumbnail images) in IlmImf.  (Florian Kainz)
555         * Added support for automatic frame buffer type conversion
556           in IlmImf.  (Florian Kainz)
557         * Cleaned up some compile-time checks.
558         * Added HalfTest unit tests.
559         * [exrdisplay] Download half framebuffer to texture memory 
560           instead of converting to float first.  Requires latest
561           Nvidia drivers.
562
563 Version 1.0.5:
564         * Fixed IlmImf.dll to use static runtime libs (Andreas).
565         * Added exrheader project to Visual Studio 6.0 workspace.
566         * Added some example code showing how to use the IlmImf library.
567           (Florian)
568         * Use DLL runtime libs for Win32 libraries rather than static
569           runtime libs.
570         * Add an exrdisplay_fragshader project to the Visual Studio 6.0
571           workspace to enable fragment shaders in Win32.
572         * Add an IlmImfDll project to the Visual Studio 6.0 workspace.
573         * In Win32, export the ImfCRgbaFile C interface via a DLL so
574           that Visual C++ 6.0 users can link against an Intel-compiled
575           IlmImf.  (Andreas Kahler)
576         * Use auto_ptr in ImfAutoArray on Win32, it doesn't like large 
577           automatic stacks.
578         * Performance improvements in PIZ decoding, between
579           20 and 60% speedup on Athlon and Pentium 4 systems.
580           (Florian)
581         * Updated the README with various information, made
582           some cosmetic changes for readability.
583         * Added fragment shader support to exrdisplay.
584         * Bumped the version to 1.0.5 in prep for release.
585         * Updated README and README.OSX to talk about CodeWarrior 
586           project files.
587         * Incorporated Rodrigo Damazio's patch for an openexr.m4
588           macro file and an openexr.spec file for building RPMs.
589         * Small change in ImfAttribute.h to make IlmImf compile with gcc 2.95.
590         * Updated ImfDoubleAttribute.h for Codewarrior on MacOS.
591         * Added exrheader utility.
592         * Update to AUTHORS file.
593         * Added a README.win32 file.
594         * Added project files for Visual Studio 6.0.
595         * Initial Win32 port.  Requires Visual Studio 6.0 and Intel C++
596           compiler version 7.0.
597         * Added new intersectT method in ImathSphere.h
598         * Fixed some bugs in ImathQuat.h
599         * Proper use of fltk-config to get platform-specific FLTK
600           compile- and link-time flags.
601         * exrdisplay uses Imath::Math<T>::pow instead of powf now.
602           powf is not availble on all platforms.
603         * Roll OS X "hack" into the source until Apple fixes their
604           istream implementation.
605         
606 Version 1.0.4:
607         * OpenEXR is now covered by a modified BSD license.  See LICENSE
608           for the new terms.
609
610 Version 1.0.3:
611
612         * OpenEXR is now in sf.net CVS.
613         * Imf::Xdr namespace cleanups.
614         * Some IlmImfTest cleanups for OS X.
615         * Use .cpp extension in exrdisplay sources.
616         * Iex cleanups.
617         * Make IlmImf compile with Metrowerks Codewarrior.
618         * Change large automatic stacks in ImfHuf.C to auto_ptrs allocated
619           off the heap.  MacOS X default stack size isn't large enough.
620         * std::ios fix for MacOS X in ImfInputFile.C.
621         * Added new FP predecessor/successor functions to Imath, added
622           tests to ImathTest
623         * Fixed a bug in Imath::extractSHRT for 3x3 matricies when
624           exactly one of the original scaling factors is negative, updated
625           ImathTest to check this case.
626         * Install include files when 'make install' is run.
627         * exrdisplay requires fltk 1.1+ now in an effort to support
628           a MacOS X display program (fltk 1.1 runs on OS X), though this
629           is untested.
630         * renamed configure.in to configure.ac
631         * Removed some tests from IexTest that are no longer used.
632         * Removed ImfHalfXdr.h, it's not used anymore.
633         * Revamped the autoconf system, added some compile-time 
634           optimizations, a pkgconfig target, and some maintainer-specific
635           stuff.
636
637 Version 1.0.2:
638
639         * More OS X fixes in Imath, IlmImf and IlmImfTest.
640         * Imath updates.
641         * Fixed a rotation bug in Imath
642
643 Version 1.0.1:
644
645         * Used autoconf 2.53 and automake 1.6 to generate build environment.
646         * Makefile.am cleanups.
647         * OS X fixes.
648         * removed images directory (now distributed separately).
649
650 Version 1.0:
651
652         * first official release.
653         * added some high-level documentation, removed the old OpenEXR.html
654           documentation.
655         * fixed a few nagging build problems.
656         * bumped IMV_VERSION_NUMBER to 2
657
658 Version 0.9:
659
660         * added exrdisplay viewer application.
661         * cleanup _data in Imf::InputFile and Imf::OutputFile constructors.
662         * removed old ILM copyright notices.
663
664 Version 0.8:
665
666         * Initial release.