pyocioamf: Add AMF v2.0 and OCIO 2.5+ support#2232
Closed
giardiello wants to merge 2 commits into
Closed
Conversation
This commit enhances pyocioamf with several new features:
- AMF v2.0 support with automatic version detection from namespace URI
or version attribute. Handles both v1.0 element names (SOPNode/SatNode)
and v2.0 names (ASC_SOP/ASC_SAT).
- OCIO 2.5+ config support using the amf_transform_ids interchange
attribute for transform lookup. Falls back to description-based
search for OCIO 2.1-2.4 configs.
- New CLI options:
- --config: Specify a custom OCIO config file
- --no-idt: Exclude input transform from conversion
- --no-lmt: Exclude look transforms from conversion
- --no-odt: Exclude output transform from conversion
- --split-by-working-location: Generate split CTFs based on
workingLocation marker (AMF v2.0 feature)
- Dynamic ACES2065-1 colorspace detection using role lookup,
common name search, and alias matching.
- New example_v2.amf demonstrating AMF v2.0 format.
Signed-off-by: giardiello <giardiello@me.com>
- Remove incorrect AMF version association with CDL element names. SOPNode/SatNode and ASC_SOP/ASC_SAT are both valid ASC CDL naming conventions, not version-specific. - Simplify ACES2065-1 colorspace detection to use the aces_interchange role, which is defined in all standard ACES configs. - Update README to clarify CDL element naming conventions. Signed-off-by: giardiello <giardiello@me.com>
Collaborator
|
@giardiello , I noticed you closed this and wanted to get more detail from you. Apologies for the long delay in getting this reviewed, but I had still planned on including it in the 2.6 release. Just wanted to understand if you no longer want this merged because you feel there are issues with the code, or are planning on making an alternate/improved PR, or don't find this relevant for your work anymore, or are just giving up due to the long delay. |
Author
|
Hi Doug, I'm in the process of updating this and proposing a C++ module made on top of what the guys at AJA started some time ago. Based on that work, the python script needed a tweak too. So I've closed it while I was doing the cleanup. Opening this again soon. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This PR enhances pyocioamf with support for AMF v2.0 and OCIO 2.5+ configurations:
amf_transform_idsinterchange attribute for transform lookupworkingLocationmarkerChanges
AMF Version Support
urn:ampas:aces:amf:v1.0/v2.0) or version attributeSOPNode/SatNode) and v2.0 names (ASC_SOP/ASC_SAT)OCIO Config Compatibility
amf_transform_idsinterchange attributeCLI Enhancements
--config: Specify a custom OCIO config file (supports OCIO 2.1+)--no-idt: Exclude input transform from conversion--no-lmt: Exclude look transforms from conversion--no-odt: Exclude output transform from conversion--split-by-working-location: Generate split CTFs at workingLocation markerNew Files
example_v2.amf: AMF v2.0 example withASC_SOP/ASC_SATelementsTest Plan
example.amf(v1.0) - backwards compatibleexample_v2.amf(v2.0) - new format support--no-idt,--no-lmt,--no-odtexclusion options--split-by-working-locationwith workingLocation markerBackwards Compatibility
All existing functionality is preserved. The script will: