Closed Bug 2020626 Opened 2 months ago Closed 2 months ago

jpeg xl decoder should target the system cms profile

Categories

(Core :: Graphics: ImageLib, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
150 Branch
Tracking Status
firefox150 --- fixed

People

(Reporter: tnikkel, Assigned: tnikkel)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

No description provided.

The bytes get set in content processes because that is how we send the profile to them, but the parent process wasn't saving the bytes. We want access to the bytes for the jpeg xl decoder (jxl-rs tracks color space with a rust enum that's either simple common color spaces or a vec of icc bytes) so we can get jxl-rs to target our system output profile in the case it's not sRGB.

This tries not to create extra profiles or copies of icc bytes unless necessary. Having to pass stuff between C++ and rust makes this more annoying. This also handles the CMSMode::Off case. This turned out more finicky then I would have liked.

Blocks: 2024556
Pushed by tnikkel@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/36171157fad7 https://hg.mozilla.org/integration/autoland/rev/3cdba2636211 Save the CMS output profile ICC bytes in the parent process and make it available for callers. r=gfx-reviewers,lsalzman https://github.com/mozilla-firefox/firefox/commit/64218171a702 https://hg.mozilla.org/integration/autoland/rev/d9a10538fdcc The jpeg xl decoder should target the system CMS profile. r=saschanaz
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 150 Branch
QA Whiteboard: [qa-triage-done-c151/b150]
Blocks: JPEG-XL
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: