OpenEXR v2.3.0 has been released and is available for download.
Features/Improvements:
ThreadPool overhead improvements, enable custom thread pool to be registered via ThreadPoolProvider class
Fixes to enable custom namespaces for Iex, Imf
Improve read performance for deep/zipped data, and SIMD-accelerated uncompress support
Added rawPixelDataToBuffer() function for access to compressed scanlines
Iex::BaseExc no longer derived from std::string.
Imath throw() specifiers removed
Initial Support for Python 3
Bugs:
25+ various bug fixes (see detailed Release Notes for the full list)
Build Fixes:
Various fixes to the cmake and autoconf build infrastructures
Various changes to support compiling for C++11 / C++14 / C++17 and GCC 6.3.1
Various fixes to address Windows build issues
60+ total build-related fixes (see detailed Release Notes for the full list)
November 30, 2017 - OpenEXR v2.2.1 has been released and is available
for download.
This maintenance release addresses the reported OpenEXR security
vulnerabilities, specifically CVE-2017-9110, CVE-2017-9111,
CVE-2017-9112, CVE-2017-9113, CVE-2017-9114, CVE-2017-9115,
CVE-2017-9116.
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
This get's over issues such as encountered with PIC builds.
Upstream issue : https://github.com/openexr/openexr/issues/128
Revbump due to new dependency on GCC_REQD+= 4.3
(additional patches available upon request for bmake test target)
* DreamWorks Lossy Compression A new high quality, high performance lossy compression codec contributed by DreamWorks Animation. This codec allows control over variable lossiness to balance visual quality and file size. This contribution also includes performance improvements that speed up the PIZ codec.
* IlmImfUtil A new library intended to aid in development of image file manipulation utilities that support the many types of OpenEXR images.
This release includes a refactoring of the optimised read paths for RGBA data, optimisations for some of the python bindings to Imath, improvements to the cmake build environment as well as additional documentation describing deep data in more detail.
* Temporarily turning off optimisation code path
* Added additional tests for future optimisation refactoring
* Fixes for StringVectors
* Additional checks for type mismatches
* Fix for Composite Deep Scanline
* Updated Documentation
* Updated Namespacing mechanism
* Fixes for succd & predd
* Fixes for FPE control registers
* Additional checks and tests on DeepImages, scanlines and tiles
* Folded in Autodesk read optimisations for RGB(A) files
* Updated the bootstrap scripts to use libtoolize if glibtoolize isn't available on darwin.
* Numerous minor fixes, missing includes etc
* Added new atttribute types:
M33dAttribute 3x3 double-precision matrix
M44dAttribute 4x4 double-precision matrix
V2d 2D double-precision vector
V3d 3D double-precision vector
* Bug fix: crash when reading a damaged image file (found
by Apple). An exception thrown inside the PIZ Huffman
decoder bypasses initialization of an array of pointers.
The uninitialized pointers are later passed to operator
delete.
* Bug fix: crash when reading a damaged image file (found by
Apple). Computing the size of input certain buffers may
overflow and wrap around to a small number, later causing
writes beyond the end of the buffer.
* In the "Technical Introduction" document, added
Premultiplied vs. Un-Premulitiplied Color section:
states explicitly that pixels with zero alpha and non-zero
RGB are allowed, points out that preserving such a pixel can
be a problem in application programs with un-premultiplied
internal image representations.
* exrenvmap improvements:
- New command line flags set the type of the input image to
latitude-longitude map or cube-face map, overriding the
envmap attribute in the input file header.
- Cube-face maps can now be assembled from or split into six
square sub-images.
- Converting a cube-face map into a new cube-face map with
the same face size copies the image instead of resampling
it. This avoids blurring when a cube-face map is assembled
from or split into sub-images.
* Updated standard chromaticities in ImfAcesFile.cpp to match
final ACES (Academy Color Encoding Specification) document.
* Added worldToCamera and worldToNDC matrices to ImfStandardAttributes.h
* Increased the maximum length of attribute and channel names
from 31 to 255 characters. For files that do contain names
longer than 31 characters, a new LONG_NAMES_FLAG in the fil
version number is set. This flag causes older versions of
the IlmImf library (1.6.1 and earlier) to reject files with
long names. Without the flag, older library versions would
mis-interpret files with long names as broken.
* Reading luminance/chroma-encoded files via the RGBA
interface is faster: buffer padding avoids cache thrashing
for certain image sizes, redundant calls to saturation()
have been eliminated.
* Added "hemispherical blur" option to exrenvmap.
* Added experimental version of I/O classes for ACES file
format (restricted OpenEXR format with special primaries
and white point); added exr2aces file converter.
* Added new constructors to classes Imf::RgbaInputFile and
Imf::TiledRgbaInputFile. The new constructors have a
layerName parameter, which allows the caller to specify
which layer of a multi-layer or multi-view image will
be read.
* A number of member functions in classes Imf::Header,
Imf::ChannelList and Imf::FrameBuffer have parameters
of type "const char *". Added equivalent functions that
take "const std::string &" parameters.
* Added library support for Weta Digital multi-view images:
StringVector attribute type, multiView standard attribute
of type StringVector, utility functions related to grouping
channels into separate views.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
1.6.1
New versions of OpenEXR and CTL are now available. This release
fixes a buffer overrun in OpenEXR and a Windows build problem in
CTL, and it removes a few unnecessary files from the .tar.gz
packages.
1.6.0
* Reduced generational loss in B44- and B44A-compressed images.
* Added B44A compression. This is a variation of B44, but with
a better compression ratio for images with large uniform areas,
such as in an alpha channel.
* Bug fixes.
1.5.0
* OpenEXR supports a new image compression method, called B44.
It has a fixed compression rate of 2.28:1, or 4.57:1 if used
in combination with luminance/chroma encoding. B44-compressed
images can be uncompressed fast enough to support real-time
playback of image sequences.
* The new playexr program plays back moving image sequences.
Playexr is multi-threaded and utilizes the threading capabilities
of the IlmImf library that were introduced in OpenEXR 1.3.0.
The program plays back B44-compressed images with fairly
high-resolution in real time on commodity hardware.
* The playexr program and a new version of the existing exrdisplay
image viewer both support color rendering via color transforms
written in the new Color Transformation Language or CTL. CTL
is not part of OpenEXR; it will be released separately. CTL
support in playexr and exrdisplay is optional; the programs
can be built and will run without CTL.
* In preparation for the release of CTL, OpenEXR has been split
into three separate packages:
o IlmBase 0.9.0 includes the Half, Iex, Imath and IlmThread
libraries
o OpenEXR 1.5.0 includes the IlmImf library, programming
examples and utility programs such as exrheader or
exrenvmap
o OpenEXRViewers 0.9.0 includes the playexr and exrdisplay
programs
* The "Technical Introduction to OpenEXR" document now includes
a recommendation for storing CIE XYZ pixel data in OpenEXR
files.
* A new "OpenEXR Image Viewing Software" document describes
the playexr and exrdisplay programs. It briefly explains
real-time playback and color rendering, and includes recommendations
for testing if other image viewing software displays OpenEXR
images correctly.
* The OpenEXR sample image set now includes B44-compressed
files and files with CIE XYZ pixel data.
the newly introduced libIlmThread library. Bump PKGREVISION, since this
update is necessary to fix the build of some buildlink client applications
(E.g. koffice).
XXX Possibly BUILDLINK_API_DEPENDS should be bumped too...
* Fixed the ReleaseDLL targets for Visual Studio 2003.
Changes 1.4.0:
* Production release.
* Bug Fix: calling setFrameBuffer() for every scan line
while reading a tiled file through the scan line API
returns bad pixel data.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto