It is something we are aware of, but isn't something we are resourced to do, not even to look into it.

-phil.

On 10/6/2025 4:57, Liam Miller-Cushon wrote:

Hi,


Are there any plans around HDR image support in the JDK?


My colleague Alec Mouri provides the following background:


Advancements in display and imaging technology have enabled HDR (High Dynamic Range) content, which allows for displaying content at a greater luminance than SDR (Standard Dynamic Range) content. Google <https://android-developers.googleblog.com/2025/08/what-is-hdr.html>and Adobe <https://blog.adobe.com/en/publish/2023/10/10/hdr-explained>have informative blog posts explaining this new technology.


HDR images are part of intentional standards ISO 22028-5 <https://www.iso.org/standard/81863.html>and ISO 21496-1 <https://www.iso.org/standard/86775.html>. ISO 21496-1 in particular is heavily used by the mobile ecosystem to generate high-quality images. See the UltraHDR <https://developer.android.com/media/platform/hdr-image-format>image format as an example.


Every major operating system now has support for rendering HDR GUIs. See: Android’s ExtendedRangeBrightness <https://developer.android.com/reference/android/view/SurfaceControl.Transaction#setExtendedRangeBrightness(android.view.SurfaceControl,%20float,%20float)>and COLOR_MODE_HDR <https://developer.android.com/reference/android/content/pm/ActivityInfo#COLOR_MODE_HDR>, Apple’s EDR <https://developer.apple.com/documentation/metal/displaying-hdr-content-in-a-metal-layer>, and Wayland’s HDR Protocol <https://www.phoronix.com/news/Wayland-CM-HDR-Merged>, and Window’s Advanced Color <https://learn.microsoft.com/en-us/windows/win32/direct3darticles/high-dynamic-range>.


Platforms built on top of these OSs are accordingly adding support for HDR. See: QT <https://doc.qt.io/qt-6/qrhiswapchainhdrinfo.html>and CSS <https://www.w3.org/TR/css-color-hdr-1/>.


Support in the JDK would involve decoding and display support.


Decoding support could be added to Image I/O. For ISO 22028-5, this means that ICC_ColorSpace <https://docs.oracle.com/javase/8/docs/api/java/awt/color/ICC_ColorSpace.html>could support CICPs as described in ITU-T H.273 <https://www.itu.int/rec/T-REC-H.273>to represent HLG and PQ encodings. For ISO 21496-1, this means that BufferedImage <https://docs.oracle.com/javase/8/docs/api/java/awt/image/BufferedImage.html>could be decorated with a gainmap representation.


Display support could be added to Swing and JavaFX. This would involve interacting with each major OS’s capabilities to color manage and draw HDR images through ImageIcon or JComponent. Note that SDR content should not be colorimetrically affected when there is no HDR on screen. I.e., the rest of the UI should not “flicker”.

Reply via email to