Skip to content

Conversation

@shanesmith-dwa
Copy link
Contributor

@shanesmith-dwa shanesmith-dwa commented Sep 26, 2025

Description

This PR addresses 4649 implementing ICC read and write support for JPEG-XL.

Fixes #4969

Tests

The oiiotool-attribs testsuite was updated and tested.

Copy link
Collaborator

@lgritz lgritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great! Let's see how it comes out in the CI, but if that all passes I think it's good to go.

@lgritz lgritz added file formats Image file formats, ImageInput, ImageOutput devdays25 DevDays 2025 project labels Sep 26, 2025
Comment on lines 553 to 554
length)) {}
errorfmt("JxlEncoderSetICCProfile failed\n");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this correct? Did you mean to have an else clause that contains the errorfmt? Or should it be JXL_ENC_SUCCESS != ... and remove the {}?

Signed-off-by: Shane Smith <[email protected]>
@lgritz
Copy link
Collaborator

lgritz commented Sep 27, 2025

Your code looks great (though you can see there is a very minor formatting change needed to pass the clang-format test).

I think the reason so many CI tests are failing is that libjxl is an optional dependency -- if it's found, jxl support will be enabled, but if the library is not found, its not a hard error, it just disables jxl support.

Some of the jobs in our test matrix have (or build) libjxl, but others do not. But the test cases you added are unconditional -- so of course they are not passing for the CI jobs where jxl is not supported by the build configuration.

I think the way to proceed is to make a NEW test, jxl, with just these commands pertaining to jxl. In testing.cmake, add that test but specify the FOUNDVAR JXL_FOUND (you can see how similar are done for the other format related tests). Does that make sense?

@shanesmith-dwa
Copy link
Contributor Author

Thanks @lgritz, that was helpful. I think I have made the necessary changes.

Signed-off-by: Shane Smith <[email protected]>
Copy link
Collaborator

@lgritz lgritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only have two extremely minor comments. If you agree with them, you should be able to apply my suggestions by clicking the buttons.

shanesmith-dwa and others added 2 commits September 30, 2025 09:12
Co-authored-by: Larry Gritz <[email protected]>
Signed-off-by: shanesmith-dwa <[email protected]>
Co-authored-by: Larry Gritz <[email protected]>
Signed-off-by: shanesmith-dwa <[email protected]>
Copy link
Collaborator

@lgritz lgritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@lgritz lgritz changed the title JPEG XL ICC read and write, github issue 4649 feat(jpeg-xl): ICC read and write for JPEG-XL files (issue 4649) Sep 30, 2025
@lgritz lgritz merged commit 0e5c5a5 into AcademySoftwareFoundation:main Sep 30, 2025
63 checks passed
lgritz pushed a commit that referenced this pull request Dec 23, 2025
This PR addresses
[4649](#4649)
implementing ICC read and write support for JPEG-XL.

Fixes #4969

The jxl testsuite directory was added with tests.

---------

Signed-off-by: Shane Smith <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devdays25 DevDays 2025 project file formats Image file formats, ImageInput, ImageOutput

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants