View Single Post
Old 1st July 2017, 21:28   #44250  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
HDR metadata passthrough

In the last couple of days I've talked to Microsoft and NVidia about HDR metadata passthrough. And the current situation is as follows:

1) In Windows 10 Creator's Update there's a new option in the OS display settings dialog named "HDR and advanced color". If you turn this option off, your TV will always be running in SDR mode. If you turn this option on, your TV will always be running in HDR mode. Windows does currently *not* support dynamically switching HDR mode on/off while you're playing an HDR movie (or playing an HDR game)! Microsoft may consider dynamic switching in the future, but don't hold your breath, I'm not too optimistic that they'll add that any time soon (if ever). But let's wait and see.

2) If you switch the "HDR and Advanced Color" option off, your TV will always receive SDR from the PC. If you play an HDR movie in this situation with the madVR option "passthrough HDR content to the display" activated, the OS/GPU will perform a low quality HDR -> SDR conversion behind madVR's back. Consequently, HDR content will look "ok", but the quality is not really good. SDR content will look "perfect", though.

3) If you switch the "HDR and Advanced Color" option on, your TV will always receive HDR from the PC. If you tell madVR to "passthrough HDR content to the display" in this situation, HDR movies should look "perfect". If you play SDR content in this situation, the OS/GPU will convert SDR to HDR behind madVR's back. Consequently, SDR content will look "ok", but it will not be perfect.

4) Currently HDR and fullscreen exclusive mode is a problematic combination. It's partially the fault of the OS, partially of the GPU drivers. It's not clear yet if this will be fixed, or when. Generally, Microsoft wants to get rid of fullscreen exclusive mode. It might suddenly disappear in a future Windows 10 version. I'm not happy about that at all. Which is one of the reasons I've been recommending Windows 8.1 for months now.

5) Nvidia comes to the rescue of all HTPC users who want perfect quality for both SDR and HDR content: Nvidia's private HDR API allows madVR to dynamically switch the TV into and out of HDR mode, as needed. For this to work, you need to deactivate the OS "HDR and advanced color" switch.

6) madVR v0.91.10 had a bug where Nvidia's private HDR API was only called properly in the 32bit madVR version, but not in 64bit. This bug is fixed in madVR v0.91.11.

7) All Nvidia drivers starting with 381.xx up to the latest (384.76) have a bug which results in madVR not being able to switch the TV into HDR, when using FSE mode. You can workaround the issue by disabling FSE mode. Alternatively, using any driver between 376.xx and 380.xx should make dynamic HDR switching work perfectly.

As it stands right now, for all Windows users who want to do both SDR and HDR playback in perfect quality, I can only recommend Nvidia GPUs, because only Nvidia's private API allows madVR to dynamically switch the TV between SDR <-> HDR atm. I'm talking to Intel, maybe they will add a private API, too. Unfortunately my AMD contacts have gone silent. There's still hope for Windows 10, but I'm not overly optimistic atm.

Last edited by madshi; 2nd July 2017 at 09:34.
madshi is offline   Reply With Quote