OpenEXR¶
OpenEXR provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.
The purpose of EXR format is to accurately and efficiently represent high-dynamic-range scene-linear image data. This is a significant difference to most image formats, which store images that are ready for display. Software that handles OpenEXR images may need to process them differently to images in other formats such as JPEG (see Scene-Linear Image Representation for more details). OpenEXR files have strong support for multi-part, multi-channel use cases, and extensive representation of associated metadata.
OpenEXR is widely used in host application software where accuracy is critical, such as photorealistic rendering, texture access, image compositing, deep compositing, and DI.
OpenEXR is a project of the Academy Software Foundation.
Latest News¶
November 11, 2024 - OpenEXR 3.3.2 Released
Patch release that fixes several bugs and build issues:
A recent change to CMake had the unintended consequence of installing headers and libraries from libdeflate when doing an internal build. This is now fixed.
Fix custom namespaces
Add thread control to exrmetrics tool
Reintroduce single cache for successive scanline reads
Allow empty filename when providing a custom stream
Handle non-seekable stream in python module’s InputFile object
This release fixes:
OSS-fuzz 372524117 Null-dereference WRITE in Imf_3_4::ScanLineProcess::run_fill
Imath¶
The OpenEXR project includes Imath, a basic, light-weight, and efficient C++ representation of 2D and 3D vectors and matrices and other simple but useful mathematical objects, functions, and data types common in computer graphics applications, including the half 16-bit floating-point type.
Imath also includes optional python bindings for all types and functions, including optimized implementations of vector and matrix arrays.
Quick Start¶
For a simple program that uses the C++ API to read and write a .exr
file, see the
Hello, World examples.
Community¶
Ask a question:
Email: openexr-dev@lists.aswf.io
Slack: academysoftwarefdn#openexr
Attend a meeting:
Technical Steering Committee meetings are open to the public, fortnightly on Thursdays, 1:30pm Pacific Time.
Calendar: https://zoom-lfx.platform.linuxfoundation.org/meetings/openexr
Meeting Notes: https://wiki.aswf.io/display/OEXR/TSC+Meetings
Report a bug:
Submit an Issue: https://github.com/AcademySoftwareFoundation/openexr/issues
Report a security vulnerability:
Email security@openexr.com
Contribute a Fix, Feature, or Improvement:
Read the Contribution Guidelines and Code of Conduct
Sign the Contributor License Agreement
Submit a Pull Request: https://github.com/AcademySoftwareFoundation/openexr/pulls
Resources¶
Reference images: https://github.com/AcademySoftwareFoundation/openexr-images
Security policy: SECURITY.md
Release notes: CHANGES.md
Contributors: CONTRIBUTORS.md
Porting Guide: OpenEXR/Imath 2.x to 3.x Porting Guide