CINXE.COM
OpenEXR
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- Copyright Contributors to the OpenEXR Project. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>OpenEXR</title> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/theme.css " type="text/css" /> <!-- sphinx script_files --> <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=faf5b417"></script> <script src="_static/doctools.js?v=888ff710"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></script> <!-- bundled in js (rollup iife) --> <!-- <script src="_static/theme-vendors.js"></script> --> <script src="_static/theme.js" defer></script> <link rel="shortcut icon" href="_static/openexr-fav.ico"/> <link rel="author" title="About these documents" href="about.html" /> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="OpenEXR Concepts" href="concepts.html" /> <script async type="text/javascript" src="/_/static/javascript/readthedocs-addons.js"></script><meta name="readthedocs-project-slug" content="openexr" /><meta name="readthedocs-version-slug" content="latest" /><meta name="readthedocs-resolver-filename" content="/" /><meta name="readthedocs-http-status" content="200" /></head> <body> <div id="app"> <div class="theme-container" :class="pageClasses"><navbar @toggle-sidebar="toggleSidebar"> <router-link to="#" class="home-link"> <img class="logo" src="_static/openexr-horizontal-color.png" alt="logo"/> </router-link> <div class="links"> <navlinks class="can-hide"> <div class="nav-item"> <a href="#openexr" class="nav-link "> OpenEXR </a> </div> <div class="nav-item"> <a href="concepts.html#openexr-concepts" class="nav-link "> Concepts </a> </div> <div class="nav-item"> <a href="tools.html#openexr-tools" class="nav-link "> Tools </a> </div> <div class="nav-item"> <a href="API.html#the-openexr-api" class="nav-link "> API </a> </div> <div class="nav-item"> <a href="python.html#the-openexr-python-module" class="nav-link "> Python </a> </div> <div class="nav-item"> <a href="install.html#install" class="nav-link "> Install </a> </div> <div class="nav-item"> <a href="license.html#license" class="nav-link "> License </a> </div> <div class="nav-item"> <a href="news.html#id1" class="nav-link "> News </a> </div> <div class="nav-item"> <a href="about.html#about-openexr" class="nav-link "> About </a> </div> <div class="nav-item"> <a href="test_images/index.html#test-images" class="nav-link "> Test Images </a> </div> <div class="nav-item"> <a href="https://github.com/AcademySoftwareFoundation/openexr" class="nav-link external"> GitHub <outboundlink></outboundlink> </a> </div> </navlinks> </div> </navbar> <div class="sidebar-mask" @click="toggleSidebar(false)"> </div> <sidebar @toggle-sidebar="toggleSidebar"> <navlinks> <div class="nav-item"> <a href="#openexr" class="nav-link "> OpenEXR </a> </div> <div class="nav-item"> <a href="concepts.html#openexr-concepts" class="nav-link "> Concepts </a> </div> <div class="nav-item"> <a href="tools.html#openexr-tools" class="nav-link "> Tools </a> </div> <div class="nav-item"> <a href="API.html#the-openexr-api" class="nav-link "> API </a> </div> <div class="nav-item"> <a href="python.html#the-openexr-python-module" class="nav-link "> Python </a> </div> <div class="nav-item"> <a href="install.html#install" class="nav-link "> Install </a> </div> <div class="nav-item"> <a href="license.html#license" class="nav-link "> License </a> </div> <div class="nav-item"> <a href="news.html#id1" class="nav-link "> News </a> </div> <div class="nav-item"> <a href="about.html#about-openexr" class="nav-link "> About </a> </div> <div class="nav-item"> <a href="test_images/index.html#test-images" class="nav-link "> Test Images </a> </div> <div class="nav-item"> <a href="https://github.com/AcademySoftwareFoundation/openexr" class="nav-link external"> GitHub <outboundlink></outboundlink> </a> </div> </navlinks><div id="searchbox" class="searchbox" role="search"> <div class="caption"><span class="caption-text">Quick search</span> <div class="searchformwrapper"> <form class="search" action="search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="Search" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> </div><div class="sidebar-links" role="navigation" aria-label="main navigation"> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="#openexr">OpenEXR</a></span> </p> <ul class=""> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="concepts.html#openexr-concepts">Concepts</a></span> </p> <ul class=""> <li class="toctree-l1 "> <a href="TechnicalIntroduction.html" class="reference internal ">Technical Introduction to OpenEXR</a> </li> <li class="toctree-l1 "> <a href="StandardAttributes.html" class="reference internal ">Standard Attributes</a> </li> <li class="toctree-l1 "> <a href="MultiViewOpenEXR.html" class="reference internal ">Storing Multi-View Images in OpenEXR Files</a> </li> <li class="toctree-l1 "> <a href="SceneLinear.html" class="reference internal ">Scene-Linear Image Representation</a> </li> <li class="toctree-l1 "> <a href="InterpretingDeepPixels.html" class="reference internal ">Interpreting OpenEXR Deep Pixels</a> </li> <li class="toctree-l1 "> <a href="TheoryDeepPixels.html" class="reference internal ">Theory of Deep Samples</a> </li> <li class="toctree-l1 "> <a href="DeepIDsSpecification.html" class="reference internal ">OpenEXR Deep IDs Specification</a> </li> <li class="toctree-l1 "> <a href="OpenEXRFileLayout.html" class="reference internal ">OpenEXR File Layout</a> </li> <li class="toctree-l1 "> <a href="PortingGuide.html" class="reference internal ">OpenEXR/Imath 2.x to 3.x Porting Guide</a> </li> <li class="toctree-l1 "> <a href="SymbolVisibility.html" class="reference internal ">Symbol Visibility in OpenEXR</a> </li> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="tools.html#openexr-tools">Tools</a></span> </p> <ul class=""> <li class="toctree-l1 "> <a href="bin/exr2aces.html" class="reference internal ">exr2aces</a> </li> <li class="toctree-l1 "> <a href="bin/exrcheck.html" class="reference internal ">exrcheck</a> </li> <li class="toctree-l1 "> <a href="bin/exrenvmap.html" class="reference internal ">exrenvmap</a> </li> <li class="toctree-l1 "> <a href="bin/exrheader.html" class="reference internal ">exrheader</a> </li> <li class="toctree-l1 "> <a href="bin/exrinfo.html" class="reference internal ">exrinfo</a> </li> <li class="toctree-l1 "> <a href="bin/exrmakepreview.html" class="reference internal ">exrmakepreview</a> </li> <li class="toctree-l1 "> <a href="bin/exrmaketiled.html" class="reference internal ">exrmaketiled</a> </li> <li class="toctree-l1 "> <a href="bin/exrmanifest.html" class="reference internal ">exrmanifest</a> </li> <li class="toctree-l1 "> <a href="bin/exrmetrics.html" class="reference internal ">exrmetrics</a> </li> <li class="toctree-l1 "> <a href="bin/exrmultipart.html" class="reference internal ">exrmultipart</a> </li> <li class="toctree-l1 "> <a href="bin/exrmultiview.html" class="reference internal ">exrmultiview</a> </li> <li class="toctree-l1 "> <a href="bin/exrstdattr.html" class="reference internal ">exrstdattr</a> </li> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="API.html#the-openexr-api">API</a></span> </p> <ul class=""> <li class="toctree-l1 "> <a href="HelloWorld.html" class="reference internal ">Hello, World</a> </li> <li class="toctree-l1 "> <a href="ReadingAndWritingImageFiles.html" class="reference internal ">Reading and Writing Image Files with the OpenEXR Library</a> </li> <li class="toctree-l1 "> <a href="OpenEXRCoreAPI.html" class="reference internal ">Reading and Writing Image Files with the C-language API</a> </li> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="python.html#the-openexr-python-module">Python</a></span> </p> <ul class=""> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="install.html#install">Install</a></span> </p> <ul class=""> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="license.html#license">License</a></span> </p> <ul class=""> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="news.html#id1">News</a></span> </p> <ul class=""> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="about.html#about-openexr">About</a></span> </p> <ul class=""> </ul> </div> <div class="sidebar-group"> <p class="caption"> <span class="caption-text"><a href="test_images/index.html#test-images">Test Images</a></span> </p> <ul class=""> <li class="toctree-l1 "> <a href="test_images/toctree.html" class="reference internal "><no title></a> </li> </ul> </div> </div> </sidebar> <page> <div class="body-header" role="navigation" aria-label="navigation"> <ul class="breadcrumbs"> <li><a href="#">Docs</a> »</li> <li>OpenEXR</li> </ul> <ul class="page-nav"> <li class="next"> <a href="concepts.html" title="next chapter">OpenEXR Concepts β</a> </li> </ul> </div> <hr> <div class="content" role="main" v-pre> <section id="openexr"> <span id="id1"></span><h1>OpenEXR<a class="headerlink" href="#openexr" title="Permalink to this heading">ΒΆ</a></h1> <div class="toctree-wrapper compound"> </div> <aside class="sidebar"> <img alt="_images/windowExample1.small.png" src="_images/windowExample1.small.png" /> </aside> <p>OpenEXR provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.</p> <p>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 <a class="reference internal" href="SceneLinear.html"><span class="doc">Scene-Linear Image Representation</span></a> for more details). OpenEXR files have strong support for multi-part, multi-channel use cases, and extensive representation of associated metadata.</p> <p>OpenEXR is widely used in host application software where accuracy is critical, such as photorealistic rendering, texture access, image compositing, deep compositing, and DI.</p> <p>OpenEXR is a project of the <a class="reference external" href="https://www.aswf.io">Academy Software Foundation</a>.</p> <section id="latest-news"> <h2>Latest News<a class="headerlink" href="#latest-news" title="Permalink to this heading">ΒΆ</a></h2> <a class="reference internal image-reference" href="_images/news.png"><img alt="_images/news.png" class="align-left" src="_images/news.png" style="width: 50px; height: 50px;" /></a> <p><strong>March 23, 2025 - OpenEXR 3.3.3 Released</strong></p> <blockquote class="highlights"> <div><p>Patch release with miscellaneous bug/build/documentation fixes:</p> <ul class="simple"> <li><p>π Fix a bug involving deep tiled images</p></li> <li><p>π Adjust the clamping on the dwa compression (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues/1982">1982</a>)</p></li> <li><p>π Address issues with small exr files and header parse (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues/1984">1984</a>)</p></li> <li><p>π Fix crash if user does not provide memory when filling deep framebuffer</p></li> <li><p>π Fix bad pointer SSE math causing out-of-bounds access</p></li> <li><p>π Fix potential buffer overwrite with zip data</p></li> <li><p>π Fix usage of utf-8 filenames for windows</p></li> <li><p>π Fix regression in reading EXR images on 32bit Windows involving <cite>atomic_compare_exchange_strong</cite></p></li> <li><p>π Add checks to avoid using optimizations when inappropriate (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues/1949">1949</a>)</p></li> <li><p>π Convert dwa encoder to use algorithm quantize (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues/1915">1915</a>)</p></li> <li><p>π Fix incorrect v3 array size validation</p></li> <li><p>π Add minor huf encode / decode performance optimizations</p></li> <li><p>π Add numpy dependency to python wrapper (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues/1919">1919</a>)</p></li> <li><p>π Remove duplicate cmake dependency from skbuild plugin (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/pull/1958">1958</a>)</p></li> <li><p>π Donβt set the library postfix in the cmake cache (Issue <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues/1981">1981</a>)</p></li> </ul> <p>This version also introduces a new tool, <cite>exrmetrics</cite>, a utility to help analyize file i/o times and compression ratios. See <a class="reference external" href="https://openexr.com/en/latest/bin/exrmetrics.html">exrmetrics</a> for details.</p> <p>This version also officially installs the <cite>exrcheck</cite> utility, formerly built for internal use but not installed.</p> <p>This version also publishes the python bindings for arm64 on Ubuntu and macOS.</p> </div></blockquote> </section> <section id="imath"> <h2>Imath<a class="headerlink" href="#imath" title="Permalink to this heading">ΒΆ</a></h2> <p>The OpenEXR project includes <a class="reference external" href="https://imath.readthedocs.io">Imath</a>, 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 <a class="reference external" href="https://imath.readthedocs.io/en/latest/classes/half.html">half</a> 16-bit floating-point type.</p> <p>Imath also includes optional python bindings for all types and functions, including optimized implementations of vector and matrix arrays.</p> </section> <section id="quick-start"> <h2>Quick Start<a class="headerlink" href="#quick-start" title="Permalink to this heading">ΒΆ</a></h2> <p>For a simple program that uses the C++ API to read and write a <code class="docutils literal notranslate"><span class="pre">.exr</span></code> file, see the <a class="reference internal" href="HelloWorld.html"><span class="doc">Hello, World</span></a> examples.</p> </section> <section id="community"> <h2>Community<a class="headerlink" href="#community" title="Permalink to this heading">ΒΆ</a></h2> <ul class="simple"> <li><p><strong>Ask a question:</strong></p> <ul> <li><p>Email: <a class="reference external" href="https://lists.aswf.io/g/openexr-dev">openexr-dev@lists.aswf.io</a></p></li> <li><p>Slack: <a class="reference external" href="https://academysoftwarefdn.slack.com/archives/CMLRW4N73">academysoftwarefdn#openexr</a></p></li> </ul> </li> <li><p><strong>Attend a meeting:</strong></p> <ul> <li><p>Technical Steering Committee meetings are open to the public, fortnightly on Thursdays, 1:30pm Pacific Time.</p></li> <li><p>Calendar: <a class="reference external" href="https://zoom-lfx.platform.linuxfoundation.org/meetings/openexr">https://zoom-lfx.platform.linuxfoundation.org/meetings/openexr</a></p></li> <li><p>Meeting Notes: <a class="reference external" href="https://wiki.aswf.io/display/OEXR/TSC+Meetings">https://wiki.aswf.io/display/OEXR/TSC+Meetings</a></p></li> </ul> </li> <li><p><strong>Report a bug:</strong></p> <ul> <li><p>Submit an Issue: <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/issues">https://github.com/AcademySoftwareFoundation/openexr/issues</a></p></li> </ul> </li> <li><p><strong>Report a security vulnerability:</strong></p> <ul> <li><p>Email <a class="reference external" href="mailto:security%40openexr.com">security<span>@</span>openexr<span>.</span>com</a></p></li> </ul> </li> <li><p><strong>Contribute a Fix, Feature, or Improvement:</strong></p> <ul> <li><p>Read the <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTING.md">Contribution Guidelines</a> and <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/blob/main/CODE_OF_CONDUCT.md">Code of Conduct</a></p></li> <li><p>Sign the <a class="reference external" href="https://contributor.easycla.lfx.linuxfoundation.org/#/cla/project/2e8710cb-e379-4116-a9ba-964f83618cc5/user/564e571e-12d7-4857-abd4-898939accdd7">Contributor License Agreement</a></p></li> <li><p>Submit a Pull Request: <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/pulls">https://github.com/AcademySoftwareFoundation/openexr/pulls</a></p></li> </ul> </li> </ul> </section> <section id="resources"> <h2>Resources<a class="headerlink" href="#resources" title="Permalink to this heading">ΒΆ</a></h2> <ul class="simple"> <li><p>Reference images: <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr-images">https://github.com/AcademySoftwareFoundation/openexr-images</a></p></li> <li><p>Security policy: <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/blob/main/SECURITY.md">SECURITY.md</a></p></li> <li><p>Release notes: <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/blob/main/CHANGES.md">CHANGES.md</a></p></li> <li><p>Contributors: <a class="reference external" href="https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTORS.md">CONTRIBUTORS.md</a></p></li> <li><p>Porting Guide: <a class="reference internal" href="PortingGuide.html"><span class="doc">OpenEXR/Imath 2.x to 3.x Porting Guide</span></a></p></li> </ul> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> <div class="toctree-wrapper compound"> </div> </section> </section> </div> <div class="page-nav"> <div class="inner"> <p><center><img height="30" width="160" src="https://artwork.aswf.io/other/aswf/logo/black/aswf-logo-black.svg" /></center></p> <p><small><center>Copyright Β© OpenEXR a Series of LF Projects, LLC. </center></small></p> <p><small><center>For web site terms of use, trademark policy and other project policies please see <a href="https://lfprojects.org">https://lfprojects.org</a>.</center></small></p> </div> </div> </page> </div></div> </body> </html>