[Webkit-unassigned] [Bug 270981] JPEG with HDR renders incorrectly
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Mar 22 15:19:27 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=270981
--- Comment #10 from Alex Gunnarson <alexandergunnarson at gmail.com> ---
And Greg — thanks so much for your additional insight! Always extremely helpful. After some testing, my current understanding is that the most reliable HDR support in browsers is to be found in single-frame VP9s at this time. HDR image support is nonexistent in Safari (Firefox fares worse):
- HDR AVIF is tone-mapped to SDR in Safari
- HDR JPEG-XL is also tone-mapped to SDR in Safari (I just realized this the other day)
- HDR-gain-mapped JPEGs (Ultra HDR) are tone-mapped in Safari
- HDR-via-PQ-ICC-profile JPEGs are tone-mapped in Safari <= 16, but black in Safari 17 (thus this bug report)
- HDR-via-PQ-ICC-profile WebPs are black in Safari 17 (possibly same bug as the JPEG?)
- HDR-via-PQ-ICC-profile PNGs are tone-mapped in Safari
- Surprisingly, even HDR HEICs display unexpectedly in Safari per my tests (very dark, though not black), but that could be an encoding issue on my end
HDR-capable video formats fare better:
- AV1 isn't supported on Apple devices without hardware decoders, but HDR AV1 renders correctly in Chrome
- HDR H.265/HEVC renders great in Safari, but not Chrome or Firefox
- HDR VP9 renders great in Safari, Chrome, and Firefox — the only consistent one so far!
- HDR-via-PQ-ICC-profile VP8 renders pretty close to VP9, but has banding due to its 8-bitness
Also, while single-frame VP9 appears to be the most reliable option, rendering more than 16 single-frame HDR `video` elements at a time (of whatever format and size) in Safari is unreliable. Sometimes I can get ~54 to display, but this can cause the browser to get into a strange state, and sometimes crash. Usually >16 will sporadically fail to render at all. In Firefox I at least get a warning about some sort of initialization error, presumably due to some resource limits.
And HDR gets clipped to SDR in WebGL 2 — I made the mistake of trying :)
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240322/688fc704/attachment-0001.htm>
More information about the webkit-unassigned
mailing list