feat(exr): Write OpenEXR colorInteropID metadata based on oiio:ColorSpace
Description
If the colorspace exists and has an interop ID in an OCIO 2.5 config, use that. Otherwise check if the colorspace is equivalent to a known color interop ID.
Tests
Tests were added.
Checklist:
- [x] I have read the contribution guidelines.
- [x] I have updated the documentation, if applicable. (Check if there is no need to update the documentation, for example if this is a bug fix that doesn't change the API.)
- [x] I have ensured that the change is tested somewhere in the testsuite (adding new test cases if necessary).
- [x] If I added or modified a C++ API call, I have also amended the corresponding Python bindings (and if altering ImageBufAlgo functions, also exposed the new functionality as oiiotool options).
- [x] My code follows the prevailing code style of this project. If I haven't already run clang-format before submitting, I definitely will look at the CI test that runs clang-format and fix anything that it highlights as being nonconforming.
~~Draft because this depends on and includes the changes from #4964.~~
It's suspicous that an EXR related test is failing on Windows-2022, but not sure how it could be caused by the changes in this PR.
The bleeding edge test is unrelated and I'm fixing it separately.
Not sure about the windows one. I'm rerunning the failed tests now. A lot of glitchy stuff sometimes happens on the GHA runners, it's always worth trying again when something that has consistently passed for a long time spuriously fails.
Is this one ready to merge?
Yes, all my PRs that are not marked as draft are ready.