TrueHDR#
TrueHDR is an AI-powered SDR-to-HDR conversion filter. It accepts an 8-bit-per-channel SDR RGB frame and produces a 10-bit-per-channel HDR frame with expanded dynamic range, wider color gamut, and a deep-learning debanding pass that removes the contouring artifacts inherent to converting 8-bit sources to a higher bit depth. The output frame is packed HDR10—R10G10B10A2 in the BT.2020 color primaries with the SMPTE ST 2084 (PQ) transfer function—which is the same on-the-wire format used by HDR10-capable displays.
TrueHDR provides the following tunables:
Parameter |
Min |
Max |
Default |
Description |
|---|---|---|---|---|
Contrast |
0 |
200 |
100 |
Adjusts the difference between highlights and shadows. |
Saturation |
0 |
200 |
100 |
Adjusts color intensity. |
MiddleGray |
10 |
100 |
50 |
Adjusts the average brightness (middle-gray reference). |
Luminance |
400 |
2000 |
650 |
Sets the target HDR display peak luminance, in nits. |
DebandingOff |
0 |
1 |
0 |
Set to 1 to skip the deep-learning debanding pass for higher throughput on already clean sources. |
The input of the TrueHDR filter is a GPU buffer in RGBA interleaved format, in which each pixel component is an 8-bit unsigned integer value.
The output is a GPU buffer in RGB10A2 interleaved format, in which each of the R, G, and B components is a 10-bit unsigned integer packed together with a 2-bit alpha in a 32-bit word.
For details about allocating and converting NVCV_RGB10A2 buffers, refer to Working with 10-Bit RGBA (R10G10B10A2) Buffers in the NvCVImage API Guide.
The output frame dimensions match the input; TrueHDR does not perform spatial scaling.
For Linux, NVIDIA driver 570 or later is required.
Recommended Use Cases#
The following are typical use cases for TrueHDR:
Real-time up-conversion of SDR video for playback on HDR10-capable displays.
Cloud transcoding pipelines that produce HDR10 outputs from SDR sources.
Streaming services that upgrade legacy SDR content for HDR-capable clients.