HDR (High Dynamic Range) is probably the most visible video improvement of recent years, even more so than the move from Full HD to 4K. It can show very intense highlights and deep shadows in the same scene, with more saturated colours. At the same time it is one of the most misunderstood technologies: there are several formats, not all compatible with each other, and an HDR file played the wrong way can look worse than an ordinary video.
What changes compared with SDR
Traditional video, called SDR, was designed for cathode-ray tube screens, with a modest reference brightness and a colour range defined by the BT.709 standard. HDR works on three fronts at once:
- dynamic range: the distance between the darkest and the brightest point is much wider;
- transfer function: a new curve describes how numeric values translate into brightness;
- colour gamut: the BT.2020 space is used, much wider than BT.709, although in practice content rarely uses all of it.
On top of this, at least 10 bits per channel are needed: with only 8 bits, spreading such a wide range would produce obvious banding in gradients.
The two curves: PQ and HLG
PQ (Perceptual Quantizer)
The PQ curve, standardised as SMPTE ST 2084, is absolute: each numeric value corresponds to a precise brightness expressed in nits (candelas per square metre), up to a theoretical maximum of 10,000 nits. Content is mastered on a reference monitor, and the home display must adapt it to its own capabilities through a process called tone mapping.
HLG (Hybrid Log-Gamma)
HLG was developed by the BBC and NHK for television. It is a relative curve: the lower part behaves much like a traditional curve, the upper part is logarithmic. The advantage is that an HLG signal looks acceptable even on an SDR TV, with no metadata needed. It is designed for live broadcasting, where there is no time for dedicated mastering.
The main formats
| Format | Curve | Metadata | Notes |
|---|---|---|---|
| HDR10 | PQ | static | open standard, the most widespread, common baseline |
| HDR10+ | PQ | dynamic | extension of HDR10 with per-scene metadata |
| Dolby Vision | PQ (other variants too) | dynamic | licensed proprietary format, widely used in streaming |
| HLG | HLG | none | suited to live and broadcast |
Static and dynamic metadata
HDR10's static metadata describe the whole piece of content with a few values, such as the maximum brightness and the average brightness of the brightest frame. The TV applies the same tone mapping from start to finish. The dynamic metadata of HDR10+ and Dolby Vision change scene by scene, so a night sequence and one in full sunlight can be adapted differently. The difference shows mostly on displays with limited brightness.
Why an HDR video looks washed out
This is the most common problem. If an HDR10 video is played by a player or on a display that does not interpret the PQ curve correctly, the values are read as if they were SDR: the picture looks grey, low in contrast and with faded colours. It often happens when:
- you load an HDR video into a program that does not handle it;
- you grab a frame to make a thumbnail;
- you re-encode with FFmpeg without keeping the colour metadata.
The solution is explicit tone mapping to SDR, or making sure the whole chain, from file to player to display, is HDR.
Working with HDR files
A few practical rules:
- keep the colour metadata at every step: primaries, transfer curve and matrix must remain declared in the file;
- use codecs that support 10 bit, such as HEVC Main 10, VP9 Profile 2 or AV1;
- also prepare an SDR version if your audience will use all kinds of devices;
- do not judge HDR on just any monitor: a laptop with limited brightness does not show the real result.
With FFmpeg, to state the colour parameters explicitly in an HDR10 HEVC encode you use options such as -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc, together with the encoder-specific parameters for brightness metadata.
Smartphones and HDR
Many recent smartphones record HDR video by default, often in HLG or Dolby Vision. This is why phone footage sometimes looks dazzling on one device and dull on another, or loses its colours when sent through messaging apps that re-encode it. If the video is to be edited together with other SDR footage, it is best to turn off HDR when shooting or convert everything consistently.
In short
- HDR widens dynamic range and colour and requires at least 10 bits.
- PQ is an absolute curve that relies on tone mapping; HLG is relative and SDR-compatible.
- HDR10 uses static metadata; HDR10+ and Dolby Vision use dynamic metadata.
- HDR read as SDR looks grey and faded: you need tone mapping or a full HDR chain.
- Keep colour metadata through every re-encode.