-
-
Notifications
You must be signed in to change notification settings - Fork 700
possible regression in JXL save from ICC profile? #2872
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
Comments
Here is an example with the original jpeg, and then the 😄 JXL from 8.12 and the 😢 JXL from the SHA above: jxl_icc_regression_example.zip |
Sounds like uses_original_profile = true causes this. This setting forces libjxl to not use XYB colourspace, which is necessary for lossless encoding, but is less effective. IMHO this should be set conditionally, out->uses_original_profile = in->lossless. |
BTW uses_original_profile does not seem to have anything to do with ICC profiles, just a confusing name for lossy XYB colourspace toggle. |
now seems to handle scrgb and srgb, lossless and lossy, with and without an ICC profile see #2872
and revise colour encoding set see #2872
.... I added some tests too. It checks lossy and lossless mode, with and without an ICC profile, plus 8 bit, 16 bit, and float. It also checks lossy is much smaller than lossless. Any more testing very welcome! |
@richardmonette I tried your test image after these changes:
Thanks for taking the time to try this and make the report. |
... this fix is in 8.13-rc1, please open a new issue if it's still broken. |
@jcupitt @f1ac is it possible #2815 caused a regression in terms of the compressed filesize?
when I run against 8.12.2 it appears saving a JXL is about 338kb whereas when I build and run against 6260a37 (from https://github.com/libvips/libvips/archive/6260a37136973f3d231d0e2c28af6190126c664e.tar.gz) the filesize jumps to about 931kb.
The text was updated successfully, but these errors were encountered: