- ThreadPool overhead improvements, enable custom thread pool to be registered via ThreadPoolProvider class
- Fixes to enable custom namespaces for Iex, Imf
- Improve read performance for deep/zipped data, and SIMD-accelerated uncompress support
- Added rawPixelDataToBuffer() function for access to compressed scanlines
- Iex::BaseExc no longer derived from std::string.
- Imath throw() specifiers removed
- Initial Support for Python 3
- 25+ various bug fixes (see detailed Release Notes for the full list)
- Various fixes to the cmake and autoconf build infrastructures
- Various changes to support compiling for C++11 / C++14 / C++17 and GCC 6.3.1
- Various fixes to address Windows build issues
- 60+ total build-related fixes (see detailed Release Notes for the full list)
CHANGES.md | 1487 +++
CMakeLists.txt | 194 +
Contrib/DtexToExr/bootstrap | 2 +-
Contrib/DtexToExr/configure.ac | 2 +-
IlmBase/CMakeLists.txt | 214 +-
IlmBase/COPYING | 34 -
IlmBase/Half/CMakeLists.txt | 107 +-
IlmBase/Half/half.cpp | 6 +-
IlmBase/Half/half.h | 8 +-
IlmBase/Half/halfExport.h | 44 +-
IlmBase/Half/halfLimits.h | 9 +
IlmBase/HalfTest/CMakeLists.txt | 4 +-
IlmBase/HalfTest/testLimits.cpp | 13 +-
IlmBase/INSTALL | 2 -
IlmBase/Iex/CMakeLists.txt | 81 +-
IlmBase/Iex/IexBaseExc.cpp | 71 +-
IlmBase/Iex/IexBaseExc.h | 87 +-
IlmBase/Iex/IexMacros.h | 62 +-
IlmBase/IexMath/CMakeLists.txt | 76 +-
IlmBase/IexMath/IexMathFloatExc.cpp | 18 +
IlmBase/IexMath/IexMathFloatExc.h | 36 +-
IlmBase/IexTest/CMakeLists.txt | 4 +-
IlmBase/IexTest/testBaseExc.cpp | 2 +-
IlmBase/IlmThread/CMakeLists.txt | 78 +-
IlmBase/IlmThread/IlmThread.cpp | 48 +-
IlmBase/IlmThread/IlmThread.h | 48 +-
IlmBase/IlmThread/IlmThreadForward.h | 8 +
IlmBase/IlmThread/IlmThreadMutex.cpp | 7 +-
IlmBase/IlmThread/IlmThreadMutex.h | 48 +-
IlmBase/IlmThread/IlmThreadMutexPosix.cpp | 10 +-
IlmBase/IlmThread/IlmThreadMutexWin32.cpp | 9 +-
IlmBase/IlmThread/IlmThreadPool.cpp | 720 +-
IlmBase/IlmThread/IlmThreadPool.h | 64 +-
IlmBase/IlmThread/IlmThreadPosix.cpp | 2 +
IlmBase/IlmThread/IlmThreadSemaphore.h | 49 +-
.../IlmThread/IlmThreadSemaphorePosixCompat.cpp | 78 +-
IlmBase/IlmThread/IlmThreadWin32.cpp | 6 +
IlmBase/Imath/CMakeLists.txt | 130 +-
IlmBase/Imath/ImathBox.cpp | 37 -
IlmBase/Imath/ImathEuler.h | 7 +-
IlmBase/Imath/ImathInt64.h | 3 +
IlmBase/Imath/ImathMatrix.h | 56 +-
IlmBase/Imath/ImathShear.cpp | 54 -
IlmBase/Imath/ImathVec.cpp | 24 +-
IlmBase/Imath/ImathVec.h | 48 +-
IlmBase/Imath/Makefile.am | 4 +-
IlmBase/ImathTest/CMakeLists.txt | 6 +-
IlmBase/Makefile.am | 5 +-
IlmBase/README | 70 -
IlmBase/README.CVS | 16 -
IlmBase/README.OSX | 101 -
IlmBase/README.cmake.txt | 65 -
IlmBase/README.git | 16 -
IlmBase/README.md | 277 +
IlmBase/README.namespacing | 83 -
IlmBase/bootstrap | 4 +-
IlmBase/config.windows/IlmBaseConfig.h | 1 +
IlmBase/config/IlmBaseConfig.h.in | 7 +
IlmBase/configure.ac | 50 +-
IlmBase/m4/ax_cxx_compile_stdcxx.m4 | 982 ++
LICENSE | 34 +
OpenEXR/AUTHORS | 2 +
OpenEXR/CMakeLists.txt | 272 +-
OpenEXR/COPYING | 34 -
OpenEXR/INSTALL | 2 -
OpenEXR/IlmImf/CMakeLists.txt | 396 +-
OpenEXR/IlmImf/ImfAcesFile.h | 38 +-
OpenEXR/IlmImf/ImfAttribute.cpp | 6 +
OpenEXR/IlmImf/ImfAttribute.h | 8 +-
OpenEXR/IlmImf/ImfB44Compressor.h | 10 +-
OpenEXR/IlmImf/ImfCRgbaFile.h | 2 +-
OpenEXR/IlmImf/ImfChannelList.h | 45 +-
OpenEXR/IlmImf/ImfChromaticities.h | 5 +-
OpenEXR/IlmImf/ImfCompositeDeepScanLine.h | 14 +-
OpenEXR/IlmImf/ImfCompressionAttribute.h | 6 +-
OpenEXR/IlmImf/ImfCompressor.h | 14 +-
OpenEXR/IlmImf/ImfDeepCompositing.h | 6 +-
OpenEXR/IlmImf/ImfDeepFrameBuffer.h | 38 +-
OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp | 6 +-
OpenEXR/IlmImf/ImfDeepScanLineInputFile.h | 20 +-
OpenEXR/IlmImf/ImfDeepScanLineInputPart.h | 18 +-
OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp | 14 +-
OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h | 14 +-
OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h | 12 +-
OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp | 16 +-
OpenEXR/IlmImf/ImfDeepTiledInputFile.h | 37 +-
OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp | 2 +-
OpenEXR/IlmImf/ImfDeepTiledInputPart.h | 34 +-
OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp | 18 +-
OpenEXR/IlmImf/ImfDeepTiledOutputFile.h | 33 +-
OpenEXR/IlmImf/ImfDeepTiledOutputPart.h | 31 +-
OpenEXR/IlmImf/ImfDwaCompressor.cpp | 232 +-
OpenEXR/IlmImf/ImfDwaCompressor.h | 43 +-
OpenEXR/IlmImf/ImfDwaCompressorSimd.h | 67 +-
OpenEXR/IlmImf/ImfFastHuf.cpp | 62 +-
OpenEXR/IlmImf/ImfFastHuf.h | 5 +
OpenEXR/IlmImf/ImfFrameBuffer.h | 36 +-
OpenEXR/IlmImf/ImfGenericInputFile.h | 5 +-
OpenEXR/IlmImf/ImfGenericOutputFile.h | 6 +-
OpenEXR/IlmImf/ImfHeader.h | 90 +-
OpenEXR/IlmImf/ImfIO.h | 13 +-
OpenEXR/IlmImf/ImfInputFile.cpp | 41 +-
OpenEXR/IlmImf/ImfInputFile.h | 42 +-
OpenEXR/IlmImf/ImfInputPart.cpp | 8 +
OpenEXR/IlmImf/ImfInputPart.h | 22 +-
OpenEXR/IlmImf/ImfInputPartData.h | 1 +
OpenEXR/IlmImf/ImfInt64.h | 1 +
OpenEXR/IlmImf/ImfKeyCode.h | 19 +-
OpenEXR/IlmImf/ImfLut.h | 8 +-
OpenEXR/IlmImf/ImfMisc.cpp | 55 +-
OpenEXR/IlmImf/ImfMisc.h | 20 +-
OpenEXR/IlmImf/ImfMultiPartInputFile.cpp | 4 +-
OpenEXR/IlmImf/ImfMultiPartInputFile.h | 10 +-
OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp | 4 +-
OpenEXR/IlmImf/ImfMultiPartOutputFile.h | 10 +-
OpenEXR/IlmImf/ImfName.h | 9 +
OpenEXR/IlmImf/ImfOpaqueAttribute.h | 10 +-
OpenEXR/IlmImf/ImfOptimizedPixelReading.h | 4 +-
OpenEXR/IlmImf/ImfOutputFile.cpp | 95 +-
OpenEXR/IlmImf/ImfOutputFile.h | 15 +-
OpenEXR/IlmImf/ImfOutputPart.h | 13 +-
OpenEXR/IlmImf/ImfOutputPartData.h | 23 +-
OpenEXR/IlmImf/ImfPizCompressor.h | 10 +-
OpenEXR/IlmImf/ImfPreviewImage.h | 14 +-
OpenEXR/IlmImf/ImfPxr24Compressor.h | 10 +-
OpenEXR/IlmImf/ImfRational.h | 3 +-
OpenEXR/IlmImf/ImfRgbaFile.h | 47 +-
OpenEXR/IlmImf/ImfRleCompressor.h | 7 +-
OpenEXR/IlmImf/ImfScanLineInputFile.cpp | 42 +-
OpenEXR/IlmImf/ImfScanLineInputFile.h | 37 +-
OpenEXR/IlmImf/ImfSimd.h | 11 +-
OpenEXR/IlmImf/ImfStdIO.cpp | 36 +-
OpenEXR/IlmImf/ImfStdIO.h | 24 +-
OpenEXR/IlmImf/ImfSystemSpecific.h | 15 +-
OpenEXR/IlmImf/ImfTileOffsets.h | 16 +-
OpenEXR/IlmImf/ImfTiledInputFile.cpp | 16 +-
OpenEXR/IlmImf/ImfTiledInputFile.h | 32 +-
OpenEXR/IlmImf/ImfTiledInputPart.h | 30 +-
OpenEXR/IlmImf/ImfTiledOutputFile.cpp | 66 +-
OpenEXR/IlmImf/ImfTiledOutputFile.h | 39 +-
OpenEXR/IlmImf/ImfTiledOutputPart.h | 33 +-
OpenEXR/IlmImf/ImfTiledRgbaFile.h | 83 +-
OpenEXR/IlmImf/ImfTimeCode.h | 35 +-
OpenEXR/IlmImf/ImfVersion.h | 4 +-
OpenEXR/IlmImf/ImfZip.cpp | 191 +-
OpenEXR/IlmImf/ImfZip.h | 8 +
OpenEXR/IlmImf/ImfZipCompressor.h | 5 +
OpenEXR/IlmImf/Makefile.am | 12 +-
OpenEXR/IlmImf/dwaLookups.cpp | 10 +-
OpenEXR/IlmImfExamples/CMakeLists.txt | 18 +-
OpenEXR/IlmImfExamples/Makefile.am | 8 +-
OpenEXR/IlmImfExamples/previewImageExamples.cpp | 6 +-
OpenEXR/IlmImfFuzzTest/CMakeLists.txt | 27 +-
OpenEXR/IlmImfFuzzTest/Makefile.am | 6 +-
OpenEXR/IlmImfTest/CMakeLists.txt | 18 +-
OpenEXR/IlmImfTest/Makefile.am | 6 +-
OpenEXR/IlmImfTest/compareDwa.h | 4 +-
OpenEXR/IlmImfTest/testDwaCompressorSimd.cpp | 47 +-
OpenEXR/IlmImfUtil/CMakeLists.txt | 113 +-
OpenEXR/IlmImfUtil/ImfDeepImage.h | 33 +-
OpenEXR/IlmImfUtil/ImfDeepImageChannel.h | 35 +-
OpenEXR/IlmImfUtil/ImfDeepImageIO.h | 26 +-
OpenEXR/IlmImfUtil/ImfDeepImageLevel.cpp | 2 +-
OpenEXR/IlmImfUtil/ImfDeepImageLevel.h | 44 +-
OpenEXR/IlmImfUtil/ImfFlatImage.h | 29 +-
OpenEXR/IlmImfUtil/ImfFlatImageChannel.h | 10 +-
OpenEXR/IlmImfUtil/ImfFlatImageIO.h | 26 +-
OpenEXR/IlmImfUtil/ImfFlatImageLevel.cpp | 2 +-
OpenEXR/IlmImfUtil/ImfFlatImageLevel.h | 31 +-
OpenEXR/IlmImfUtil/ImfImage.cpp | 4 +-
OpenEXR/IlmImfUtil/ImfImage.h | 31 +-
OpenEXR/IlmImfUtil/ImfImageChannel.h | 10 +-
OpenEXR/IlmImfUtil/ImfImageDataWindow.cpp | 3 +-
OpenEXR/IlmImfUtil/ImfImageDataWindow.h | 2 +
OpenEXR/IlmImfUtil/ImfImageIO.h | 10 +-
OpenEXR/IlmImfUtil/ImfImageLevel.cpp | 2 +-
OpenEXR/IlmImfUtil/ImfImageLevel.h | 20 +-
OpenEXR/IlmImfUtil/ImfSampleCountChannel.h | 23 +-
OpenEXR/IlmImfUtil/ImfUtilExport.h | 46 +
OpenEXR/IlmImfUtil/Makefile.am | 16 +-
OpenEXR/IlmImfUtilTest/CMakeLists.txt | 20 +-
OpenEXR/IlmImfUtilTest/Makefile.am | 6 +-
OpenEXR/Makefile.am | 5 +-
OpenEXR/README | 77 -
OpenEXR/README.CVS | 16 -
OpenEXR/README.OSX | 57 -
OpenEXR/README.cmake.txt | 54 -
OpenEXR/README.git | 16 -
OpenEXR/README.md | 132 +
OpenEXR/README.namespacing | 83 -
OpenEXR/bootstrap | 4 +-
OpenEXR/build.log | 11993 -------------------
OpenEXR/configure.ac | 284 +-
OpenEXR/doc/Makefile.am | 1 -
OpenEXR/doc/TheoryDeepPixels.pdf | Bin 331719 -> 334777 bytes
OpenEXR/exr2aces/CMakeLists.txt | 10 +-
OpenEXR/exrbuild/CMakeLists.txt | 13 +-
OpenEXR/exrenvmap/CMakeLists.txt | 10 +-
OpenEXR/exrenvmap/Makefile.am | 6 +-
OpenEXR/exrheader/CMakeLists.txt | 15 +-
OpenEXR/exrheader/Makefile.am | 6 +-
OpenEXR/exrmakepreview/CMakeLists.txt | 10 +-
OpenEXR/exrmakepreview/Makefile.am | 6 +-
OpenEXR/exrmakepreview/makePreview.cpp | 6 +-
OpenEXR/exrmaketiled/CMakeLists.txt | 9 +-
OpenEXR/exrmaketiled/Makefile.am | 6 +-
OpenEXR/exrmaketiled/makeTiled.cpp | 8 +-
OpenEXR/exrmultipart/CMakeLists.txt | 13 +-
OpenEXR/exrmultipart/Makefile.am | 8 +-
OpenEXR/exrmultiview/CMakeLists.txt | 12 +-
OpenEXR/exrmultiview/Makefile.am | 6 +-
OpenEXR/exrstdattr/CMakeLists.txt | 13 +-
OpenEXR/exrstdattr/Makefile.am | 6 +-
OpenEXR/m4/ax_cxx_compile_stdcxx.m4 | 982 ++
OpenEXR/m4/path.pkgconfig.m4 | 63 +-
OpenEXR_Viewers/AUTHORS | 12 -
OpenEXR_Viewers/CMakeLists.txt | 71 +-
OpenEXR_Viewers/COPYING | 34 -
OpenEXR_Viewers/INSTALL | 2 -
OpenEXR_Viewers/Makefile.am | 6 +-
OpenEXR_Viewers/NEWS | 2 -
OpenEXR_Viewers/README | 95 -
OpenEXR_Viewers/README.CVS | 16 -
OpenEXR_Viewers/README.OSX | 18 -
OpenEXR_Viewers/README.md | 278 +
OpenEXR_Viewers/README.win32 | 196 -
OpenEXR_Viewers/bootstrap | 4 +-
OpenEXR_Viewers/configure.ac | 47 +-
OpenEXR_Viewers/exrdisplay/CMakeLists.txt | 15 +-
OpenEXR_Viewers/exrdisplay/GlWindow3d.h | 5 +
OpenEXR_Viewers/m4/ax_cxx_compile_stdcxx.m4 | 982 ++
OpenEXR_Viewers/playexr/CMakeLists.txt | 8 +-
PyIlmBase/AUTHORS | 10 -
PyIlmBase/CMakeLists.txt | 128 +-
PyIlmBase/COPYING | 34 -
PyIlmBase/INSTALL | 2 -
PyIlmBase/Makefile.am | 7 +-
PyIlmBase/NEWS | 2 -
PyIlmBase/PyIex/CMakeLists.txt | 52 +-
PyIlmBase/PyIex/PyIex.cpp | 4 +-
PyIlmBase/PyIex/PyIex.h | 4 +-
PyIlmBase/PyIex/PyIexExport.h | 45 +-
PyIlmBase/PyIex/iexmodule.cpp | 5 +-
PyIlmBase/PyIexTest/CMakeLists.txt | 4 +-
PyIlmBase/PyImath/CMakeLists.txt | 53 +-
PyIlmBase/PyImath/PyImath.cpp | 5 +-
PyIlmBase/PyImath/PyImath.h | 8 +-
PyIlmBase/PyImath/PyImathAutovectorize.cpp | 2 +-
PyIlmBase/PyImath/PyImathAutovectorize.h | 6 +-
PyIlmBase/PyImath/PyImathBasicTypes.cpp | 9 +-
PyIlmBase/PyImath/PyImathBasicTypes.h | 4 +-
PyIlmBase/PyImath/PyImathBox.cpp | 18 +-
PyIlmBase/PyImath/PyImathBox.h | 4 +-
PyIlmBase/PyImath/PyImathBox2Array.cpp | 4 +-
PyIlmBase/PyImath/PyImathBox3Array.cpp | 4 +-
PyIlmBase/PyImath/PyImathBoxArrayImpl.h | 10 +-
PyIlmBase/PyImath/PyImathColor.h | 3 +-
PyIlmBase/PyImath/PyImathColor3.cpp | 8 +-
PyIlmBase/PyImath/PyImathColor3ArrayImpl.h | 4 +-
PyIlmBase/PyImath/PyImathColor4.cpp | 6 +-
PyIlmBase/PyImath/PyImathColor4Array2DImpl.h | 7 +-
PyIlmBase/PyImath/PyImathColor4ArrayImpl.h | 4 +-
PyIlmBase/PyImath/PyImathEuler.cpp | 8 +-
PyIlmBase/PyImath/PyImathEuler.h | 3 +-
PyIlmBase/PyImath/PyImathExport.h | 52 +-
PyIlmBase/PyImath/PyImathFixedArray.cpp | 2 +-
PyIlmBase/PyImath/PyImathFixedArray.h | 11 +-
PyIlmBase/PyImath/PyImathFixedArray2D.h | 9 +
PyIlmBase/PyImath/PyImathFixedMatrix.h | 9 +
PyIlmBase/PyImath/PyImathFixedVArray.cpp | 14 +-
PyIlmBase/PyImath/PyImathFixedVArray.h | 2 +-
PyIlmBase/PyImath/PyImathFrustum.cpp | 8 +-
PyIlmBase/PyImath/PyImathFrustum.h | 3 +-
PyIlmBase/PyImath/PyImathFun.cpp | 8 +-
PyIlmBase/PyImath/PyImathFun.h | 2 +-
PyIlmBase/PyImath/PyImathLine.cpp | 16 +-
PyIlmBase/PyImath/PyImathLine.h | 2 +-
PyIlmBase/PyImath/PyImathM44Array.cpp | 6 +-
PyIlmBase/PyImath/PyImathM44Array.h | 2 +-
PyIlmBase/PyImath/PyImathMatrix.h | 3 +-
PyIlmBase/PyImath/PyImathMatrix33.cpp | 8 +-
PyIlmBase/PyImath/PyImathMatrix44.cpp | 10 +-
PyIlmBase/PyImath/PyImathOperators.h | 4 +-
PyIlmBase/PyImath/PyImathPlane.cpp | 20 +-
PyIlmBase/PyImath/PyImathPlane.h | 2 +-
PyIlmBase/PyImath/PyImathQuat.cpp | 10 +-
PyIlmBase/PyImath/PyImathQuat.h | 3 +-
PyIlmBase/PyImath/PyImathRandom.cpp | 10 +-
PyIlmBase/PyImath/PyImathShear.cpp | 8 +-
PyIlmBase/PyImath/PyImathStringArray.cpp | 6 +-
PyIlmBase/PyImath/PyImathStringArray.h | 4 +-
PyIlmBase/PyImath/PyImathStringArrayRegister.h | 2 +-
PyIlmBase/PyImath/PyImathStringTable.cpp | 4 +-
PyIlmBase/PyImath/PyImathTask.cpp | 10 +-
PyIlmBase/PyImath/PyImathTask.h | 34 +-
PyIlmBase/PyImath/PyImathUtil.cpp | 6 +-
PyIlmBase/PyImath/PyImathUtil.h | 14 +-
PyIlmBase/PyImath/PyImathVec.h | 4 +-
PyIlmBase/PyImath/PyImathVec2Impl.h | 12 +-
PyIlmBase/PyImath/PyImathVec3ArrayImpl.h | 12 +-
PyIlmBase/PyImath/PyImathVec3Impl.h | 6 +-
PyIlmBase/PyImath/PyImathVec4ArrayImpl.h | 10 +-
PyIlmBase/PyImath/PyImathVec4Impl.h | 6 +-
PyIlmBase/PyImath/imathmodule.cpp | 38 +-
PyIlmBase/PyImathNumpy/CMakeLists.txt | 25 +-
PyIlmBase/PyImathNumpy/imathnumpymodule.cpp | 14 +-
PyIlmBase/PyImathNumpyTest/CMakeLists.txt | 6 +-
PyIlmBase/PyImathNumpyTest/pyImathNumpyTest.in | 81 +-
PyIlmBase/PyImathTest/CMakeLists.txt | 2 +
PyIlmBase/PyImathTest/pyImathTest.in | 1090 +-
PyIlmBase/README | 51 -
PyIlmBase/README.OSX | 21 -
PyIlmBase/README.md | 99 +
PyIlmBase/bootstrap | 4 +-
PyIlmBase/configure.ac | 64 +-
PyIlmBase/m4/ax_cxx_compile_stdcxx.m4 | 982 ++
README | 68 -
README.md | 202 +
cmake/FindIlmBase.cmake | 192 +
cmake/FindNumPy.cmake | 51 +
cmake/FindOpenEXR.cmake | 198 +
321 files changed, 12796 insertions(+), 16398 deletions(-)
-
Reverted python library -l line logic to go back to the old PYTHON_VERSION based logic. (Nick Rasmussen, 2018-08-09)
-
Updated build system to use local copies of the ax_cxx_copmile_stdcxx.m4 macro. (Nick Rasmussen, 2018-08-09)
-
accidentally commited Makefile instead of Makefile.am (Cary Phillips, 2018-08-09)
-
update CHANGES.md (Cary Phillips, 2018-08-08)
-
Added FindNumPy.cmake (Nick Porcino, 2018-08-08)
-
Add PyImathNumpyTest to Makefile and configure.ac (Cary Phillips, 2018-08-08)
-
Add ImfExportUtil.h to Makefile.am (Cary Phillips, 2018-08-08)
-
fix pyilmbase tests, static compilation (Kimball Thurston, 2018-08-09) - python extensions must be shared, so can not follow the overall lib type for the library. - the code should be compiled fPIC when building a static library such that it can be linked into a .so - remove the dependency on the particle python extension in the numpy test - add environment variables such that the python tests will work in the build tree without a "make install" (win32 doesn't neede ld_library_path, but it doesn't hurt, but may need path?) Signed-off-by: Kimball Thurston [email protected]
-
fix OPENEXR_VERSION and OPENEXR_SOVERSION (Cary Phillips, 2018-08-08)
-
update readme documentation for new cmake option (Kimball Thurston, 2018-08-08) Signed-off-by: Kimball Thurston [email protected]
-
fix compile errors under c++17 (Kimball Thurston, 2018-08-08) Fixes errors with collisions due to the addition of clamp to the std namespace Signed-off-by: Kimball Thurston [email protected]
-
add last ditch effort for numpy (Kimball Thurston, 2018-08-08) Apparently not all distributions include a FindNumPy.cmake or similar, even if numpy is indeed installed. This makes a second effort to find using python itself Signed-off-by: Kimball Thurston [email protected]
-
make pyilmbase tests conditional (Kimball Thurston, 2018-08-08) This makes the PyIlmBase tests conditional in the same manner as OpenEXR and IlmBase Signed-off-by: Kimball Thurston [email protected]
-
optimize regeneration of config files (Kimball Thurston, 2018-08-08) This makes the config files write to a temporary file, then use cmake's configure_file command with copyonly to compare the contents and not copy if they are the same. Incremental builds are much faster as a result when working on new features and adding files to the cmakelists.txt Signed-off-by: Kimball Thurston [email protected]
-
make fuzz test optional like autoconf (Kimball Thurston, 2018-08-08) This makes running the fuzz tests as part of the "make test" rule optional. Even with this off by default, if building tests is enabled, the fuzz test will still be compiled, and is available to run via "make fuzz". This should enable a weekly jenkins build config to run the fuzz tests, given that it takes a long time to run. Signed-off-by: Kimball Thurston [email protected]
-
Fix SO version (Nick Porcino, 2018-08-07)
-
CHANGES.md formatting (Cary Phillips, 2018-08-07)
-
format old release notes (Cary Phillips, 2018-08-07)
-
release notes upates (Cary Phillips, 2018-08-07)
-
CHANGES.md (Cary Phillips, 2018-08-07)
-
OpenEXR_Viewers/README.md formatting (Cary Phillips, 2018-08-07)
-
more README fixes. (Cary Phillips, 2018-08-07)
-
README.md cleanup (Cary Phillips, 2018-08-07)
-
fix dependencies when building static (Kimball Thurston, 2018-08-08) Signed-off-by: Kimball Thurston [email protected]
-
fix exrdisplay compile under cmake (Kimball Thurston, 2018-08-07) Signed-off-by: Kimball Thurston [email protected]
-
PyIlmBase README.md cleanup (Cary Phillips, 2018-08-07)
-
Updates to README's (Cary Phillips, 2018-08-07)
-
added --foreign to automake in bootstrap (Cary Phillips, 2018-08-06)
-
Remove obsolete README files from Makefile.am (Cary Phillips, 2018-08-06)
-
Removed COPYING, INSTALL, README.cmake.txt (Cary Phillips, 2018-08-05)
-
cleaned up README files for root and IlmBase (Cary Phillips, 2018-08-05)
-
LIBTOOL_CURRENT=24 (Cary Phillips, 2018-08-06)
-
bump version to 2.3 (Cary Phillips, 2018-08-05)
-
folding in internal ILM changes - conditional delete in exception catch block. (Cary Phillips, 2018-08-05)
-
Removed COPYING, INSTALL, README.cmake.txt (Cary Phillips, 2018-08-05)
-
edits to READMEs (Cary Phillips, 2018-08-05)
-
README fixes. (Cary Phillips, 2018-08-05)
-
cleaned up README files for root and IlmBase (Cary Phillips, 2018-08-05)
-
Fallback default system provided Boost Python (Thanh Ha, 2018-08-03) User provided Python version via OPENEXR_PYTHON_MAJOR and OPENEXR_PYTHON_MINOR parameters, failing that fallback onto the system's default "python" whichever that may be. Signed-off-by: Thanh Ha [email protected]
-
fix double delete in multipart files, check logic in others (Kimball Thurston, 2018-08-04) Multipart files have a Data object that automatically cleans up it's stream if appropriate, the other file objects have the destructor of the file object perform the delete (instead of Data). This causes a double delete to happen in MultiPart objects when unable to open a stream. Additionally, fix tabs / spaces to just be spaces Signed-off-by: Kimball Thurston [email protected]
-
fix scenario where ilmimf is being compiled from parent directory (Kimball Thurston, 2018-08-04) need to use current source dir so test images can be found Signed-off-by: Kimball Thurston [email protected]
-
Fix logic errors with BUILD_DWALOOKUPS (Kimball Thurston, 2018-08-04) Signed-off-by: Kimball Thurston [email protected]
-
remove debug print (Kimball Thurston, 2018-08-04) Signed-off-by: Kimball Thurston [email protected]
-
fully set variables as pkg config does not seem to by default (Kimball Thurston, 2018-08-04)
-
add check with error message for zlib, fix defaults, restore old thread check (Kimball Thurston, 2018-08-04)
-
PR #187 CMake enhancements to speed up dependency builds of OpenEXR. (Nick Porcino, 2018-08-02)
-
restore prefix, update to use PKG_CHECK_MODULES (Kimball Thurston, 2018-08-03) previous commit from dracwyrm had made it such that pkg-config must be used and ilmbase must be installed in the default pkg-config path by default. restore the original behaviour by which a prefix could be provided, yet still retain use of PKG_CHECK_MODULES to find IlmBase if the prefix is not specified, and continue to use pkg-config to find zlib instead of assuming -lz Signed-off-by: Kimball Thurston [email protected]
-
restore original API for Lock since we can't use typedef to unique_lock (Kimball Thurston, 2018-08-02)
-
fixes #292, issue with utf-8 filenames (Kimball Thurston, 2018-08-01) windows needs to widen the string to properly open files, this implements a solution for compiling with MSVC anyway using the extension for fstream to take a wchar Signed-off-by: Kimball Thurston [email protected]
-
fix maintainer mode issue, extra line in paste (Kimball Thurston, 2018-08-02)
-
Default the python bindings to on (Nick Porcino, 2018-08-01)
-
Add Find scripts, and ability to build OpenEXR with pre-existing IlmBase (Nick Porcino, 2018-08-01)
-
fix names, disable rules when not building shared (Kimball Thurston, 2018-07-31)
-
add suffix variable for target names to enable static-only build (Kimball Thurston, 2018-07-31)
-
The string field is now called _message. (Cary Phillips, 2018-08-01)
-
C++11 support for numeric_limits::max_digits10() and lowest() (Cary Phillips, 2018-07-31)
-
fixes for GCC 6.3.1 (courtesy of Will Harrower): - renamed local variables in THROW macros to avoid warnings - cast to bool (Cary Phillips, 2018-07-31)
-
renames name to message and removes implicit cast (Kimball Thurston, 2018-07-31) This removes the implicit cast, which is arguably more "standard", and also less surprising. Further, renames the name function to message to match internal ILM changes, and message makes more sense as a function name than ... name.
-
Remove IEX_THROW_SPEC (Kimball Thurston, 2018-07-31) This removes the macro and uses therein. We changed the API with removing the subclass from std::string of Iex::BaseExc, so there is no reason to retain this compatibility as well, especially since it isn't really meaningful anyway in (modern) C++
-
CMake3 port. Various Windows fixes (Nick Porcino, 2018-07-29)
-
changes to enable custom namespace defines to be used (Kimball Thurston, 2018-07-29)
-
fix extraneous unsigned compare accidentally merged (Kimball Thurston, 2018-07-29)
-
Use proper definition of namespaces instead of default values. (Juri Abramov, 2014-08-18)
-
fixes #260, out of bounds vector access (Kimball Thurston, 2018-07-29) noticed by Google Autofuzz Signed-off-by: Kimball Thurston [email protected]
-
fix potential io streams leak in case of exceptions during 'initialize' function (CAHEK7, 2016-02-12)
-
OpenEXR: Fix build system and change doc install (dracwyrm, 2017-08-11) The build sysem for the OpenEXR sub-module is has issues. This patch is being used on Gentoo Linux with great success. It also adresses the issue of linking to previously installed versions. Signed-off by: Jonathan Scruggs ([email protected]) Signed-off by: David Seifert ([email protected])
-
Note that numpy is required to build PyIlmBase (Thanh Ha, 2018-07-20) Signed-off-by: Thanh Ha [email protected]
-
Fixed exports on DeepImageChannel and FlatImageChannel. If the whole class isn't exported, the typeinfo doesn't get exported, and so dynamic casting into those classes will not work. (Halfdan Ingvarsson, 2014-10-06) Also fixed angle-bracket include to a quoted include.
-
Fixed angle bracket vs quote includes. (Halfdan Ingvarsson, 2014-03-18)
-
Change IexBaseExc to no longer derive from std::string, but instead include it as a member variable. This resolves a problem with MSVC 2012 and dllexport-ing template classes. (Halfdan Ingvarsson, 2014-03-03)
-
make code more amenable to compiling with mingw for cross-compiling (Kimball Thurston, 2018-07-29) Signed-off-by: Kimball Thurston [email protected]
-
Fix shebang line to bash (Thanh Ha, 2018-07-19) Depending on the distro running the script the following error might appear: ./bootstrap: 4: [: Linux: unexpected operator This is because #!/bin/sh is not the same on every distro and this script is actually expecting bash. So update the shebang line to be bash. Signed-off-by: Thanh Ha [email protected]
-
Visual Studio and Windows fixes (Liam Fernandez, 2018-06-20) IlmBase: Fix IF/ELSEIF clause (WIN32 only) PyImath: Install *.h in 'include' dir PyImathNumpy: Change python library filename to 'imathnumpy.pyd' (WIN32 only)
-
Fix probable typo for static builds. (Simon Otter, 2018-06-18)
-
Must also export protected methods (Nick Porcino, 2018-06-10)
-
IlmImfUtilTest compiles successfully (Nick Porcino, 2018-06-09)
-
IlmImfUtil now builds on Windows (Nick Porcino, 2018-06-09)
-
Set python module suffix per platform (Nick Porcino, 2018-06-05)
-
fix include ifdef (Kimball Thurston, 2018-05-26)
-
switch from shared pointer to a manually counted object as gcc 4.8 and 4.9 do not provide proper shared_ptr atomic functions (Kimball Thurston, 2018-05-26)
-
Fix typos to TheoryDeepPixels document (peterhillman, 2018-05-17) Equations 6 and 7 were incorrect.
-
initial port of PyIlmBase to python 3 (Kimball Thurston, 2018-05-04)
-
replicate configure / cmake changes from ilmbase (Kimball Thurston, 2018-05-04) This propagates the same chnages to configure.ac and cmakelists.txt to enable compiling with c++11/14. Additionally, adds some minor changes to configure to enable python 3 to be configured (source code changes tbd)
-
add move constructor and assignment operator (Kimball Thurston, 2018-05-03)
-
Fix Windows Python binding builds. Does not address PyImath runtime issues, but does allow build to succeed (Nick Porcino, 2018-04-30)
-
Fix c++11 detection issue on windows. Fix ilmbase DLL export warnings (Nick Porcino, 2018-04-27)
-
enable different c++ standards to be selected instead of just c++14 (Kimball Thurston, 2018-04-15)
-
Incorporate review feedback (Nick Porcino, 2018-04-04)
-
add compatibility std::condition_variable semaphore when posix semaphores not available (Kimball Thurston, 2018-04-04)
-
fix error overwriting beginning of config file (Kimball Thurston, 2018-04-04)
-
remove the dynamic exception for all versions of c++ unless FORCE_CXX03 is on (Kimball Thurston, 2018-04-04)
-
ThreadPool improvements (Kimball Thurston, 2018-04-04) - switch to use c++11 features - Add API to enable replacement of the thread pool - Add custom, low-latency handling when threads is 0 - Lower lock boundary when adding tasks (or eliminate in c++11 mode)
-
switch mutex to be based on std::mutex when available (Kimball Thurston, 2018-04-04)
-
switch IlmThread to use c++11 threads when enabled (Kimball Thurston, 2018-04-04)
-
use dynamic exception macro to avoid warnings in c++14 mode (Kimball Thurston, 2018-04-04)
-
add #define to manage dynamic exception deprecation in c++11/14 (Kimball Thurston, 2018-04-04)
-
configuration changes to enable c++14 (Kimball Thurston, 2018-04-04)
-
Cmake now building OpenEXR successfully for Windows (Nick Porcino, 2018-03-28)
-
Missing symbols on Windows due to missing IMF_EXPORT (Ibraheem Alhashim, 2018-03-05)
-
Implement SIMD-accelerated ImfZip::uncompress (John Loy, 2017-04-12) The main bottleneck in ImfZip::uncompress appears not to be zlib but the predictor & interleaving loops that run after zlib's decompression. Fortunately, throughput in both of these loops can be improved with SIMD operations. Even though each trip of the predictor loop has data dependencies on all previous values, the usual SIMD prefix-sum construction is able to provide a significant speedup. While the uses of SSSE3 and SSE4.1 are minor in this change and could maybe be replaced with some slightly more complicated SSE2, SSE4.1 was released in 2007, so it doesn't seem unreasonable to require it in 2017.
-
Compute sample locations directly in Imf::readPerDeepLineTable. (John Loy, 2017-04-06) By changing the function to iterate over sample locations directly instead of discarding unsampled pixel positions, we can avoid computing a lot of modulos (more than one per pixel.) Even on modern x86 processors, idiv is a relatively expensive instruction. Though it may appear like this optimization could be performed by a sufficiently sophisticated compiler, gcc 4.8 does not get there (even at -O3.)
-
Manually hoist loop invariants in Imf::bytesPerDeepLineTable. (John Loy, 2017-04-05) This is primarily done to avoid a call to pixelTypeSize within the inner loop. In particular, gcc makes the call to pixelTypeSize via PLT indirection so it may have arbitrary side-effects (i.e. ELF symbol interposition strikes again) and may not be moved out of the loop by the compiler.
-
Inline Imf::sampleCount; this is an ABI-breaking change. (John Loy, 2017-03-29) gcc generates calls to sampleCount via PLT indirection even within libIlmImf. As such, they are not inlined and must be treated as having arbitrary side effects (because of ELF symbol interposition.) Making addressing computations visible at call sites allows a much wider range of optimizations by the compiler beyond simply eliminating the function call overhead.
-
Delete build.log (Arkady Shapkin, 2017-02-18)
-
fix defect in semaphore implementation which caused application hang at exit time, because not all worker threads get woken up when task semaphore is repeatedly posted (to wake them up) after setting the stopping flag in the thread pool (Richard Goedeken, 2016-11-22)
-
fix comparison of unsigned expression < 0 (Issue #165) (CAHEK7, 2016-02-15)
-
Added Iex library once more for linker dependency (Eric Sommerlade, 2015-02-20)
-
windows/cmake: Commands depend on Half.dll which needs to be in path. Running commands in Half.dll's directory addresses this and the commands run on first invocation (E Sommerlade, 2015-02-10)
-
Fixed memory corruption / actual crashes on Window (JuriAbramov, 2015-01-19) Fixed memory corruption caused by missing assignment operator with non-trivial copy constructor logic. FIxes crashes on Windows when "dwaa" or "dwab" codecs are used for saving files.
-
std namespace should be specified for transform (JuriAbramov, 2014-08-20) Fixes build with some VS and clang version.
-
m4/path.pkgconfig.m4: use PKG_PROG_PKG_CONFIG to find correct pkg-config (Michael Thomas (malinka), 2016-05-24) pkg-config supplies this macro and prefers it to be used to allow for cross-compilation scenarios where target-prefixed binaries are prefered to pkg-config
-
Updated list of EXTRA_DIST files to reflect the updated test images and prior removal of README.win32 (Nick Rasmussen, 2017-11-17)
-
Updated list of EXTRA_DIST files to reflect the updated test images and prior removal of README.win32 (Nick Rasmussen, 2017-11-17)
-
Updated openexr version to 2.2.1, resynced the .so version number to 23 across all projects. (Nick Rasmussen, 2017-11-17)
-
Add additional input validation in an attempt to resolve issue #232 (Shawn Walker-Salas, 2017-05-30)
-
Add additional input validation in an attempt to resolve issue #232 (Shawn Walker-Salas, 2017-05-30)
-
root level LICENSE (cary-ilm, 2017-10-23)
-
Fix copyright/license notice in halfExport.h (Ed Hanway, 2017-01-09)
-
Merge branch 'jkingsman-cleanup-readme' into develop (Ed Hanway, 2016-10-28)
-
README edits. (Ed Hanway, 2016-10-28)
-
Merge branch 'cleanup-readme' of https://github.com/jkingsman/openexr into jkingsman-cleanup-readme (Ed Hanway, 2016-10-28)
-
Install ImfStdIO.h (Ed Hanway, 2016-10-28) This was originally intended to be an internal class only, but its use has become the de facto way to handle UTF-8 filenames on Windows.
-
Merge pull request #204 from dlemstra/IMF_HAVE_SSE2 (Ed Hanway, 2016-10-19) Consistent check for IMF_HAVE_SSE2.
-
Remove fixed-length line breaks (Jack Kingsman, 2016-10-19)
-
Update README to markdown (Jack Kingsman, 2016-10-18)
-
Merge pull request #206 from lgritz/lg-register (Ed Hanway, 2016-09-30) Remove 'register' keyword.
-
Remove 'register' keyword. (Larry Gritz, 2016-09-30) 'register' is a relic of K&R-era C, it's utterly useless in modern compilers. It's been deprecated in C++11, and therefore will generate warnings when encountered -- and many packages that use OpenEXR's public headers use -Werr to turn warnings into errors. Starting in C++17, the keyword is removed entirely, and thus will certainly be a build break for that version of the standard. So it's time for it to go.
-
Consistent check for IMF_HAVE_SSE2. (dirk, 2016-09-17)
-
Merge pull request #141 from lucywilkes/develop (Ed Hanway, 2016-09-16) Adding rawPixelDataToBuffer() function for access to compressed scanlines
-
Merge pull request #198 from ZeroCrunch/develop (Ed Hanway, 2016-08-02) Windows compile fix
-
Windows compile fix (Jamie Kenyon, 2016-07-29) std::min wasn't found due to not being included.
-
Merge pull request #179 from CAHEK7/NullptrBug (Ed Hanway, 2016-07-26) fix potential memory leak
-
Merge branch 'develop' of https://github.com/r-potter/openexr into r-potter-develop (Ed Hanway, 2016-07-26)
-
Merge pull request #154 into develop (Ed Hanway, 2016-07-25)
-
Merge pull request #168 into develop (Ed Hanway, 2016-07-25)
-
Merge pull request #175 into develop (Ed Hanway, 2016-07-25)
-
Merge pull request #174 into develop (Ed Hanway, 2016-07-25)
-
Merge branch pull request 172 into develop: fix copy and paste bug in ImfDeepTiledInputPart.cpp (Ed Hanway, 2016-07-25)
-
Merge pull request #195 from openexr/master (Ed Hanway, 2016-07-25) Catch develop branch up with commits in master.
-
fix potential memory leak (CAHEK7, 2016-02-05)
-
Fix warnings when compiled with MSVC 2013. (Xo Wang, 2016-01-06) Similar fix to that from a27e048451ba3084559634e5e045a92a613b1455.
-
Fix typo in C bindings (Close #140) (Edward Kmett, 2015-12-09) IMF_RAMDOM_Y should be IMF_RANDOM_Y
-
Fix copy and paste bug (Christopher Kulla, 2015-11-19) The implementation of DeepTiledInputPart::tileXSize was copy and pasted from the function above but not changed. This causes it tor return incorrect values.
-
Switch AVX detection asm to not use an empty clobber list for use with older gcc versions (Kevin Wheatley, 2015-10-14)
-
Merge pull request #145 from karlrasche/DWAx_clamp_float32 (Ed Hanway, 2015-10-23) Clamp, don't cast, float inputs with DWAx compression
-
Merge pull request #143 from karlrasche/DWAx_bad_zigzag_order (Ed Hanway, 2015-10-23) Wrong zig-zag ordering used for DWAx decode optimization
-
Merge pull request #157 from karlrasche/DWAx_compress_bound (Ed Hanway, 2015-10-23) Switch over to use compressBound() instead of manually computing headroom for compress()
-
Switch over to use compressBound() instead of manually computing headroom for compress() (Karl Rasche, 2015-02-18)
-
Fix a linker error when compiling OpenEXR statically on Linux (Wenzel Jakob, 2015-02-02) Linking OpenEXR and IlmBase statically on Linux failed due to interdependencies between Iex and IlmThread. Simply reversing their order in CMakeLists.txt fixes the issue (which only arises on Linux since the GNU linker is particularly sensitive to the order of static libraries)
-
Clamp incoming float values to half, instead of simply casting, on encode. (Karl Rasche, 2014-11-24) Casting can introduce Infs, which are zero'ed later on, prior to the forward DCT step. This can have the nasty side effect of forcing bright values to zero, instead of clamping them to 65k.
-
Remove errant whitespace (Karl Rasche, 2014-11-20)
-
Use the correct zig-zag ordering when finding choosing between fast-path inverse DCT versions (computing which rows are all zero) (Karl Rasche, 2014-11-19)
-
Resolve dependency issue building eLut.h/toFloat.h with CMake/Ninja. (Ralph Potter, 2014-11-05)
-
Adding rawPixelDataToBuffer() function for access to compressed data read from scanline input files. (Lucy Wilkes, 2014-10-22) Changes from The Foundry to add rawPixelDataToBuffer(...) function to the OpenEXR library. This allows you to read raw scan lines into an external buffer. It's similar to the existing function rawPixelData, but unlike this existing function it allows the user to control where the data will be stored instead of reading it into a local buffer. This means you can store multiple raw scan lines at once and enables the decompression of these scan lines to be done in parallel using an application's own threads. (cherry picked from commit ca76ebb40a3c5a5c8e055f0c8d8be03ca52e91c8)
-
Merge pull request #137 from karlrasche/interleaveByte2_sse_bug (Ed Hanway, 2014-10-15) Fixing SSE2 byte interleaving path to work with short runs
-
Fixing SSE2 byte interleaving path to work with short runs (Karl Rasche, 2014-09-08)
-
Merge pull request #126 from fnordware/LL_literal (Ed Hanway, 2014-08-14) Use LL for 64-bit literals
-
Change suffixes to ULL because Int64 is unsigned (Brendan Bolles, 2014-08-14) As discusses in pull request #126
-
Merge pull request #127 from openexr/tarball_contents_fix (Ed Hanway, 2014-08-14) Tarball contents fix
-
Add dwa test images to dist (tarball) manifest. Also drop README.win32 from tarball. (Already removed from repo.) (Ed Hanway, 2014-08-14) [New Cmake-centric instructions covering builds for Windows and other platforms to follow.]
-
Use LL for 64-bit literals (Brendan Bolles, 2014-08-13) On a 32-bit architecture, these literals are too big for just a long, they need to be long long, otherwise I get an error in GCC.
- Temporarily turning off optimisation code path (Piotr Stanczyk)
- Added additional tests for future optimisation refactoring (Piotr Stanczyk / Peter Hillman)
- Fixes for StringVectors (Peter Hillman)
- Additional checks for type mismatches (Peter Hillman)
- Fix for Composite Deep Scanline (Brendan Bolles)
- Updated Documentation (Peter Hillman)
- Updated Namespacing mechanism (Piotr Stanczyk)
- Fixes for succd & predd (Peter Hillman)
- Fixes for FPE control registers (Piotr Stanczyk)
- Additional checks and tests on DeepImages, scanlines and tiles (Peter Hillman)
- Folded in Autodesk read optimisations for RGB(A) files (Pascal Jette, Peter Hillman)
- Updated the bootstrap scripts to use libtoolize if glibtoolize isn't available on darwin. (Nick Rasmussen)
- Numerous minor fixes, missing includes etc
- Please read the separate file for v2 additions and changes.
- Added git specific files (Piotr Stanczyk)
- Updated the so verison to 20 (Piotr Stanczyk)
- Initial use of the CMake build system (Nicholas Yue)
- Updated the .so verison to 7. (Piotr Stanczyk)
- Added support for targetting builds on 64bit Windows and minimising number of compiler warnings on Windows. Thanks to Ger Hobbelt for his contributions to CreateDLL. (Ji Hun Yu)
- Added new atttribute types: M33dAttribute 3x3 double-precision matrix M44dAttribute 4x4 double-precision matrix V2d 2D double-precision vector V3d 3D double-precision vector (Florian Kainz)
- Bug fix: crash when reading a damaged image file (found by Apple). An exception thrown inside the PIZ Huffman decoder bypasses initialization of an array of pointers. The uninitialized pointers are later passed to operator delete. (Florian Kainz)
- Bug fix: crash when reading a damaged image file (found by Apple). Computing the size of input certain buffers may overflow and wrap around to a small number, later causing writes beyond the end of the buffer. (Florian Kainz)
- In the "Technical Introduction" document, added Premultiplied vs. Un-Premulitiplied Color section: states explicitly that pixels with zero alpha and non-zero RGB are allowed, points out that preserving such a pixel can be a problem in application programs with un-premultiplied internal image representations. (Florian Kainz)
- exrenvmap improvements:
- New command line flags set the type of the input image to latitude-longitude map or cube-face map, overriding the envmap attribute in the input file header.
- Cube-face maps can now be assembled from or split into six square sub-images.
- Converting a cube-face map into a new cube-face map with the same face size copies the image instead of resampling it. This avoids blurring when a cube-face map is assembled from or split into sub-images. (Florian Kainz)
- Updated standard chromaticities in ImfAcesFile.cpp to match final ACES (Academy Color Encoding Specification) document. (Florian Kainz)
- Added worldToCamera and worldToNDC matrices to ImfStandardAttributes.h (Florian Kainz)
- Increased the maximum length of attribute and channel names from 31 to 255 characters. For files that do contain names longer than 31 characters, a new LONG_NAMES_FLAG in the fil version number is set. This flag causes older versions of the IlmImf library (1.6.1 and earlier) to reject files with long names. Without the flag, older library versions would mis-interpret files with long names as broken. (Florian Kainz)
- Reading luminance/chroma-encoded files via the RGBA interface is faster: buffer padding avoids cache thrashing for certain image sizes, redundant calls to saturation() have been eliminated. (Mike Wall)
- Added "hemispherical blur" option to exrenvmap. (Florian Kainz)
- Added experimental version of I/O classes for ACES file format (restricted OpenEXR format with special primaries and white point); added exr2aces file converter. (Florian Kainz)
- Added new constructors to classes Imf::RgbaInputFile and Imf::TiledRgbaInputFile. The new constructors have a layerName parameter, which allows the caller to specify which layer of a multi-layer or multi-view image will be read. (Florian Kainz)
- A number of member functions in classes Imf::Header, Imf::ChannelList and Imf::FrameBuffer have parameters of type "const char *". Added equivalent functions that take "const std::string &" parameters. (Florian Kainz)
- Added library support for Weta Digital multi-view images: StringVector attribute type, multiView standard attribute of type StringVector, utility functions related to grouping channels into separate views. (Peter Hillman, Florian Kainz)
- Removed Windows .suo files from distribution. (Eric Wimmer)
- Bug fix: crashes, memory leaks and file descriptor leaks when reading damaged image files (some reported by Apple, others found by running IlmImfFuzzTest). (Florian Kainz)
- Added new IlmImfFuzzTest program to test how resilient the IlmImf library is with respect broken input files: the program first damages OpenEXR files by partially overwriting them with random data; then it tries to read the damaged files. If all goes well, the program doesn't crash. (Florian Kainz)
- Bumped DSO version number to 6.0 (Florian Kainz)
- Added new standard attributes related to color rendering with CTL (Color Transformation Language): renderingTransform, lookModTransform and adoptedNeutral. (Florian Kainz)
- Bug fix: for pixels with luminance near HALF_MIN, conversion from RGB to luminance/chroma produces NaNs and infinities (Florian Kainz)
- Bug fix: excessive desaturation of small details with certain colors after repeatedly loading and saving luminance/chroma encoded images with B44 compression. (Florian Kainz)
- Added B44A compression, a minor variation of B44: in most cases, the compression ratio is 2.28:1, the same as with B44, but in uniform image areas where all pixels have the same value, the compression ratio increases to 10.66:1. Uniform areas occur, for example, in an image's alpha channel, which typically contains large patches that are solid black or white, or in computer- generated images with a black background. (Florian Kainz)
- Added flag to configure.ac to enable or disable use of large auto arrays in the IlmImf library. Default is "enable" for Linux, "disable" for everything else. (Darby Johnston, Florian Kainz)
- corrected version number on dso's (libtool) - now 5.0
- Separated ILMBASE_LDFLAGS and ILMBASE_LIBS so that test programs can link with static libraries properly
- eliminated some warning messages during install (Andrew Kunz)
- reorganized packaging of OpenEXR libraries to facilitate integration with CTL. Now this library depends on the library IlmBase. Some functionality has been moved into OpenEXR_Viewers, which depends on two other libraries, CTL and OpenEXR_CTL. Note: previously there were separate releases of OpenEXR-related plugins for Renderman, Shake and Photoshop. OpenEXR is supported natively by Rendermand and Photoshop, so these plugins will not be supported for this or future versions of OpenEXR. (Andrew Kunz)
- New build scripts for Linux/Unix (Andrew Kunz)
- New Windows project files and build scripts (Kimball Thurston)
- float-to-half conversion now preserves the sign of float zeroes and of floats that are so small that they become half zeroes. (Florian Kainz)
- Bug fix: Imath::Frustum::planes() returns incorrect planes if the frustum is orthogonal. (Philip Hubbard)
- added new framesPerSecond optional standard attribute (Florian Kainz)
- Imath cleanup:
- Rewrote function Imath::Quat::setRotation() to make it numerically more accurate, added confidence tests
- Rewrote function Imath::Quat::slerp() using Don Hatch's method, which is numerically more accurate, added confidence tests.
- Rewrote functions Imath::closestPoints(), Imath::intersect(), added confidence tests.
- Removed broken function Imath::nearestPointOnTriangle().
- Rewrote Imath::drand48(), Imath::lrand48(), etc. to make them functionally identical with the Unix/Linux versions of drand48(), lrand48() and friends.
- Replaced redundant definitions of Int64 in Imath and IlmImf with a single definition in ImathInt64.h. (Florian Kainz)
- exrdisplay: if the file's and the display's RGB chromaticities differ, the pixels RGB values are transformed from the file's to the display's RGB space. (Florian Kainz)
- Added new lossy B44 compression method. HALF channels are compressed with a fixed ratio of 2.28:1. UINT and FLOAT channels are stored verbatim, without compression. (Florian Kainz)
- Fixed the ReleaseDLL targets for Visual Studio 2003. (Barnaby Robson)
- Production release.
- Bug Fix: calling setFrameBuffer() for every scan line while reading a tiled file through the scan line API returns bad pixel data. (Paul Schneider, Florian Kainz)
- Fixed the ReleaseDLL targets for Visual Studio 2005. (Nick Porcino, Drew Hess)
- Fixes/enhancements for createDLL. (Nick Porcino)
- Removed openexr.spec file, it's out of date and broken to boot. (Drew Hess)
- Support for Visual Studio 2005. (Drew Hess, Nick Porcino)
- When compiling against OpenEXR headers on Windows, you no longer need to define any HAVE_* or PLATFORM_* macros in your projects. If you are using any OpenEXR DLLs, however, you must define OPENEXR_DLL in your project's preprocessor directives. (Drew Hess)
- Many fixes to the Windows VC7 build system. (Drew Hess, Nick Porcino)
- Support for building universal binaries on OS X 10.4. (Drew Hess, Paul Schneider)
- Minor configure.ac fix to accomodate OS X's automake. (Drew Hess)
- Removed CPU-specific optimizations from configure.ac, autoconf's guess at the CPU type isn't very useful, anyway. Closes #13429. (Drew Hess)
- Fixed quoting for tests in configure.ac. Closes #13428. (Drew Hess)
- Use host specification instead of target in configure.ac. Closes #13427. (Drew Hess)
- Fix use of AC_ARG_ENABLE in configure.ac. Closes #13426. (Drew Hess)
- Removed workaround for OS X istream::read bug. (Drew Hess)
- Added pthread support to OpenEXR pkg-config file. (Drew Hess)
- Added -no-undefined to LDFLAGS and required libs to LIBADD for library projects with other library dependencies, per Rex Dieter's patch. (Drew Hess)
- HAVE_* macros are now defined in the OpenEXRConfig.h header file instead of via compiler flags. There are a handful of public headers which rely on the value of these macros, and projects including these headers have previously needed to define the same macros and values as used by OpenEXR's 'configure', which is bad form. Now 'configure' writes these values to the OpenEXRConfig.h header file, which is included by any OpenEXR source files that need these macros. This method of specifying HAVE_* macros guarantees that projects will get the proper settings without needing to add compile- time flags to accomodate OpenEXR. Note that this isn't implemented properly for Windows yet. (Drew Hess)
- Platform cleanups: - No more support for IRIX or OSF1. - No more explicit support for SunOS, because we have no way to verify that it's working. I suspect that newish versions of SunOS will just work out of the box, but let me know if not. - No more PLATFORM_* macros (vestiges of the ILM internal build system). PLATFORM_DARWIN_PPC is replaced by HAVE_DARWIN. PLATFORM_REDHAT_IA32 (which was only used in IlmImfTest) is replaced by HAVE_LINUX_PROCFS. - OS X 10.4, which is the minimum version we're going to support with this version, appears to have support for nrand48 and friends, so no need to use the Imath-supplied version of them anymore. (Drew Hess)
- No more PLATFORM_WINDOWS or PLATFORM_WIN32, replace with proper standard Windows macros. (Drew Hess)
- Remove support for gcc 2.95, no longer supported. (Drew Hess)
- Eliminate HAVE_IOS_BASE macro, OpenEXR now requires support for ios_base. (Drew Hess)
- Eliminate HAVE_STL_LIMITS macro, OpenEXR now requires the ISO C++ header. (Drew Hess)
- Use double quote-style include dirctives for OpenEXR includes. (Drew Hess)
- Added a document that gives an overview of the on-disk layout of OpenEXR files (Florian Kainz)
- Added sections on layers and on memory-mapped file input to the documentation. (Florian Kainz)
- Bug fix: reading an incomplete file causes a deadlock while waiting on a semaphore. (Florian Kainz)
- Updated documentation (ReadingAndWritingImageFiles.sxw) and sample code (IlmImfExamples): Added a section about multi-threading, updated section on thread-safety, changed documentation and sample code to use readTiles()/writeTiles() instead of readTile()/writeTile() where possible, mentioned that environment maps contain redundant pixels, updated section on testing if a file is an OpenEXR file. (Florian Kainz)
- Multi-threading bug fixes (exceptions could be thrown multiple times, some operations were not thread safe), updated some comments, added comments, more multithreaded testing. (Florian Kainz)
- Added multi-threading support: multiple threads cooperate to read or write a single OpenEXR file. (Wojciech Jarosz)
- Added operator== and operator!= to Imath::Frustum. (Andre Mazzone)
- Bug fix: Reading a PIZ-compressed file with an invalid Huffman code table caused crashes by indexing off the end of an array. (Florian Kainz)
- Updated README to remove option for building with Visual C++ 6.0. (Drew Hess)
- Some older versions of gcc don't support a full iomanip implemenation; check for this during configuration. (Drew Hess)
- Install PDF versions of documentation, remove old/out-of-date HTML documentation. (Florian Kainz)
- Removed vc/vc6 directory; Visual C++ 6.0 is no longer supported. (Drew Hess)
- Updated README.win32 with details of new build system. (Florian Kainz, Drew Hess)
- New build system for Windows / Visual C++ 7 builds both static libraries and DLLs. (Nick Porcino)
- Removed Imath::TMatrix and related classes, which are not used anywhere in OpenEXR. (Florian Kainz)
- Added minimal support for "image layers" to class Imf::ChannelList (Florian Kainz)
- Added new isComplete() method to InputFile, TiledInputFile etc., that checks if a file is complete or if any pixels are missing (for example, because writing the file was aborted prematurely). (Florian Kainz)
- Exposed staticInitialize() function in ImfHeader.h in order to allow thread-safe library initialization in multithreaded programs. (Florian Kainz)
- Added a new "time code" attribute (Florian Kainz)
- exrmaketiled: when a MIPMAP_LEVELS or RIPMAP_LEVELS image is produced, low-pass filtering takes samples outside the image's data window. This requires extrapolating the image. The user can now specify how the image is extrapolated horizontally and vertically (image is surrounded by black / outermost row of pixels repeats / entire image repeats / entire image repeats, every other copy is a mirror image). exrdisplay: added option to swap the top and botton half, and the left and right half of an image, so that the image's four corners end up in the center. This is useful for checking the seams of wrap-around texture map images. IlmImf library: Added new "wrapmodes" standard attribute to indicate the extrapolation mode for MIPMAP_LEVELS and RIPMAP_LEVELS images. (Florian Kainz)
- Added a new "key code" attribute to identify motion picture film frames. (Florian Kainz)
- Removed #include <Iex.h> from ImfAttribute.h, ImfHeader.h and ImfXdr.h so that including header files such as ImfInputFile.h no longer defines ASSERT and THROW macros, which may conflict with similar macros defined by application programs. (Florian Kainz)
- Converted HTML documentation to OpenOffice format to make maintaining the documents easier: api.html -> ReadingAndWritingImageFiles.sxw details.html -> TechnicalIntroduction.sxw (Florian Kainz)
- exrenvmap and exrmaketiled use slightly less memory (Florian Kainz)
- Added functions to IlmImf for quickly testing if a file is an OpenEXR file, and whether the file is scan-line based or tiled. (Florian Kainz)
- Added preview image examples to IlmImfExamples. Added description of preview images and environment maps to docs/api.html (Florian Kainz)
- Bug fix: PXR24 compression did not work properly for channels with ySampling != 1. (Florian Kainz)
- Made template become template <class S, class T> for
the transform(ObjectS, ObjectT) methods. This was done to allow
for differing templated objects to be passed in e.g. say a
Box<Vec3
and a Matrix44, where S=float and T=double. (Jeff Yost, Arkell Rasiah) - New method Matrix44::setTheMatrix(). Used for assigning a M44f to a M44d. (Jeff Yost, Arkell Rasiah)
- Added convenience Color typedefs for half versions of Color3 and Color4. Note the Makefile.am for both Imath and ImathTest have been updated with -I and/or -L pathing to Half. (Max Chen, Arkell Rasiah)
- Methods equalWithAbsError() and equalWithRelError() are now declared as const. (Colette Mullenhoff, Arkell Rasiah)
- Fixes for gcc34. Mainly typename/template/using/this syntax correctness changes. (Nick Ramussen, Arkell Rasiah)
- Added Custom low-level file I/O examples to IlmImfExamples and to the docs/api.html document. (Florian Kainz)
- Eliminated most warnings messages when OpenEXR is compiled with Visual C++. The OpenEXR code uses lots of (intentional and unintended) implicit type conversions. By default, Visual C++ warns about almost all of them. Most implicit conversions have been removed from the .h files, so that including them should not generate warnings even at warning level 3. Most .cpp files are now compiled with warning level 1. (Florian Kainz)
- Production-ready release.
- Disable long double warnings on OS X. (Drew Hess)
- Add new source files to VC7 IlmImfDll target. (Drew Hess)
- Iex: change the way that APPEND_EXC and REPLACE_EXC modify their what() string to work around an issue with Visual C++ 7.1. (Florian Kainz, Nick Porcino)
- Bumped OpenEXR version to 1.2 and .so versions to 2.0.0 in preparation for the release. (Drew Hess)
- Imath: fixed ImathTMatrix.h to work with gcc 3.4. (Drew Hess)
- Another quoting fix in openexr.m4. (Drew Hess)
- Quoting fix in acinclude.m4 for automake 1.8. (Brad Hards)
- Imath: put inline at beginning of declaration in ImathMatrix.h to fix a warning. (Ken McGaugh)
- Imath: made Vec equalWith*Error () methods const.
- Cleaned up compile-time Win32 support. (Florian Kainz)
- Bug fix: Reading a particular broken PIZ-compressed file caused crashes by indexing off the end of an array. (Florian Kainz)
- Half: operator= and variants now return by reference rather than by value. This brings half into conformance with built-in types. (Drew Hess)
- Half: remove copy constructor, let compiler supply its own. This improves performance up to 25% on some expressions using half. (Drew Hess)
- configure: don't try to be fancy with CXXFLAGS, just use what the user supplies or let configure choose a sensible default if CXXFLAGS is not defined.
- IlmImf: fixed a bug in reading scanline files on big-endian architectures. (Drew Hess)
- exrmaketiled: Added an option to select compression type. (Florian Kainz)
- exrenvmap: Added an option to select compression type. (Florian Kainz)
- exrdisplay: Added some new command-line options. (Florian Kainz)
- IlmImf: Added Pixar's new "slightly lossy" image compression method. The new method, named PXR24, preserves HALF and UINT data without loss, but FLOAT pixels are converted to a 24-bit representation. PXR24 appears to compress FLOAT depth buffers very well without losing much accuracy. (Loren Carpenter, Florian Kainz)
- Changed top-level LICENSE file to allow for other copyright holders for individual files.
- IlmImf: TILED FILE FORMAT CHANGE. TiledOutputFile was incorrectly interleaving channels and scanlines before passing pixel data to a compressor. The lossless compressors still work, but lossy compressors do not. Fix the bug by interleaving channels and scanlines in tiled files in the same way as ScanLineOutputFile does. Programs compiled with the new version of IlmImf cannot read tiled images produced with version 1.1.0. (Florian Kainz)
- IlmImf: ImfXdr.h fix for 64-bit architectures. (Florian Kainz)
- IlmImf: OpenEXR now supports YCA (luminance/chroma/alpha) images with subsampled chroma channels. When an image is written with the RGBA convenience interface, selecting WRITE_YCA instead of WRITE_RGBA causes the library to convert the pixels to YCA format. If WRITE_Y is selected, only luminance is stored in the file (for black and white images). When an image file is read with the RGBA convenience interface, YCA data are automatically converted back to RGBA. (Florian Kainz)
- IlmImf: speed up reading tiled files as scan lines. (Florian Kainz)
- Half: Fixed subtle bug in Half where signaling float NaNs were being converted to inf in half. (Florian Kainz)
- gcc 3.3 compiler warning cleanups. (various)
- Imath: ImathEuler.h fixes for gcc 3.4. (Garrick Meeker)
- Added new targets to Visual C++ .NET 2003 project for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr. (Drew Hess)
- A few assorted Win32 fixes for Imath. (Drew Hess)
- GNU autoconf builds now produce versioned libraries. This release is 1:0:0. (Drew Hess)
- Fixes for Visual C++ .NET 2003. (Paul Schneider)
- Updated Visual C++ zlib project file to zlib 1.2.1. (Drew Hess)
- exrdisplay: Fixed fragment shader version. (Drew Hess)
- *Test: Fixed some compiler issues. (Drew Hess)
- Imath: Handle "restrict" keyword properly. (Drew Hess)
- IlmImfExamples: Updated to latest versions of example source code, includes tiling and multi-res images. (Florian Kainz)
- exrmakepreview: A new utility to create preview images. (Florian Kainz)
- exrenvmap: A new utility to create OpenEXR environment maps. (Florian Kainz)
- exrstdattr: A new utility to modify standard attributes. (Florian Kainz)
- Updated exrheader to print level rounding mode and preview image size. (Florian Kainz)
- Updated exrmaketiled to use level rounding mode. (Florian Kainz)
- IlmImf: Changed the orientation of lat-long envmaps to match typical panoramic camera setups. (Florian Kainz)
- IlmImf: Fixed a bug where partially-completed files with DECREASING_Y could not be read. (Florian Kainz)
- IlmImf: Added support for selectable rounding mode (up/down) when generating multiresolution files. (Florian Kainz)
- exrdisplay: Support for tiled images, mip/ripmaps, preview images, and display windows. (Florian Kainz, Drew Hess)
- exrmaketiled: A new utility which generates tiled versions of OpenEXR images. (Florian Kainz)
- IlmImf: Changed Imf::VERSION to Imf::EXR_VERSION to work around problems with autoconf VERSION macro conflict. (Drew Hess)
- exrheader: Support for tiles, mipmaps, environment maps. (Florian Kainz)
- IlmImf: Environment map support. (Florian Kainz)
- IlmImf: Abstracted stream I/O support. (Florian Kainz)
- IlmImf: Support for tiled and mip/ripmapped files; requires new file format. (Wojciech Jarosz, Florian Kainz)
- Imath: TMatrix*, generic 2D matricies and algorithms. (Francesco Callari)
- Imath: major quaternions cleanup. (Cary Phillips)
- Imath: added GLBegin, GLPushAttrib, GLPushMatrix objects for automatic cleanup on exceptions. (Cary Phillips)
- Imath: removed implicit scalar->vector promotions and vector comparisons. (Nick Rasmussen)
- Fixed a typo in one of the IlmImfTest tests. (Paul Schneider)
- Fixed a bug in exrdisplay that causes the image to display as all black if there's a NaN or infinity in an OpenEXR image. (Florian Kainz)
- Updated exrheader per recent changes to IlmImf library. (Florian Kainz)
- Changed an errant float to a T in ImathFrame.h nextFrame(). (Cary Phillips)
- Support for new "optional standard" attributes (chromaticities, luminance, comments, etc.). (Florian Kainz, Greg Ward, Joseph Goldstone)
- Fixed a buffer overrun in ImfOpaqueAttribute. (Paul Schneider)
- Added new function, isImfMagic (). (Florian Kainz)
- Added README.win32 to disted files.
- Fixed OpenEXR.pc.in pkg-config file, OpenEXR now works with pkg-config.
- Random fixes to readme files for new release.
- Fixed openexr.m4, now looks in /usr by default.
- Added Visual Studio .NET 2003 "solution."
- Fixes for Visual Studio .NET 2003 w/ Microsoft C++ compiler. (Various)
- Random Imath fixes and enhancements. Note that extractSHRT now takes an additional optional argument, see ImathMatrixAlgo.h for details. (Various)
- Added Wojciech Jarosz to AUTHORS file.
- Added test cases for uncompressed case, preview images, frame buffer type conversion. (Wojciech Jarosz, Florian Kainz)
- Fix a bug in IlmImf where uncompressed data doesn't get read/written correctly. (Wojciech Jarosz)
- Added support for preview images and preview image attributes (thumbnail images) in IlmImf. (Florian Kainz)
- Added support for automatic frame buffer type conversion in IlmImf. (Florian Kainz)
- Cleaned up some compile-time checks.
- Added HalfTest unit tests.
- [exrdisplay] Download half framebuffer to texture memory instead of converting to float first. Requires latest Nvidia drivers.
- Fixed IlmImf.dll to use static runtime libs (Andreas).
- Added exrheader project to Visual Studio 6.0 workspace.
- Added some example code showing how to use the IlmImf library. (Florian)
- Use DLL runtime libs for Win32 libraries rather than static runtime libs.
- Add an exrdisplay_fragshader project to the Visual Studio 6.0 workspace to enable fragment shaders in Win32.
- Add an IlmImfDll project to the Visual Studio 6.0 workspace.
- In Win32, export the ImfCRgbaFile C interface via a DLL so that Visual C++ 6.0 users can link against an Intel-compiled IlmImf. (Andreas Kahler)
- Use auto_ptr in ImfAutoArray on Win32, it doesn't like large automatic stacks.
- Performance improvements in PIZ decoding, between 20 and 60% speedup on Athlon and Pentium 4 systems. (Florian)
- Updated the README with various information, made some cosmetic changes for readability.
- Added fragment shader support to exrdisplay.
- Bumped the version to 1.0.5 in prep for release.
- Updated README and README.OSX to talk about CodeWarrior project files.
- Incorporated Rodrigo Damazio's patch for an openexr.m4 macro file and an openexr.spec file for building RPMs.
- Small change in ImfAttribute.h to make IlmImf compile with gcc 2.95.
- Updated ImfDoubleAttribute.h for Codewarrior on MacOS.
- Added exrheader utility.
- Update to AUTHORS file.
- Added a README.win32 file.
- Added project files for Visual Studio 6.0.
- Initial Win32 port. Requires Visual Studio 6.0 and Intel C++ compiler version 7.0.
- Added new intersectT method in ImathSphere.h
- Fixed some bugs in ImathQuat.h
- Proper use of fltk-config to get platform-specific FLTK compile- and link-time flags.
- exrdisplay uses Imath::Math::pow instead of powf now. powf is not availble on all platforms.
- Roll OS X "hack" into the source until Apple fixes their istream implementation.
- OpenEXR is now covered by a modified BSD license. See LICENSE for the new terms.
- OpenEXR is now in sf.net CVS.
- Imf::Xdr namespace cleanups.
- Some IlmImfTest cleanups for OS X.
- Use .cpp extension in exrdisplay sources.
- Iex cleanups.
- Make IlmImf compile with Metrowerks Codewarrior.
- Change large automatic stacks in ImfHuf.C to auto_ptrs allocated off the heap. MacOS X default stack size isn't large enough.
- std::ios fix for MacOS X in ImfInputFile.C.
- Added new FP predecessor/successor functions to Imath, added tests to ImathTest
- Fixed a bug in Imath::extractSHRT for 3x3 matricies when exactly one of the original scaling factors is negative, updated ImathTest to check this case.
- Install include files when 'make install' is run.
- exrdisplay requires fltk 1.1+ now in an effort to support a MacOS X display program (fltk 1.1 runs on OS X), though this is untested.
- renamed configure.in to configure.ac
- Removed some tests from IexTest that are no longer used.
- Removed ImfHalfXdr.h, it's not used anymore.
- Revamped the autoconf system, added some compile-time optimizations, a pkgconfig target, and some maintainer-specific stuff.
- More OS X fixes in Imath, IlmImf and IlmImfTest.
- Imath updates.
- Fixed a rotation bug in Imath
- Used autoconf 2.53 and automake 1.6 to generate build environment.
- Makefile.am cleanups.
- OS X fixes.
- removed images directory (now distributed separately).
- first official release.
- added some high-level documentation, removed the old OpenEXR.html documentation.
- fixed a few nagging build problems.
- bumped IMV_VERSION_NUMBER to 2
- added exrdisplay viewer application.
- cleanup _data in Imf::InputFile and Imf::OutputFile constructors.
- removed old ILM copyright notices.
- Initial release.