Skip to content

Stats can name Dolby Vision when the output is parked in 4K HDR: the capability table answers what the panel CAN present, not what it is presenting #535

Description

@superuser404notfound

Split out of #459, which is closed: the defect that issue was filed on (HDR and Dolby Vision titles labelled as converted to SDR on a box whose output is locked to HDR) is fixed in 6.82.0 and confirmed on two boxes. This is the residual classicjazz found while running the full matrix on build 30, and it is the opposite direction: a label that claims MORE than the HDMI output carries.

The case

Apple TV 4K, output parked in 4K HDR (not 4K Dolby Vision), Match Dynamic Range off, Match Frame Rate on, source is Dolby Vision Profile 7, panel is a DV-capable LG OLED.

The TV reports HDR10 for the title. Stats read Dolby Vision P7, with no arrow. By the label's own rule the honest value is Dolby Vision P7 -> HDR10.

Why it happens

The Dolby Vision term in the capability clamp is AVPlayer.availableHDRModes, which answers what the DISPLAY can present. It does not follow the box's current output-format setting, exactly as eligibleForHDRPlayback does not: the pair of force-quit readouts on #459 read byte-identical with the output locked to 4K Dolby Vision and to 4K SDR, two configurations whose correct answers are opposite.

effectiveVideoFormat therefore resolves .dolbyVision, and the acceptance readout added in 6.82.0 cannot supply the missing half. Acceptance proves the panel presents HDR, never which HDR mode: with the output parked in 4K HDR the Apple TV takes the Dolby Vision master and converts it, so there is no -11868 refusal to read. Compare a panel with no Dolby Vision in its EDID at all (Samsung HDR10+, DrHurt): the table names no .dolbyVision, the clamp resolves .hdr10, and the arrow appears correctly.

So the row names the best format the chain can carry, and in this one configuration that is one step above what leaves the HDMI port.

Why the obvious narrowing is not the fix

Publishing the base layer whenever the HDR proof came only from acceptance would relabel every Dolby Vision title on a box parked in 4K Dolby Vision with Match Dynamic Range off. That is the configuration both reporters on #459 actually run, and most likely the common one. It trades a rare wrong arrow for a frequent one.

Any real fix needs the value no public API exposes: the output mode the box is currently in. isDisplayCriteriaMatchingEnabled is a single combined flag covering Match Dynamic Range and Match Frame Rate, so it cannot even tell the two configurations apart, and currentEDRHeadroom is measured silent on a parked box (#459, three boxes, three OS versions).

What would confirm the mechanism

One diagnostic line, taken with the output locked to 4K HDR on a DV-capable panel:

[HLSVideoEngine] serving on ... (dvModeAvailable=... effectiveDvMode=... useMaster=...)

dvModeAvailable=true there is the table answering capability rather than presentation, which is what this issue assumes.

Status

Known limitation, kept open as the anchor for the Feedback Assistant report, not as work in flight. Nothing here affects the picture: the Apple TV converts, and the title plays in the mode the output is parked in either way.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions