Dolby Vision P7 FEL · 12-bit gray test · measured HDMI captures

Can You See the Last Two Bits?

The Oppo and the S922X pass the full 12-bit FEL detail. The S928X (CoreELEC FEL composition) is limited to 10 bit and uses a fine dither to carry the rest. Is that difference visible? The chart below puts every measured error on one scale: 1.0 is the smallest difference a person with very good eyes can see under ideal conditions. Anything below 1.0 is invisible.

All three are below what the eye can see

How many times smaller the error is than the smallest visible difference, in the hardest case: a smooth, near-black gray gradient. Higher is better; above 1× the error is invisible.

Oppo
3.5× below the limit
typical error 0.32 of a 12-bit step · invisible
S928X, 10 bit + dither
1.9× below the limit
typical error 0.59 of a 12-bit step · invisible
S922X
1.7× below the limit
typical error 0.65 of a 12-bit step · invisible

The eye needs about 1.1 twelve-bit steps. The S928X's dither grain is also below the limit on a 65″ 4K TV: 7× at 2.5 m and 1.6× at 1.5 m.

Measured error ÷ the eye's visibility threshold

Oppo S922X S928X, 10 bit + dither (default) S928X with the dither switched off (for comparison)

Bar length is the error, the red line is the limit of what the eye can see. A bar that reaches half way to the line is 2× below the limit. Bars that stop before the line cannot be seen, even in a smooth gray gradient, which is the hardest case. The grain rows assume a 65″ 4K TV.

The yardstick

0.30 % brightness change

This is the smallest step the eye can detect at 30 nits in the best case (Barten contrast-sensitivity model, optimal pattern size). One 12-bit step of the Dolby Vision PQ signal is 0.27 % here, just below it. That is how PQ was designed. So the threshold is about 1.1 twelve-bit codes. Near black it is the same in codes: 1.27 % there, against 1.12 % per code.

Why the S928X needs the dither

1.26 % per 10-bit step

Without dither the S928X rounds to 10 bit: 4 times coarser steps, about 4× the threshold. In a very smooth, dark gradient that can show as faint bands (the gray bars). With the dither on, the average follows the 12-bit value: the typical error drops to 0.46 codes, between the Oppo (0.31) and the S922X (0.62).

Why the grain is invisible

0.63 % vs 4.5 % needed

The dither alternates between two neighbouring 10-bit codes from pixel to pixel. On a 65″ 4K TV at 2.5 m that pattern is so fine (about 30–60 cycles per degree) that the eye needs 4.5 % contrast or more to see it. The grain has 0.63 %. Even from 1.5 m it stays below the limit. It is fixed, so it cannot flicker.

Overall brightness level

Separately from the gradient detail, the whole picture sits slightly lower than the reference on the Amlogic players: 0.6 % in the mid-tones and 3.4 % near black on both the S922X and the S928X (the same Dolby Vision core, bit-identical in the band without EL). The Oppo is 0.2 % and 2.6 % lower. This has nothing to do with the 10-bit limit or the dither, and it moves the whole picture evenly instead of creating bands. Between the players the gap is 0.8 % near black, below the threshold, and 0.4 % in the mid-tones, which only a side-by-side split screen could reveal.