ChangeLog.openexr 30 KB

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