Skip to content

v3.2.0

Compare
Choose a tag to compare
@cary-ilm cary-ilm released this 30 Aug 18:13
· 69 commits to RB-3.2 since this release

Minor release with several additions, changes and improvements:

  • Zip compression via libdeflate

    As of OpenEXR release v3.2, OpenEXR depends on libdeflate for DEFLATE-based compression. Previous OpenEXR releases relied on zlib. Builds of OpenEXR can choose either an libdeflate installation, or CMake can auto-fetch the source and build it internally. The internal build is linked statically, so no extra shared object is produced.

    See website/install.rst for more details.

  • New camdkit/camdkit-enabled standard attributes

    These changes bring to OpenEXR new standard optional attributes that were discussed in the SMPTE Rapid Industry Solutions On-Set Virtual Production Initiative). Additionally, some useful attributes from the SMPTE ACES Container File Layout standard, SMPTE ST 2065-4:2023, have been included as well. The new attributes are:

    Support automated editorial workflow:

    • reelName
    • imageCounter
    • ascFramingDecisionList

    Support forensics:

    • cameraMake
    • cameraModel
    • cameraSerialNumber
    • cameraFirmware
    • cameraUuid
    • cameraLabel
    • lensMake
    • lensModel
    • lensSerialNumber
    • lensFirmware
    • cameraColorBalance

    Support pickup shots:

    • shutterAngle
    • cameraCCTSetting
    • cameraTintSetting

    Support metadata-driven match move:

    • sensorCenterOffset
    • sensorOverallDimensions
    • sensorPhotositePitch
    • sensorAcquisitionRectangle
    • nominalFocalLength
    • effectiveFocalLength
    • pinholeFocalLength
    • entrancePupilOffset
    • tStop (complementing existing aperture)

    Also, renderingTransform and lookTransform have been deprecated.

    See website/StandardAttributes.rst and PR #1383 for more details.

  • Updated SO versioning policy

    This change adopts a policy of appending the MAJOR.MINOR.PATCH software release name to the SONAME to form the real name of the shared library.

    See website/install.rst and PR #1498 for more details.

  • Python bindings & PyPI wheel

    Support for the OpenEXR python bindings have been formally adopted by the OpenEXR project.

  • Miscellaneous improvements:

    • "docs" renamed to "website" (PR #1504)

    • Additional deep & multipart code examples (PR #1493
      and PR #1502)

    • Many small build/test fixes

    • bin tools man pages

    • Expanded test coverage

Specific OSS-fuzz issues addressed:

  • OSS-fuzz 46459 Out-of-memory in openexr_exrcheck_fuzzer
  • OSS-fuzz 46432 Heap-buffer-overflow in generic_unpack
  • OSS-fuzz 46413 Integer-overflow in reconstruct_chunk_table
  • OSS-fuzz 45718 Heap-double-free in Imf_3_1::RgbaInputFile::~RgbaInputFile
  • OSS-fuzz 45716 Abrt in Imf_3_1::RgbaInputFile::~RgbaInputFile
  • OSS-fuzz 43771 Direct-leak in Imf_3_1::RgbaInputFile::RgbaInputFile