The NetBSD Project

CVS log for pkgsrc/graphics/openexr/patches/patch-src_bin_exrmetrics_exrmetrics.cpp

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / graphics / openexr / patches

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.2: download - view: text, markup, annotated - select for diffs
Sat Oct 19 11:55:44 2024 UTC (3 months, 2 weeks ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2024Q4-base, pkgsrc-2024Q4, HEAD
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -1 lines
openexr: add upstream bug report URL

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sat Oct 19 11:53:58 2024 UTC (3 months, 2 weeks ago) by wiz
Branches: MAIN
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.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>