Jump to content
THESE FORUMS ARE READ-ONLY: Please Read Me ×

Recommended Posts

Posted

I am glad to see that Affinity Photo 2 is now exporting HDR files in JPEG XL format. I used the workflow described in James Ritson's video to develop some raw files from a Nikon D850 and iPhone 14 Pro Max. The files look terrific when reopened in Affinity Photo. But when viewed in Google Chrome, they appear washed out, with clipped highlights.

You probably know that Google announced plans to remove JPEG XL support from Chrome (although they have been inundated with protests from users and developers). I have Mac version 107.0.5304.110, and the HDR JPEG XL files on Eric Chan's web page still look great. If I download one of Eric's files and open it in Affinity Photo 2, it appears wrong, washed out with clipped highlights. If I drag the same file into a blank Chrome window, Eric's file displays correctly, just as it does on his web page.

Eric edited his files in Photoshop and ACR, which now support HDR JPEG XL. So it appears that the JPEG XL files produced by Adobe and Affinity are different. I don't have the tools, or expertise, to analyze the internal structure of the files. But from looking at metadata, I can see that the Affinity files contain a 16 bit alpha channel, and the Adobe files have a 16 bit padding. I don't have any other app which can display HDR JPEG XL files. So I am concerned that the files created by Affinity might not be compatible with other HDR-capable apps. Is this a bug?

Environment:

M1 MacBook Pro 16" 2021, 32GB RAM, running Ventura 13.0.

Affinity Photo 2.0.0.

Preferences > Color > 32 bit RGB Color Profile: Display P3 (Linear)

Preferences > Assistant > Develop Assistant > RAW Engine: Serif Labs

Export > JPEG XL > Pixel Format: Use document format

All other settings per Ritson's video.

Here's one of my HDR JPEG XL file from Affinity Photo 2.

20171216_1996.jxl

  • Staff
Posted

Hi @julianv,

I've taken a quick look at this and there are a few things going on here.  The samples on Eric Chan's site are encoded in 16-bit PQ, which is valid but not what Photo expects.  When Photo sees the file is 16-bit integer, it opens it as RGBA/16, which isn't Photo's HDR format.  I've been testing a change for this so that Photo detects PQ on import and converts the pixels to RGBA/32 and everything looks as expected so we'll look to shipping that once it's ready.

Photo exports HDR JXLs using 32-bit float pixel data and it would seem that Chrome doesn't support that.  This is slightly surprising - if you take a look at the libjxl overview here, you can see in the first paragraph "...including HDR content, whose support is made possible by full-precision (float32) computations...", so I'm surprised that Chrome hasn't embraced it.  It's possibly that because PQ has fewer bits to compress, Chrome focussed on that instead.  We'll consider adding PQ export at a later date.

 

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.