Skip to content

AetherEngine 5.17.5

Choose a tag to compare

@superuser404notfound superuser404notfound released this 21 Jul 16:25

Fixed

Dolby Vision Profile 5 misrouted to the software path with a green/purple color shift, even on Apple Silicon (#176).

The second-stage VideoToolbox capability gate (introduced for #2, H.264 High 4:2:2/4:4:4/High-10 and HEVC Rext on machines without a matching HW decoder) probes VT with a plain-HEVC format description built from the raw hvcC config record. For DV Profile 5 that probe is not representative of what the native route actually plays: the muxer emits dvh1 + dvcC and Apple's system DV decoder handles the stream (including tonemapping on non-DV panels, #98). VT rejects the bare P5 hvcC with -12906/-4 regardless of silicon, so the probe returned a false negative and the gate routed P5 to the software host.

On the software path libavcodec decodes P5's IPT-PQ-c2 signal as if it were YCbCr, which is exactly the green/purple cast in the report. Unlike P8.x, Profile 5 has no HDR10/HLG/SDR-compatible base layer, so the software path can never render it with correct color.

Fix: HEVC streams whose DOVI configuration record says profile 5 now bypass the VT capability gate entirely and stay on the native AVPlayer path; the probe is not even invoked for them. P7 and P8.x keep the gate, since their base layer is standard Main10 that the software path decodes with correct color and the original #2 fallback remains valid for machines without HEVC hardware decode.

Reported by @ijuniorfu, triaged by @DrHurt (#176). Covered by VideoRoutingPolicyTests (18 tests, including probe-not-invoked and P7/P8-keep-gate cases).