julianv Posted November 10, 2022 Posted November 10, 2022 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 Eagleshadow 1
Staff Tim France Posted November 14, 2022 Staff Posted November 14, 2022 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. julianv and Chris B 2
Recommended Posts