./graphics/openexr, High dynamic-range (HDR) image file format library and tools

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.3.2, Package name: openexr-3.3.2, Maintainer: adam

OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.

OpenEXR is used by ILM on all motion pictures currently in production.
The first movies to employ OpenEXR were Harry Potter and the Sorcerers Stone,
Men in Black II, Gangs of New York, and Signs. Since then, OpenEXR has become
ILM's main image file format.

OpenEXR's features include:
* Higher dynamic range and color precision than existing 8- and 10-bit image
file formats.
* Support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer
pixels. The 16-bit floating-point format, called "half", is compatible with
the half data type in NVIDIA's Cg graphics language and is supported
natively on their new GeForce FX and Quadro FX 3D graphics solutions.
* Multiple lossless image compression algorithms. Some of the included codecs
can achieve 2:1 lossless compression ratios on images with film grain.
* 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.


Required to run:
[graphics/ilmbase]

Required to build:
[pkgtools/cwrappers] [lang/gcc6]

Master sites:

Filesize: 20824.966 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-17 10:20:49 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
openexr: update to 3.3.2.

## Version 3.3.2 (November 11, 2024)

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](https://issues.oss-fuzz.com/issues/372524117)
Null-dereference WRITE in Imf_3_4::ScanLineProcess::run_fill
   2024-10-23 17:18:13 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
openexr: update compiler requirements
   2024-10-22 09:49:21 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
openexr: update to 3.3.1.

## Version 3.3.1 (October 8, 2024)

Patch release that addresses several build and performance issues:

* Fix a performance regression 3.3.0 in huf/piz compression
* Replace ``FetchContent_Populate`` with ``FetchContent_MakeAvailable``
* Build wheels for python 3.12
* Fix a problem with python wheel sdist that caused local build to fail
* Compile source files in parallel under MSVC
   2024-10-19 13:55:44 by Thomas Klausner | Files touched by this commit (2)
Log message:
openexr: add upstream bug report URL
   2024-10-19 13:55:11 by Thomas Klausner | Files touched by this commit (67)
Log message:
*: recursive bump for openexr shlib major bump
   2024-10-19 13:53:58 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
openexr: update to 3.3.0.

## Version 3.3.0 (September 30, 2024)

Minor release two significant changes:

- The C++ API now uses the OpenEXRCore library underneath.

  - This is a transparent change to the existing API, although the ABI
    (i.e. structure / class layout) has changed

  - Existing reading of pixel data should be more efficient due to
    fewer memory allocations / frees during the process of
    reading. Additionally, some more specialisation of unpacking
    routines may result in faster unpack times

  - All compression routines are implemented by the C Core layer
    underneath and no longer duplicated

  - Initial support for "stateless" reading of scanlines has been
    proposed, allowing multiple threads to read scanlines into
    different frame buffer objects at the same time. While well tested
    at the Core level, the C++ api should be considered experimental
    for this release

  - Thread dispatch for reading different file types has been made
    more homogeneous, so is simpler and more consistent

- New API for accessing compression types

  In anticipation of future support for new compression types, there
  is now a convenience API for mapping between compression type names
  and the associated enum:

  - ``getCompressionDescriptionFromId(Compression, std::string&)``
  - ``getCompressionIdFromName(const std::string&, Compression&)``
  - ``getCompressionNameFromId(Compression, std::string&)``
  - ``getCompressionNamesString(const std::string&, std::string&)``
  - ``getCompressionNumScanlines(Compression)``
  - ``isValidCompression(int)``

- New bin tools:

  - ``exrmetrics`` - Read an OpenEXR image from infile, write an
    identical copy to outfile reporting time taken to read/write and
    file sizes. Useful for benchmarking performance in space and time.

  - ``exrmanifest`` - Read exr files and print the contents of the
    embedded manifest. The manifest provides a mapping between integer
    object identifiers and human-readible strings. See [OpenEXR Deep
    IDs
    Specification](https://openexr.com/en/latest/DeepIDsSpecification.html)
    for more details.

- New python bindings.

  This version introduces a new python API, the ``File`` object, which
  provides full support for reading and writing all types of ``.exr``
  image files, including scanline, tiled, deep, mult-part, multi-view,
  and multi-resolution images with pixel types of unsigned 32-bit
  integers and 16- and 32-bit floats. It provides access to pixel data
  through ``numpy`` arrays, as either one array per channel or with R, G,
  B, and A interleaved into a single array RGBA array.

  Previous releases of the openexr python module supported only
  scanline files. The previous API remains in place for now for
  backwards compatibility.

  See [src/wrappers/python/README.md](src/wrappers/python/README.md)
  for a synopsis.
   2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575)
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
   2024-04-05 12:45:56 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
openexr: update to 3.2.4.

## Version 3.2.4 (March 26, 2024)

Patch release that fixes handling of dwa compression in OpenEXRCore library.

Other miscellaneous changes:

- Add CMake `find_dependency` for `libdeflate`, to fix a vcpkg build error
- Remove the unused CMake option ``OPENEXR_INSTALL_EXAMPLES``
- Fix some other compiler warnings.

### Merged Pull Requests

* Fix typo causing prefix len to be wrong
* CMake packaging fix.
* Improve workflow filters
* 🐛 Remove the OPENEXR_INSTALL_EXAMPLES CMake option
* Initialize _ySampling to 0
* Use size_t as iterator instead of int