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 and associated metadata, with strong support for multi-part, multi-channel use cases.

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

_images/news.png

OpenEXR v3.2.3 is released and available for download from v3.2.3.

Patch release with various build/bug/documentation fixes:

  • Fix bswap on NetBSD

  • Fix issue with decompressing fp32 dwa files

  • Support cmake config for libdeflate

  • updated security policy

  • miscelleneous website improvements

This release also addresses several recent fuzz/security issues, including:

  • OSS-fuzz 66676 Null-dereference in Imf_3_3::realloc_deepdata

  • OSS-fuzz 66612 Null-dereference in Imf_3_3::realloc_deepdata

This release also formally adopts the process of publishing openexr python wheels to pypi.org.

This release also introduces the process of signing release artifacts via sigstore.

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

Resources