-
-
Notifications
You must be signed in to change notification settings - Fork 13k
openexr 3.4.0 #236328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
BrewTestBot
wants to merge
13
commits into
main
Choose a base branch
from
bump-openexr-3.4.0
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
openexr 3.4.0 #236328
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
openexr: depends_on `openjph` Signed-off-by: Rui Chen <[email protected]>
0a8ffe9
to
8a83750
Compare
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
Signed-off-by: Rui Chen <[email protected]>
This comment was marked as resolved.
This comment was marked as resolved.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bump-formula-pr
PR was created using `brew bump-formula-pr`
CI-no-fail-fast
Continue CI tests despite failing GitHub Actions matrix builds.
CI-no-fail-fast-deps
Continue dependent tests despite failing GitHub Actions matrix tests.
CI-skip-recursive-dependents
Pass --skip-recursive-dependents to brew test-bot.
long build
Set a long timeout for formula testing
long dependent tests
Set a long timeout for dependent testing
no long build conflict
Do not allow merging other pull requests when files conflict with this one
ready to merge
PR can be merged once CI is green
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
A new HTJ2K compressor uses the High-Throughput (HT) block coder. It supports the full range of OpenEXR features, including 16-bit and 32-bit floating-point image channels, both scanline and tiled.
The HT block coder is standardized in Rec. ITU-T T.814 and ISO/IEC 15444-15. It is royalty-free, widely used in cinema and distribution servicing, and implemented in both commercial and open-source toolkits.
In experiments, we've found that HTJ2K produces smaller files, and depending on the nature of the image data, is one of the fastest compression types available in OpenEXR.
Integration with OpenEXR uses the OpenJPH open-source library. For ease in managing the dependency, the OpenEXR CMake configuration supports automatically fetching and building
OpenJPH
internally, or linking against an external installation.OpenEXR supports two new compression types with distinct space/time trade-offs:
htj2k256
-- encodes/decodes chunks of 256 scanlines, producing slightly smaller file size thanhtj2k32
.htj2k32
-- encodes/decodes chunks of 32 scanlines, better suited to multi-threading, so it offers significantly faster encoding and decoding (4-6x in some cases) thanhtj2k256
, with a slight increase in file size.All existing OpenEXR compression options remain unchanged. This new feature simply extends the range of compression types available.
Software compiled with OpenEXR v3.4 will be able to read HTJ2K compressed OpenEXRs without any code changes. Software that writes files may automatically support the new type, but may need a small update to make the new type available as a user option.
:warning: This is a backwards-compatible extension to the OpenEXR file format. Files written with OpenEXR v3.4 will be readable by applications built against previous releases, unless they use the new
htj2k32
orhtj2k256
compression options.:warning: This feature was first introduced for evaluation in February, 2025 via the
htj2k-beta
branch with a single 256 scanlines/chunk compression option, with the 32-scanline option added more recently. Application software written during this evaluation period will need to changeIMF_HTJ2K_COMPRESSION
toIMF_HTJ2K256_COMPRESSION
, although files written with the earlier evaluation version should still read properly.Other New Features:
:sparkles: New
colorInteropID
standard attributeThe ID string endorsed by the Color Interop Forum to communicate the color space of RGB images in an interoperable manner.
The contents of the string is described in the specification An ID for Color Interop.
Guidance to application developers is provided in Identifying the Color Space of OpenEXR Files
:sparkles: New
bytes
attribute typeDesigned to hold an arbitrary binary blob of metadata.
The OpenEXR library forces no interpretations of the attribute contents; it is strictly application-dependent.
The attribute also holds a
typeHint
string which applications can use to suggest the intended interpretation of the contents,but it is strictly informational.
:wrench: TBB as a global thread provider
-DOPENEXR_USE_TBB=ON
switches the internals of the thread pool to use TBB by default.OneAPI TBB
distribution.:wrench: Vendored
libdeflate
libdeflate
library, replacing the previous "auto-fetch" mechanism.libdeflate
as before, but if none is found, the build will use the internal copy oflibdeflate
.-DOPENEXR_USE_INTERNAL_DEFLATE=ON
to force the use of the internal vendored version.Bug fixes:
add_subdirectory
now works properly.Changes to the OpenEXR Python module:
header_only
option for Python module'sOpenEXR.File
now works properly.pypi
distributions now add support for Python 3.13 and drop support for Python 3.7.View the full release notes at https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.4.0.