OpenImageIO
OpenImageIO copied to clipboard
feat(JXL): CICP read and write support for JPEG XL
Description
The JPEG XL color encoding metadata only supports a subset of CICP. So for
example srgb_p3d65_display and pq_rec2020_display are supported, but
g26_xyzd65_display is not.
Custom primaries, custom white point and arbitrary gamma could be used to support more, but I didn't implement that.
Tests
Tests for read and write 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.~~