Skip to content

JPEG-XL: bump version to 0.8.1 and other improvements

Been testing another round for JXL, so this MR have a few proposes:

Add option to store author profile data on export

Eg. just like when exporting to JPEG or PNG, I snip some code from JPEG export

jxl-sign-author-data

Move inverting filter only when doing CMYK export

Missed by me last time, now the inverting filter only called at CMYK images.

Workaround for 32-bit float modular lossy bug

Found some color artifact bug when exporting a lossy 32-bit float image with modular mode, already reported upstream. See: https://github.com/libjxl/libjxl/issues/2064

Bump libjxl version to 0.8.1 and highway to 1.0.2

libjxl 0.8.0 is out and it have some quality and speed improvement over 0.7.0, most notably the fast_lossless that finally implemented in effort 1 encoding, thus giving a massive speed boost:

Before After
070-e1-krita 080-e1-krita

Hopefully it'll be a painless update to 3rd party dependencies.
Edit: up to 0.8.1 for recent patch: https://github.com/libjxl/libjxl/releases/tag/v0.8.1

[Optional] Add preliminary ability to read/write special channel data

Moving this functionality for future branch / MR draft.

Test Plan

Build Krita, test JXL export/imports

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by Rasyuqa A H (Kampidh)

Merge request reports