Perceptual Quantizer (PQ): SMPTE ST 2084
PQ is an HDR transfer function that assigns encoded signal values to absolute light levels up to 10,000 nits.
A PQ signal assigns picture samples an absolute reference-display light meaning. A normalized signal of 0.5 requests approximately 92.2 nits for neutral gray; it does not request half of an arbitrary television's brightest output.
Perceptual Quantizer (PQ) is standardized in SMPTE ST 2084. Its nonlinear function distributes precision across a reference-light range extending to 10,000 nits, taking human visual sensitivity into account.

ST 2084 neutral-gray reference EOTF. The logarithmic panel reveals shadows; zero cannot be plotted on its logarithmic luminance axis.
100 nits represented by a 10-bit PQ code
A 100-nit neutral gray has a normalized PQ signal of approximately 0.508078. That value is a signal coordinate, not a luminance percentage. Encoding into a numerical format comes next.
For an illustrative 10-bit narrow-range neutral-gray component, nominal black is code 64 and the top nominal signal is code 940. There are 876 intervals between those endpoints. Rounding 64 + 876 × 0.508078 gives code 509.
On interpretation, (509 − 64) / 876 gives approximately 0.507991. Applying PQ recovers about 99.913 nits. The slight difference from 100 is the finite-precision rounding in this example.
That chain connects three representations:
| Representation | Example |
|---|---|
| Intended neutral-gray light | 100 nits |
| Normalized nonlinear PQ signal | About 0.508078 |
| Stored 10-bit narrow-range component | 509 |
A player needs the correct range before applying PQ. Treating the integer 509 as a full-range value would produce a different normalized signal and therefore another light request. For colored video, component and primary interpretation also participate in recovering the intended picture.
Unequal signal spacing across the light range
| Light level | Normalized PQ signal, rounded |
|---|---|
| 1 nit | 0.150 |
| 100 nits | 0.508 |
| 1,000 nits | 0.752 |
| 10,000 nits | 1.000 |
The large light changes in the table occupy uneven signal intervals. This lets a finite set of signal values serve a much wider luminance range than a simple linear allocation would. Bit depth then determines how finely those signal intervals are divided.
The 10,000-nit endpoint defines the reference range of the function. An actual movie uses its own distribution of light levels; its brightest encoded content can be far below that endpoint. Content-light metadata and measured picture statistics describe aspects of that content.
The equation, for reproducing the values
For normalized signal V, use p = V^(1/m2), then:
L = 10,000 × [max(p − c1, 0) / (c2 − c3p)]^(1/m1)
The exact constants are m1 = 2610/16384, m2 = 2523/32, c1 = 3424/4096, c2 = 2413/128, and c3 = 2392/128. L is luminance in nits for neutral gray at the reference white chromaticity. The inverse function finds the PQ signal for a desired light level.
Adapt the interpreted picture to the destination
Suppose a highlight requests 1,000 nits and the output's usable peak is 400. PQ identifies the request; it cannot expand the screen's light capability. A subsequent tone-mapping decision fits that highlight alongside the rest of the picture.
A capable renderer can retain PQ's intended light relationship over a supported range and adapt the regions beyond the display's useful output. An SDR conversion instead prepares values with an SDR transfer meaning after brightness and color processing.
For Emby playback, these operations can happen in a server conversion or in local presentation. The Windows app documentation describes presentation-stage tone mapping. The source transfer, actual content range, and destination are each inputs to understanding the delivered appearance.