~cosme/ubuntu/precise/freeimage/freeimage-3.15.1

« back to all changes in this revision

Viewing changes to Source/OpenEXR/Copyrights/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Cosme Domínguez Díaz
  • Date: 2010-07-20 13:42:15 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100720134215-xt1454zaedv3b604
Tags: 3.13.1-0ubuntu1
* New upstream release. Closes: (LP: #607800)
 - Updated debian/freeimage-get-orig-source script.
 - Removing no longer necessary debian/patches/* and
   the patch system in debian/rules.
 - Updated debian/rules to work with the new Makefiles.
 - Drop from -O3 to -O2 and use lzma compression saves
   ~10 MB of free space. 
* lintian stuff
 - fixed debhelper-but-no-misc-depends
 - fixed ldconfig-symlink-missing-for-shlib

Show diffs side-by-side

added added

removed removed

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