Openexr Viewer free download - FastStone Image Viewer, Free Photo Viewer, PowerPoint Viewer 2007, and many more programs. OpenEXR, or EXR for short, is a deep raster format developed by ILM and broadly used in the computer-graphics industry, both visual effects and animation. OpenEXR's multi-resolution and arbitrary channel format makes it appealing for compositing, as it alleviates several painful elements of the process. Since it can store arbitrary channels. Tiny OpenEXR image library. Tinyexr is a small, single header-only library to load and save OpenEXR (.exr) images. Tinyexr is written in portable C (no library dependency except for STL), thus tinyexr is good to embed into your application. To use tinyexr, simply copy tinyexr.h into your project. The exr file extension (Extended Dynamic Range image file format) is associated with the OpenEXR image file format. OpenEXR was developed in 1999 by Industrial Light & Magic that is the leader in creating of movie digital tricks and is the open source high dynamic-range (HDR) graphic file format.
OpenEXR provides the specification and reference implementation ofthe EXR file format, the professional-grade image storage format ofthe motion picture industry. The purpose of format is to accuratelyand efficiently represent high-dynamic-range scene-linear image dataand associated metadata, with strong support for multi-part,multi-channel use cases. The library is widely used in hostapplication software where accuracy is critical, such asphotorealistic rendering, texture access, image compositing, deepcompositing, and DI.
OpenEXR a project of the Academy Software Foundation and is part ofthe VFX ReferencePlatform. OpenEXR was originally developed by Industrial Light &Magic (ILM) and first released in 2003. Weta Digital, Walt DisneyAnimation Studios, Sony Pictures Imageworks, Pixar Animation Studios,DreamWorks, and other studios, companies, and individuals have madesignificant contributions to the code base.
Mission Statement
The goal of the OpenEXR project is to keep the format reliable andmodern and to maintain its place as the preferred image format forentertainment content creation. Major revisions are infrequent, andnew features will be carefully weighed against increased complexity.
The principal priorities of the project are:
- Robustness, reliability, security
- Backwards compatibility, data longevity
- Performance - read/write/compression/decompression time
- Simplicity, ease of use, maintainability
- Wide adoption, multi-platform support - Linux, Windows, macOS, and others
OpenEXR is intended solely for 2D data. It is not appropriate forstorage of volumetric data, cached or lit 3D scenes, or more complex3D data such as light fields.
OpenEXR Features
OpenEXR's features include:
- High dynamic range and color precision.
- Support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer pixels.
- Multiple image compression algorithms, both lossless and lossy. Some of the included codecs can achieve 2:1 lossless compression ratios on images with film grain. The lossy codecs have been tuned for visual quality and decoding performance.
- Extensibility. New compression codecs and image types can easily be added by extending the C++ classes included in the OpenEXR software distribution. New image attributes (strings, vectors, integers, etc.) can be added to OpenEXR image headers without affecting backward compatibility with existing OpenEXR applications.
- Support for stereoscopic image workflows and a generalization to multi-views.
- Flexible support for deep data: pixels can store a variable-length list of samples and, thus, it is possible to store multiple values at different depths for each pixel. Hard surfaces and volumetric data representations are accommodated.
- Multipart: ability to encode separate, but related, images in one file. This allows for access to individual parts without the need to read other parts in the file.
- Versioning: OpenEXR source allows for user configurable C++ namespaces to provide protection when using multiple versions of the library in the same process space.
OpenEXR and Imath Version 3
With the release of OpenEXR 3, the Imath library formerly distributedvia the IlmBase component of OpenEXR is now an independent librarydependency, available for download from https:://github.com/AcademySoftwareFoundation/Imath.You can choose to build OpenEXR against an external installation ofImath, or the default CMake configuration will download and build itautomatically during the OpenEXR build process. Note that the half16-bit floating point data type is included in Imath.
See the porting guidefor details about differences from previous releases and how toaddress them. Also refer to the porting guide for details aboutchanges to Imath.
The OpenEXR software distribution is licensed under the modifiedBSD license, available here.
Announcements
Aug 2, 2021 - OpenEXR v3.1.1
Patch release that fixes build failures on various systems (ARM64 macOS, FreeBSD), introduces CMake CMAKE_CROSSCOMPILING_EMULATOR support, and fixes a few other minor issues.
See the release notes for more details
Download OpenEXR v3.1.1 from https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.1.
July 31, 2021 - Imath v3.1.2
Patch release that fixes a potential Windows build issue
Download Imath v3.1.2 from https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.2.
July 22, 2021 - OpenEXR v3.1.0
The 3.1 release of OpenEXR introduces a new library, OpenEXRCore,which is the result of a significant re-thinking of how OpenEXRmanages file I/O and provides access to image data. It begins toaddress long-standing scalability issues with multithreaded imagereading and writing.
The OpenEXRCore library provides thread-safe, non-blocking access tofiles, which was not possible with the current API, where theframebuffer management is separate from read requests. It is writtenentirely in C and provides a new C-language API alongside the existingC++ API. This new low-level API allows applications to do customunpacking of EXR data, such as on the GPU, while still benefiting fromefficient I/O, file validation, and other semantics. It providesefficient direct access to EXR files in texturing applications. This Clibrary also introduces an easier path to implementing OpenEXRbindings in other languages, such as Rust.
The 3.1 release represents a technology preview for upcomingreleases. The initial release is incremental; the existing API andunderlying behavior has not changed. The new API is available now forperformance validation testing, and then in future OpenEXR releases,the C++ API will migrate to use the new core in stages. It is not theintention to entirely deprecate the C++ API, nor must all applicationsre-implement EXR I/O in terms of the C library. The C API does not,and will not, provide the rich set of utility classes that exist inthe C++ layer. The 3.1 release of the OpenEXRCore library simplyoffers new functionality for specialty applications seeking thehighest possible performance. In the future, the ABI will evolve, butthe API will remain consistent, or only have additions.
Technical Design
The OpenEXRCore API introduces a ``context`` object to manage fileI/O. The context provides customization for I/O, memory allocation,and error handling. This makes it possible to use a decode and/orencode pipeline to customize how the chunks are written and read, andhow they are packed or unpacked.
The OpenEXRCore library is built around the concept of “chunks”, oratomic blocks of data in a file, the smallest unit of data to be reador written. The contents of a chunk vary from file to file based oncompression (i.e. zip and zips) and layout (scanlinevs. tiled). Currently this is either 1, 16, or 32 scanlines, or 1 tile(or subset of a tile on edge boundaries / small mip level).
The OpenEXRCore library is specifically designed for multipart EXRfiles. It will continue to produce legacy-compatible single part filesas needed, but the API assumes you are always dealing with amulti-part file. It also fully supports attributes, although being C,it lacks some of the C++ layer’s abstraction.
Limitations:
- No support yet for DWAA and DWAB compression during decode and encode pipelines. The low-level chunk I/O still works with DWAA and DWAB compressed files, but the encoder and decoder are not yet included in this release.
- For deep files, reading of deep data is functional, but the path for encoding deep data into chunk-level data (i.e. packing and compressing) is not yet complete.
- For both of these deficiencies, it is easy to define a custom routine to implement this, should it be needed prior to the library providing full support.
- No attempt to search through the file and find missing chunks is made when a corrupt chunk table is encountered. However, if a particular chunk is corrupt, this is handled such that the other chunks may be read without rendering the context unusable
Download OpenEXR v3.1.0 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.1.0.
July 20, 2021 - Imath v3.1.1
Patch release that fixes a build failure on ARM64 macOS
Download Imath v3.1.1 from https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.1.
July 13, 2021 - Imath v3.1.0
Minor release with new features:
- Optimized half-to-float and float-to-half conversion, using F16C SSE instruction set if available. Non-SSE conversion eliminates the float-to-half exponent lookup table, and half-to-float conversion provides a compile-time-optional bit shifting that is slower but eliminates the need for the lookup table, for applications where memory is limited.
- Half-to-float and float-to-half conversion is also available as C-language functions imath_half_to_float() and imath_float_to_half().
- All new conversions produced identical results, and new options are off by default to ensure backwards compatibility. See https://imath.readthedocs.io for more info.
- NOEXCEPT specifier can be eliminated at compile-time via the IMATH_USE_NOEXCEPT CMake option.
- Python bindings:
- FixedArray objects support a 'read only' state.
- FixedArray objects support python buffer protocol.
- Optimized 4x4 matrix multiplication.
Download Imath v3.1.0 from https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.0.
Openexr Viewer
July 1, 2021 - OpenEXR v3.0.5
Patch release that fixes problems with library symlinks and pkg-config, as well as miscellaneous bugs/security issues.
Download OpenEXR v3.0.5 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.5.
June 16, 2021 - OpenEXR v2.5.7
Patch release for v2.5 with security and build fixes:
- OSS-fuzz 28051 Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer
- OSS-fuzz 28155 Crash in Imf_2_5::PtrIStream::read
- Fix broken symlink and pkg-config lib suffix for cmake debug builds
Download OpenEXR v2.5.7 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.7.
June 3, 2021 - OpenEXR v3.0.4
Patch release that corrects a problem with the release version numbers in v3.0.2/v3.0.3, and with the referenced Imath release.
Download OpenEXR v3.0.4 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.4.
June 1, 2021 - Imath v3.0.4
Patch release that corrects a problem with the release version numberof v3.0.2
Download Imath v3.0.4 from https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.4.
May 18, 2021 - OpenEXR v3.0.3
Patch release that fixes a regression in v3.0.2 the prevented headersfrom being installed properly.
Download OpenEXR v3.0.3 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.3.
May 17, 2021 - OpenEXR v3.0.2
Patch release with miscellaneous bug/build fixes, primarily:
- Fix TimeCode.frame max value
- Don't impose C++14 on downstream projects
- Restore fix to macOS universal 2 build lost from #854
Specific OSS-fuzz issues:
- OSS-fuzz 33741 Integer-overflow in Imf_3_0::getScanlineChunkOffsetTableSize
- OSS-fuzz 32620 Out-of-memory in openexr_exrcheck_fuzzer
Download OpenEXR v3.0.2 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.2.
May 17, 2021 - OpenEXR v2.5.6
Patch release for v2.5 that fixes a regression in Imath::succf()/Imath::predf().
Download OpenEXR v2.5.6 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.6.
May 17, 2021 - OpenEXR v2.4.3
Patch release for v2.4 that addresses the following security vulnerabilities:
- CVE-2021-20296 Segv on unknown address in Imf_2_5::hufUncompress - Null Pointer dereference
- CVE-2021-3479 Out-of-memory in openexr_exrenvmap_fuzzer
- CVE-2021-3478 Out-of-memory in openexr_exrcheck_fuzzer
- CVE-2021-3477 Heap-buffer-overflow in Imf_2_5::DeepTiledInputFile::readPixelSampleCounts
- CVE-2021-3476 Undefined-shift in Imf_2_5::unpack14
- CVE-2021-3475 Integer-overflow in Imf_2_5::calculateNumTiles
- CVE-2021-3474 Undefined-shift in Imf_2_5::FastHufDecoder::FastHufDecoder
Also:
- Fixed regression in Imath::succf() and Imath::predf() when negative values are given
Download OpenEXR v2.4.3 from https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.3.
May 16, 2021 - Imath v3.0.2
Patch release with miscellaneous bug/build fixes, primarily:
- Fix regression in succf()/predf()
- Don't impose C++14 on downstream projects
Download Imath v3.0.2 from https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.2.
April 1, 2021 - OpenEXR and Imath v3.0
The OpenEXR Project and the Academy Software Foundation (ASWF)announced the official release of OpenEXR and Imath version 3.0, nowavailable for developers to integrate into their applications.
The 3.0 release of OpenEXR addresses a number of security issues andintroduces several new features, including ID Manifest attributes, butit is primarily a major restructuring and simplification of the buildprocess and modernization of the code that involves moving Imath to anexternal project dependency.
Largely backwards compatible with previous releases, Imath 3.0 bringsthe library up to modern standards for performance and utility. Bypromoting Imath as a project independent of OpenEXR, we hope toencourage its use throughout the motion picture and computer graphicscommunity.
See the Imath and OpenEXR release notes for details and the portingguide for more information about the differences with previous versions. And read the documentation athttps://imath.readthedocs.io. And please reportany problems and share your feedback either through the GitHub repoor openexr-dev@lists.aswf.io.
March 28, 2021 - OpenEXR v3.0.1-beta
Beta patch release:
- OSS-fuzz 32370 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 32067 account for size of pixels when estimating memory
March 28, 2021 - Imath v3.0.1-beta
Beta patch release:
- #if IMATH_FOREIGN_VECTOR_INTEROP around type detectors
- Forward declarations only if header is not included
March 16, 2020 - OpenEXR v3.0.0-beta
OpenEXR version v3.0.0-beta is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.0-beta
Major release with major build restructing, security improvements, andnew features:
- Restructuring:
- The IlmBase/PyIlmBase submodules have been separated into the Imath project, now included by OpenEXR via a CMake submodule dependency, fetched automatically via CMake's FetchContent if necessary.
- The library is now called libOpenEXR (instead of libIlmImf). No header files have been renamed, they retain the Imf prefix.
- Symbol linkage visibility is limited to specific public symbols.
- Build improvements:
- No more simultaneous static/shared build option. Gnu autoconf/bootstrap/configure build setup has been retired.
- Community-provided support for bazel.
- New Features:
- ID Manifest Attributes, as described in 'A Scheme for Storing Object ID Manifests in OpenEXR Images', Peter Hillman, DigiPro 18: Proceedings of the 8th Annual Digital Production Symposium, August 2018.
- New program: exrcheck validates the contents of an EXR file.
- Changes:
- EXR files with no channels are no longer allowed.
- Hard limit on the size of deep tile sizes; tiles must be less than 230 pixels.
- Tiled DWAB files used STATIC_HUFFMAN compression.
- Int64 and SInt64 types are deprecated in favor of uint64_t and int64_t.
- Header files have been pruned of extraneous #include's ('Include What You Use'), which may generate compiler errors in application source code from undefined symbols or partially-defined types. These can be resolved by identifying and including the appropriate header.
- See the porting guide for details about differences from previous releases and how to address them.
- Also refer to the porting guide for details about changes to Imath.
Specific OSS-fuzz issues addressed include:
- OSS-fuzz 24573Out-of-memory in openexr_exrenvmap_fuzzer
- OSS-fuzz 24857 Out-of-memory in openexr_exrheader_fuzzer
- OSS-fuzz 25002 Out-of-memory in openexr_deepscanlines_fuzzer
- OSS-fuzz 25648 Out-of-memory in openexr_scanlines_fuzzer
- OSS-fuzz 26641 Invalid-enum-value in readSingleImage
- OSS-fuzz 28051 Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer
- OSS-fuzz 28155 Crash in Imf_2_5::PtrIStream::read
- OSS-fuzz 28419 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 29393 Timeout in openexr_exrcheck_fuzzer
- OSS-fuzz 29423 Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers
- OSS-fuzz 29653 Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers
- OSS-fuzz 29682 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 30115 Timeout in openexr_exrcheck_fuzzer
- OSS-fuzz 30249 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 30605 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 30616 Timeout in openexr_exrcheck_fuzzer
- OSS-fuzz 30969 Direct-leak in Imf_2_5::DwaCompressor::LossyDctDecoderBase::execute
- OSS-fuzz 31015 Direct-leak in Imf_2_5::TypedAttribute<Imf_2_5::CompressedIDManifest>::readValueFrom
- OSS-fuzz 31044 Timeout in openexr_exrcheck_fuzzer
- OSS-fuzz 31072 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 31221 Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputPart>
- OSS-fuzz 31228 Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputFile>
- OSS-fuzz 31291 Sanitizer CHECK failure in '((0 && 'Address is not in memory and not in shadow?')) != (0)' (0x0, 0x0)
- OSS-fuzz 31293 Segv on unknown address in Imf_2_5::copyIntoFrameBuffer
- OSS-fuzz 31390 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 31539 Out-of-memory in openexr_exrcheck_fuzzer
March 15, 2021 - Imath v3.0.0-beta
Imath version v3.0.0-beta is available for download at https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.0-beta
First release of Imath independent of OpenEXR.
See the porting guidefor details about differences from previous releases.
Summary:
- Imath includes the half type, formerly in a separate Half library.
- Headers are installed in Imath/ subdirectory.
- All appropriate methods are marked constexpr, noexcept
- Appropriate declaration include CUDA __host__ and __device__ directives.
- Throwing methods throw std exceptions instead of Iex.
- New Vec and Matrix interoperability constructors for conversion from other similar type objects.
- Symbol linkage visibility is limited to specific public symbols.
- python bindings are off by default, available by setting PYTHON=ON
- Deprecated features:
- std::numeric_limits replaces Imath::limits.
- Int64 and SInt64 are deprecated in favor of uint64_t and int64_t.
February 12, 2021 - OpenEXR v2.5.5
OpenEXR version v2.5.5 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.5
Patch release with various bug/sanitizer/security fixes, primarilyrelated to reading corrupted input files, but also a fix for universalbuild support on macOS.
Specific OSS-fuzz issues include:
- OSS-fuzz 30291 Timeout in openexr_exrcheck_fuzzer
- OSS-fuzz 29106 Heap-buffer-overflow in Imf_2_5::FastHufDecoder::decode
- OSS-fuzz 28971 Undefined-shift in Imf_2_5::cachePadding
- OSS-fuzz 29829 Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers
- OSS-fuzz 30121 Out-of-memory in openexr_exrcheck_fuzzer
December 31, 2020 OpenEXR v2.5.4
OpenEXR version v2.5.4 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.4
Patch release with various bug/sanitizer/security fixes, primarilyrelated to reading corrupted input files.
Specific OSS-fuzz issues include:
- OSS-fuzz 24854 Segv on unknown address in Imf_2_5::hufUncompress
- OSS-fuzz 24831 Undefined-shift in Imf_2_5::FastHufDecoder::FastHufDecoder
- OSS-fuzz 24969 Invalid-enum-value in Imf_2_5::TypedAttribute<Imf_2_5::Envmap>::writeValueTo
- OSS-fuzz 25297 Integer-overflow in Imf_2_5::calculateNumTiles
- OSS-fuzz 24787 Undefined-shift in Imf_2_5::unpack14
- OSS-fuzz 25326 Out-of-memory in openexr_scanlines_fuzzer
- OSS-fuzz 25399 Heap-buffer-overflow in Imf_2_5::FastHufDecoder::FastHufDecoder
- OSS-fuzz 25415 Abrt in __cxxabiv1::failed_throw
- OSS-fuzz 25370 Out-of-memory in openexr_exrenvmap_fuzzer
- OSS-fuzz 25501 Out-of-memory in openexr_scanlines_fuzzer
- OSS-fuzz 25505 Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer
- OSS-fuzz 25562 Integer-overflow in Imf_2_5::hufUncompress
- OSS-fuzz 25740 Null-dereference READ in Imf_2_5::Header::operator
- OSS-fuzz 25743 Null-dereference in Imf_2_5::MultiPartInputFile::header
- OSS-fuzz 25913 Out-of-memory in openexr_exrenvmap_fuzzer
- OSS-fuzz 26229 Undefined-shift in Imf_2_5::hufDecode
- OSS-fuzz 26658 Out-of-memory in openexr_scanlines_fuzzer
- OSS-fuzz 26956 Heap-buffer-overflow in Imf_2_5::DeepTiledInputFile::readPixelSampleCounts
- OSS-fuzz 27409 Out-of-memory in openexr_exrcheck_fuzzer
- OSS-fuzz 25892 Divide-by-zero in Imf_2_5::calculateNumTiles
- OSS-fuzz 25894 Floating-point-exception in Imf_2_5::precalculateTileInfo
August 12, 2020 OpenEXR v2.5.3
OpenEXR version v2.5.3 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.3
Patch release with various bug/security fixes and build/install fixes, plus a performance optimization:
- Various sanitizer/fuzz-identified issues related to handling of invalid input
- Fixes to misc compiler warnings
- Cmake fix for building on arm64 macOS (#772)
- Read performance optimization (#782)
- Fix for building on non-glibc (#798)
- Fixes to tests
June 15, 2020 OpenEXR v2.5.2
OpenEXR version v2.5.2 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.2
Patch release with various bug/security and build/install fixes:
- Invalid input could cause a heap-use-after-free error in DeepScanLineInputFile::DeepScanLineInputFile()
- Invalid chunkCount attributes could cause heap buffer overflow in getChunkOffsetTableSize()
- Invalid tiled input file could cause invalid memory access TiledInputFile::TiledInputFile()
- OpenEXRConfig.h now correctly sets OPENEXR_PACKAGE_STRING to 'OpenEXR' (rather than 'IlmBase')
- Various Windows build fixes
June 15, 2020 OpenEXR v2.4.2
OpenEXR version v2.4.2 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.2
Patch release that backports various recent bug/security fixes:
Openexr Viewer Windows
- Invalid input could cause a heap-use-after-free error in DeepScanLineInputFile::DeepScanLineInputFile()
- Invalid chunkCount attributes could cause heap buffer overflow in getChunkOffsetTableSize()
- Invalid tiled input file could cause invalid memory access TiledInputFile::TiledInputFile()
- OpenEXRConfig.h now correctly sets OPENEXR_PACKAGE_STRING to 'OpenEXR' (rather than 'IlmBase)'
May 11, 2020 OpenEXR v2.5.1
OpenEXR version v2.5.1 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.1
v2.5.1 is a patch release that corrects the SO version for the v2.5release, which missed getting bumped in v2.5.0.
This release also fixes an improper failure in IlmImfTest when running on ARMv7 and AAarch64.
May 6, 2020 OpenEXR v2.5.0
OpenEXR version v2.5.0 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.0
This is a minor release with miscellaneous bug fixes and small features
Summary
- No more build-time header generation: toFloat.h, eLut.h, b44ExpLogTable.h, and dwaLookups.h are now ordinary header files, no longer generated on the fly.
- New StdISSTream class, an 'input' stringstream version of StdOSStream
- New Matrix22 class in Imath
- Chromaticity comparison operator now includes white (formerly ignored)
- Various cmake fixes
- Bug fixes for various memory leaks
- Bug fixes for various invalid memory accesses
- New checks to detect damaged input files
- OpenEXR_Viewers has been deprecated, removed from the top-level cmake build and documentation.
See the release notes for more details.
April 30, 2020 OpenEXR v2.2.2
OpenEXR version v2.2.2 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.2.2
This is a patch release of OpenEXR v2.2 that includes fixes for the following security vulnerabilities:
See the CHANGES.md for more details.
Feb 11, 2020 OpenEXR v2.4.1
OpenEXR version v2.4.1 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.1
This is a patch release that addresses miscellaneous bugs.
Summary
- Various fixes for memory leaks and invalid memory accesses
- Various fixes for integer overflow with large images.
- Various cmake fixes for build/install of python modules.
- ImfMisc.h is no longer installed, since it's a private header.
Sep 19, 2019 OpenEXR v2.4.0
OpenEXR version v2.4.0 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.0
This release contains no major new functionality, although it doesinclude many miscellaneous bug and security fixes. The major newfeature is a completely rewritten CMake setup, which should workreliably on Linux, macOS, and Windows. The installation instructionsand project documentation are also freshly revised. See the releasenotes for the complete details.
The project also now supports continuous integration via AzurePipelines and code analysis via SonarCloud, services supported by theAcademy Software Foundation. Links to the dashboards are throughthe'Azure Pipelines' and 'quality gate' badges at the top the GitHubrepo home page.
Summary of changes:
- Completely re-written CMake configuration files
- Improved support for building on Windows, via CMake
- Improved support for building on macOS, via CMake
- All code compiles without warnings on gcc, clang, msvc
- Cleanup of license and copyright notices
- floating-point exception handling is disabled by default
- New Slice::Make method to reliably compute base pointer for a slice.
- Miscellaneous bug fixes
This version fixes the following security vulnerabilities:
- CVE-2018-18444 Issue #351 Out of Memory
- CVE-2018-18443 Issue #350 heap-buffer-overflow
Sep 5, 2019 OpenEXR v2.4.0-beta.1
OpenEXR version v2.4.0-beta.1 is available for download at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.0-beta.1
This release contains no major new functionality, although it doesinclude many miscellaneous bug and security fixes. The major newfeature is a completely rewritten CMake setup, which should workreliably on Linux, macOS, and Windows. The installation instructionsand project documentation are also freshly revised. See the releasenotes for the complete details.
The project also now supports continuous integration via AzurePipelines and code analysis via SonarCloud, services supported by theAcademy Software Foundation. Links to the dashboards are throughthe'Azure Pipelines' and 'quality gate' badges at the top the GitHubrepo home page.
Summary of changes:
- Completely re-written CMake configuration files
- Improved support for building on Windows, via CMake
- Improved support for building on macOS, via CMake
- All code compiles without warnings on gcc, clang, msvc
- Cleanup of license and copyright notices
- floating-point exception handling is disabled by default
- New Slice::Make method to reliably compute base pointer for a slice.
- Miscellaneous bug fixes
This version fixes the following security vulnerabilities:
- CVE-2018-18444 Issue #351 Out of Memory
- CVE-2018-18443 Issue #350 heap-buffer-overflow
May 1, 2019
OpenEXR has been adopted by theAcademy Software Foundation.
August 13, 2018 OpenEXR 2.3.0
OpenEXR v2.3.0 has been released and is available for download.
Features/Improvements:
- 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
Bugs:
- 25+ various bug fixes (see detailed Release Notes for the full list)
Build Fixes:
- 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)
Full release notes are here:
https://github.com/AcademySoftwareFoundation/openexr/blob/develop/CHANGES.mdOpenEXR source can be obtained from the downloads section of www.openexr.com or from the project page on github: https://github.com/AcademySoftwareFoundation/openexr
November 30, 2017 OpenEXR 2.2.1
OpenEXR v2.2.1 has been released and is available for download.
This maintenance release addresses the reported OpenEXR security vulnerabilities, specifically CVE-2017-9110, CVE-2017-9111, CVE-2017-9112, CVE-2017-9113, CVE-2017-9114, CVE-2017-9115, CVE-2017-9116.
OpenEXR source can be obtained from the downloads section of www.openexr.com or from the project page on github: https://github.com/AcademySoftwareFoundation/openexr
August 10, 2014 OpenEXR v2.2.0
OpenEXR v2.2.0 has been released and is available for download.
This release includes the following components:
- OpenEXR: v2.2.0
- IlmBase: v2.2.0
- PyIlmBase: v2.2.0
- OpenEXR_Viewers: v2.2.0
This significant new features of this release include:
- DreamWorks Lossy Compression A new high quality, high performance lossy compression codec contributed by DreamWorks Animation. This codec allows control over variable lossiness to balance visual quality and file size. This contribution also includes performance improvements that speed up the PIZ codec.
- IlmImfUtil A new library intended to aid in development of image file manipulation utilities that support the many types of OpenEXR images.
This release also includes improvements to cross-platform build support using CMake.
OpenEXR source can be obtained from the downloads section of www.openexr.com or from the project page on github: https://github.com/AcademySoftwareFoundation/openexr
November 25, 2013 OpenEXR v2.1.0
OpenEXR v2.1.0 has been released and is available for download.
This release includes the following components (version locked):
- OpenEXR: v2.1.0
- IlmBase: v2.1.0
- PyIlmBase: v2.1.0
- OpenEXR_Viewers: v2.1.0
This release includes a refactoring of the optimised read paths for RGBA data, optimisations for some of the python bindings to Imath, improvements to the cmake build environment as well as additional documentation describing deep data in more detail.
April 9, 2013 OpenEXR v2.0
Industrial Light & Magic (ILM) and Weta Digital announce the release of OpenEXR 2.0, the major version update of the open source high dynamic range file format first introduced by ILM and maintained and expanded by a number of key industry leaders including Weta Digital, Pixar Animation Studios, Autodesk and others.
The release includes a number of new features that align with the major version number increase. Amongst the major improvements are:
- Deep Data support - Pixels can now store a variable-length list of samples. The main rationale behind deep images is to enable the storage of multiple values at different depths for each pixel. OpenEXR 2.0 supports both hard-surface and volumetric representations for Deep Compositing workflows.
- Multi-part Image Files - With OpenEXR 2.0, files can now contain a number of separate, but related, data parts in one file. Access to any part is independent of the others, pixels from parts that are not required in the current operation don't need to be accessed, resulting in quicker read times when accessing only a subset of channels. The multipart interface also incorporates support for Stereo images where views are stored in separate parts. This makes stereo OpenEXR 2.0 files significantly faster to work with than the previous multiview support in OpenEXR.
- Optimized pixel reading - decoding RGB(A) scanline images has been accelerated on SSE processors providing a significant speedup when reading both old and new format images, including multipart and multiview files.
- Namespacing - The library introduces versioned namespaces to avoid conflicts between packages compiled with different versions of the library.
Although OpenEXR 2.0 is a major version update, files created by the new library that don't exercise the new feature set are completely backwards compatible with previous versions of the library. By using the OpenEXR 2.0 library, performance improvements, namespace versions and basic multi-part/deep reading support should be available to applications without code modifications.
This code is designed to support Deep Compositing - a revolutionary compositing workflow developed at Weta Digital that detached the rendering of different elements in scene. In particular, changes in one layer could be rendered separately without the need to re-render other layers that would be required to handle holdouts in a traditional comp workflow or sorting of layers in complex scenes with elements moving in depth. Deep Compositing became the primary compositing workflow on Avatar and has seen wide industry adoption. The technique allows depth and color value to be stored for every pixel in a scene allowing for much more efficient handling of large complex scenes and greater freedom for artists to iterate.
True to the open source ethos, a number of companies contributed to support the format and encourage adoption. Amongst others, Pixar Animation Studios has contributed its DtexToExr converter to the OpenEXR repository under a Microsoft Public License, which clears any concerns about existing patents in the area, and Autodesk provided performance optimizations geared towards real-time post-production workflows.
Extensive effort has been put in ensuring all requirements were met to help a wide adoption, staying true to the wide success of OpenEXR. Many software companies were involved in the beta cycle to insure support amongst a number of industry leading applications. Numerous packages like SideFX's Houdini, Autodesk's Maya, Solid Angle's Arnold renderer, Sony Pictures Imageworks' Open Image IO have already announced their support of the format.
Open EXR 2.0 is an important step in the adoption of deep compositing as it provides a consistent file format for deep data that is easy to read and work with throughout a visual effects pipeline. The Foundry has build OpenEXR 2.0 support into its Nuke Compositing application as the base for the Deep Compositing workflows.
OpenEXR 2.0 is already in use at both Weta Digital and Industrial Light & Magic. ILM took advantage of the new format on Marvel's The Avengers and two highly anticipated summer 2013 releases, Pacific Rim and The Lone Ranger. Recent examples of Weta Digital's use of the format also include Marvel's Avengers as well as Prometheus and The Hobbit. In addition, a large number of visual effects studios have already integrated a deep workflow into their compositing pipelines or are in the process of doing so including:, Sony Pictures Imageworks, Pixar Animation Studios, Rhythm & Hues, Fuel and MPC.
In addition to visual effects, the new additions to the format, means that depth data can also be assigned to two-dimensional data for a use in many design fields including, architecture, graphic design, automotive and product prototyping.
July 31st, 2012 OpenEXR v1.7.1
OpenEXR v1.7.1 has been released and is available for download. This release includes the following components:
- OpenEXR: v1.7.1
- IlmBase: v1.0.3
- PyIlmBase: v1.0.0 (introduces a Boost dependency)
- OpenEXR_Viewers: v1.0.2
Of particular note is the introduction of PyIlmBase. This module forms a comprehensive set of python bindings to the IlmBase module.
In addition, contained in this release is a number of additions to Imath as well as a minor tweak to Imath::Frustrum (for better support for Windows platforms) as well as other minor fixes, including correction for soname version of IlmImf.
June 18, 2012
We're pleased to announce the first public Beta release of OpenEXR v2.
Development of OpenEXR v2 has been undertaken in a collaborative environment (cf. previous github announcement) comprised of Industrial Light & Magic, Weta Digital as well as a number of other contributors.
Some of the new features included in the Beta.1 release of OpenEXR v2 are:
* Deep Data. Pixels can now store a variable length list of samples. The main rationale behind deep-images is to have multiple values at different depths for each pixel. OpenEXR v2 supports both hard surface and volumetric representation requirements for deep compositing workflows.
* Multi-part image files. With OpenEXR v2, files can now contain a number of separate, but related, images in one file. Access to any part is independent of the others; in particular, no access of data need take place for unrequested parts.
In addition, OpenEXR v2 also contains platform independent mechanisms for handling co-existing library version conflicts in the same process space. (Currently implemented in IlmImf)
Finally, a reminder that this is a Beta release and potentially incompatible changes may be introduced in future releases prior to the v2.0.0 production version.
OpenEXR v2Beta.1 can be found at: https://github.com/AcademySoftwareFoundation/openexr/tree/v2_beta.1
June 18, 2012
- We're pleased to announce that the OpenEXR source code is moving to github.com. You can browse, download and branch the code at www.github.com/AcademySoftwareFoundation/openexr.We're looking forward to taking advantage of the collaborative features presented by git and github.com and of course community contributions. Please see the developer Wiki pages for more information regarding participation.
July 23, 2010
New feature version of OpenEXR is now available. This release includes support for stereoscopic images, please see the adjoining documentation in the MultiViewOpenEXR.pdf. (Many thanks to Weta Digital for their contribution.) In addition, we added support for targeting 64 bit Windows, fixes for buffer overruns and a number of other minor fixes, additions and optimisations. Please see the Changelog files for more detailed information.
OpenEXR 1.7.0, OpenEXR_Viewers 1.0.2, IlmBase 1.0.2 and OpenEXR-Images-1.7.0 can be downloaded from the downloads section of www.openexr.com
October 22, 2007
New versions of OpenEXR and CTL are now available.
This release fixes a buffer overrun in OpenEXR and a Windows build problem in CTL, and it removes a few unnecessary files from the .tar.gz packages.
OpenEXR 1.6.1, OpenEXR_Viewers 1.0.1 and IlmBase 1.0.1 can be downloaded from the downloads section of www.openexr.com. CTL 1.4.1 and OpenEXR_CTL 1.0.1 can be downloaded from http://www.oscars.org/science-technology/council/projects/ctl.html.
August 3, 2007
New stable versions of OpenEXR and CTL are now available.
The source code has been tested on Linux, Mac OS X and Windows (Visual Studio 7 and 8).
Here's a summary of what has changed since the last release:
OpenEXR 1.6.0
- Reduced generational loss in B44- and B44A-compressed images.
- Added B44A compression. This is a variation of B44, but with a better compression ratio for images with large uniform areas, such as in an alpha channel.
- Bug fixes.
CTL 1.4.0
- Added new functions to the CTL standard library: 3x3 matrix support, 1D lookup tables with cubic interpolation.
- Added new 'ctlversion' statement to the language.
- Bug fixes.
OpenEXR_CTL 1.0.0
- Applying CTL transforms to a frame buffer is multi-threaded.
- Bug fixes.
OpenEXR_Viewers 1.0.0
- Implemented new naming conventions for CTL parameters.
IlmBase 1.0.0
- Half now implements 'round to nearest even' mode.
OpenEXR 1.6.0, OpenEXR_Viewers 1.0.0 and IlmBase 1.0.0 can be downloaded from the downloads section of www.openexr.com. CTL 1.4.0 and OpenEXR_CTL 1.0.0 can be downloaded from http://www.oscars.org/council/ctl.html.
January 22, 2007
- CTL has been released.The Color Transformation Language, or CTL, is a programming language for digital color management. Color management requires translating images between different representations or color spaces. CTL allows users to describe color transforms in a concise and unambiguous way by expressing them as programs. In order to apply a given transform to an image, a color management system instructs a CTL interpreter to load and run the CTL program that describes the transform.
The image viewers included in the OpenEXR software distribution, exrdisplay and playexr, both support color rendering via CTL. For more information see http://www.openexr.com/OpenEXRViewers.pdf.
Sorce code and documentation for the CTL interpreter can be downloaded from http://ampasctl.sourceforge.net. Please note the license under which CTL is distributed; it is similar but not identical to the OpenEXR license.
January 4, 2007
OpenEXR wins an Academy Award for Technical Achievement.
The Academy of Motion Picture Arts and Sciences today announced the 15 winners of Scientific and Technical Academy Awards. A Technical Achievement Award goes to Florian Kainz for the design and engineering of OpenEXR, a software package implementing 16-bit, floating-point, high dynamic range image files. Widely adopted, OpenEXR is engineered to meet the requirements of the visual effects industry by providing for lossless and lossy compression of tiered and tiled images.
Congratulations to all for making OpenEXR such a success!!!
December 15, 2006
A new development version of OpenEXR is now available. We have tested the code in this version internally at ILM, but we would like to get feedback from others before we release a production version.
The new version includes several significant changes:
- OpenEXR supports a new image compression method, called B44. It has a fixed compression rate of 2.28:1, or 4.57:1 if used in combination with luminance/chroma encoding. B44-compressed images can be uncompressed fast enough to support real-time playback of image sequences.
- The new playexr program plays back moving image sequences. Playexr is multi-threaded and utilizes the threading capabilities of the IlmImf library that were introduced in OpenEXR 1.3.0. The program plays back B44-compressed images with fairly high-resolution in real time on commodity hardware.
- The playexr program and a new version of the existing exrdisplay image viewer both support color rendering via color transforms written in the new Color Transformation Language or CTL. CTL is not part of OpenEXR; it will be released separately. CTL support in playexr and exrdisplay is optional; the programs can be built and will run without CTL.
- In preparation for the release of CTL, OpenEXR has been split into three separate packages:
- IlmBase 0.9.0 includes the Half, Iex, Imath and IlmThread libraries
- OpenEXR 1.5.0 includes the IlmImf library, programming examples and utility programs such as exrheader or exrenvmap
- OpenEXRViewers 0.9.0 includes the playexr and exrdisplay programs
- The 'Technical Introduction to OpenEXR' document now includes a recommendation for storing CIE XYZ pixel data in OpenEXR files.
- A new 'OpenEXR Image Viewing Software' document describes the playexr and exrdisplay programs. It briefly explains real-time playback and color rendering, and includes recommendations for testing if other image viewing software displays OpenEXR images correctly.
- The OpenEXR sample image set now includes B44-compressed files and files with CIE XYZ pixel data.
August 8, 2006
We have released an updated set of sample OpenEXR images. This release includes several new images that are useful for testing OpenEXR applications. The images are organized by subdirectory according to their image type or purpose. Several of these subdirectories contain README files that explain the contents of the images in those subdirectories.
August 2, 2006
OpenEXR 1.4.0 is now available. This is the next major production-ready release of OpenEXR and offers full compatibility with our last production release, which was 1.2.2. This version obsoletes versions 1.3.x, which were test versions for 1.4.0. If you have been using 1.3.x, please upgrade to 1.4.0.
June 8, 2006
OpenEXR 1.3.0 is now available.
This is a test release. The major new feature in this version is support for multithreaded file I/O. We've been testing the threaded code internally at ILM for a few months, and we have not encountered any bugs, but we'd like to get some feedback from others before we release the production version.
Here's a summary of the changes since version 1.2.2:
- Support for multithreaded file reading and writing.
- Support for Intel-based OS X systems.
- Support for Visual Studio 2005.
- Better handling of PLATFORM_* and HAVE_* macros.
- Updated documentation.
- Bug fixes related to handling of incomplete and damaged files.
- Numerous bug fixes and cleanups to the autoconf-based build system.
- Removed support for the following configurations that were previously supported. Some of these configurations may happen to continue to function, but we can't help you if they don't, largely because we don't have any way to test them:
- IRIX
- OSF1
- SunOS
- OS X versions prior to 10.3.
- gcc on any platform prior to version 3.3
March 15, 2005
We're pleased to announce the release of OpenEXR 1.2.2. This is a relatively minor update to the project, with the following changes:
- New build system for Windows; support for DLLs.
- Switched documentation from HTML to PDF format.
- IlmImf: support for image layers in ChannelList.
- IlmImf: added isComplete() method to file classes to check whether a file is complete.
- IlmImf: exposed staticInitialize() in ImfHeader.h in order to allow thread-safe library initialization in multithreaded applications.
- IlmImf: New 'time code' standard attribute.
- exrdisplay: support for displaying wrap-around texture map images.
- exrmaketiled: can now specify wrap mode.
- IlmImf: New 'wrapmodes' standard attribute to indicate extrapolation mode for mipmaps and ripmaps.
- IlmImf: New 'key code' standard attribute to identify motion picture film frames.
- Imath: Removed TMatrix<T> classes; these classes are still under development and are too difficult to keep in sync with OpenEXR CVS.
August 10, 2004
ILM's OpenEXR color management proposal, presented at the Siggraph 2004 'OpenEXR, Film and Color' Birds of a Feather meeting, is now available online. See the documentation section.
June 6, 2004
OpenEXR 1.2.1 is now available. This is a fairly minor release,mostly just a few tweaks, a few bug fixes, and some new documentation.Here are the most important changes:
- reduced memory footprint of exrenvmap and exrmaketiled utilities.
- IlmImf: new helper functions to determine whether a file is an OpenEXR file, and whether it's scanline- or tile-based.
- IlmImf: bug fix for PXR24 compression with ySampling != 1.
- Better support for gcc 3.4.
- Warning cleanups in Visual C++.
May 11, 2004
OpenEXR 1.2.0 is now available. This is the first official,production-ready release since OpenEXR 1.0.7. If you have been using thedevelopment 1.1 series, please switch to 1.2.0 as soon as possible.
We believe that OpenEXR 1.2.0 is ready for use in shipping applications.We have been using it in production at ILM for several months now with noproblems.
There are quite a few major new features in the 1.2 series as compared to the original 1.0 series:
- Support for tiled images, including mipmaps and ripmaps. Note that software based on the 1.0 series cannot read or write tiled images. However, simply by recompiling your software against the 1.2 release, any code that reads scanline images can read tiled images, too.
- A new Pxr24 compressor, contributed by Pixar Animation Studios. Values produced by the Pxr24 compressor provide the same range as 32-bit floating-point numbers with slightly less precision, and compress quite a bit better. The Pxr24 compressor stores UINT and HALF channels losslessly, and for these data types performs similarly to the ZIP compressor.
- OpenEXR now supports high dynamic-range YCA (luminance/chroma/alpha) images with subsampled chroma channels. These files are supported via the RGBA convenience interface, so that data is presented to the application as RGB(A) but stored in the file as YC(A). OpenEXR also supports Y and YA (black-and-white/black-and-white with alpha) images.
- An abstracted file I/O interface, so that you can use OpenEXR with interfaces other than C++'s iostreams.
- Several new utilities for manipulating tiled image files.
See the downloads section to download the sourcecode and sample images.
Mar 27, 2004
OpenEXR 1.1.1 is now available. This anotherdevelopment release. We expect to release a stable version, 1.2,around the end of April. Version 1.1.1 includes support for PXR24compression, and for high-dynamic-range luminance/chroma imageswith subsampled chroma channels. Version 1.1.1 also fixes a bugin the 1.1.0 tiled file format.
Mar 27, 2004
We are pleased to announce thatPixar Animation Studios has contributed code to OpenEXRfor a new lossy compression method, which compresses 32-bitfloating-point data quite a bit better than OpenEXR's othercompressors. This new compressor is called PXR24 and isavailable as of the 1.1.1 development release of OpenEXR.It will also be included in the upcoming 1.2 stable release.Thanks to Loren Carpenter and Dana Batali of Pixar, for makingthis happen!
Feb 6, 2004
OpenEXR 1.1.0 is now available. This is a major new releasewith support for tiled images, multi-resolution files (mip/ripmaps),environment maps, and abstracted file I/O. We've also released a new setof images that demonstrate these features, and updated the CodeWarrior project and Photoshop plugins for this release. See the downloads section for the source code and the newimages.
Jan 8, 2004
Industrial Light & Magic has released the source code for an OpenEXR Shake plugin.The plugin is supported on Shake 3.0 on the GNU/Linux and MacOS X platforms. See the downloads section.
Jan 7, 2004
OpenEXR 1.0.7 is now available. In addition to some bugfixes, this version adds support for some new standard attributes, such asprimary and white point chromaticities, lens aperture, film speed, imageacquisition time and place, and more. If you want to use these newattributes in your applications, see the ImfStandardAttributes.h headerfile for documentation.
Our project hosting site, Savannah, is still recovering from a compromiselast month, so in the meantime, we're hosting file downloads here. Some of the files are not currentlyavailable, but we're working to restore them.
April 3, 2003
OpenEXR release 1.0.5 is now available. Itincludes support for Windows and improved support for OS X. It alsoincludes support for hardware rendering of OpenEXR images on NVIDIAGeForce FX and Quadro FX video cards. See thedownloads section for source code andprebuilt packages for Windows, OS X 10.2, and RedHat.April 3, 2003
Industrial Light & Magic has released the source code for an OpenEXR display driver forPixar's Renderman. This display driver is covered under the OpenEXR free software license.See the downloads section for the source code.January 22, 2003
OpenEXR Press Release click hereJanuary 22, 2003
openexr.com web site is officially launched.
© Copyright OpenEXR a Series of LF Projects, LLC and/or its contributors. All documentation on this website made available under a Creative Commons Attribution 4.0 International License.EXR header values¶
This module represents EXR headers as regular Python dictionaries.Each header entries have a name - a string - and a valuethat may be one of several types, defined by the OpenEXR standard.
The Python module translates these types to Python types when reading OpenEXR headers,and does the reverse translation when writing headers.
The module Imath provides many of the classes for attribute types.
Values in the dictionary may be:
string
float
int
list of strings
New in version 1.2.
This attribute type is used in multiView images, as described in http://www.openexr.com/MultiViewOpenEXR.pdf
dict
A dict represents the image’s channels. In the dict, the keys are the channel names, and the values are of class Imath.Channel:
A preview image, specified by height, width, and a string of length 4*width*height. The pixels are in RGBA order:
or to use a PIL image as an EXR preview:
Imath.Chromaticities
Specifies (x, y) chromaticities for red, green, blue and white components:
Comments are closed.