Understood, thanks for the response. On Fri, Oct 10, 2025 at 9:05 PM Phil Race <[email protected]> wrote:
> 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”. > >
