Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Hardware & Software > Software players

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st July 2017, 21:28   #44241  |  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
Old 1st July 2017, 21:37   #44242  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,342
Quote:
Originally Posted by madshi View Post
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.
Just to clarify, before more people ask, basically NVIDIA also works on Windows 10 Creators, minus the bug they're still fixing in their drivers?
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 1st July 2017, 21:42   #44243  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by igvk View Post
The reason for this is simple - I would like to use different 3D LUTs for different ICC profiles.

This is because NEC MultiProfiler loads differently named profiles depending on built-in gamut modes of the monitor.
So, this is the only way for me to switch between different calibration modes in madVR automatically, depending on selected picture mode in MultiProfiler.
Hmmmm... Do you keep the ICC profile active, and the 3DLUT comes on top of that? Or do you have "disable GPU gamma ramps" checked in madVR, which I think should disable the ICC?

Usually you get the best quality if you disable the ICC and create a new 3DLUT which does everything. But that might not be what you want?

Quote:
Originally Posted by nevcairiel View Post
Just to clarify, before more people ask, basically NVIDIA also works on Windows 10 Creators, minus the bug they're still fixing in their drivers?
I hope to have a workaround in v0.91.11 for the Nvidia driver bug. It works on my PC, but I can't say for sure if it will work for everyone.

Basically there's a chance everything might already work perfectly for all Nvidia users with the latest drivers. If it doesn't, then downgrading to an older driver should definitely do the trick.
madshi is offline   Reply With Quote
Old 1st July 2017, 22:06   #44244  |  Link
igvk
Registered User
 
Join Date: Jul 2011
Posts: 33
Quote:
Originally Posted by madshi View Post
Hmmmm... Do you keep the ICC profile active, and the 3DLUT comes on top of that? Or do you have "disable GPU gamma ramps" checked in madVR, which I think should disable the ICC?

Usually you get the best quality if you disable the ICC and create a new 3DLUT which does everything. But that might not be what you want?
This ICC profile is used for color managed programs to map the output colors to the monitor color space. I'm not loading anything to GPU, if I understood the question correctly.

The monitor itself has several modes (like Full wide gamut, sRGB, Adobe RGB). I usually switch between Full (native) and sRGB mode. And here system monitor ICC profile changes (when done in NEC MultiProfiler, not via monitor own controls) - it's actually convenient, because all color-managed programs know how to convert the colors.
Except for madVR, which still uses wrong 3D LUT. So, if I could access the name of the current system display ICC profile, I could use another 3D LUT in madVR (or disable usage of it at all).

Here is example of display profile in Windows:

Last edited by igvk; 1st July 2017 at 22:16.
igvk is offline   Reply With Quote
Old 1st July 2017, 22:22   #44245  |  Link
thighhighs
Registered User
 
Join Date: Sep 2016
Posts: 70
Hi all. What about features like NGU AA direct 4x and NGU direct 3x? Direct 3x NGU completely dead? Direct 4x NGU AA possible in the future?
thighhighs is offline   Reply With Quote
Old 1st July 2017, 22:51   #44246  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
Quote:
Originally Posted by XMonarchY View Post
Is there a set of example images that can be used to make a comparison? I can't even figure out how to take a screenshot of madVR-rendered content in Exclusive FullScreen Mode...
than do it without FSE?
Quote:
I often can't see any difference, even zoomed in. I just go by what general thread population suggests as overall highest-quality setting for non-anime film content.
if you can't see it you don't have to use it.

i mean you have trouble with downscaling because you are following random settings from other people...
huhn is offline   Reply With Quote
Old 1st July 2017, 23:34   #44247  |  Link
mrcorbo
Registered User
 
Join Date: Jan 2005
Posts: 171
Preliminary results from the new version running on a GTX 1060, Latest Nvidia Drivers (384.76), latest Fast Ring Insider Build of Windows 10 (16232).

Switching in and out of HDR mode works "the Nvidia way". Basically, it's identical to how invoking HDR mode on an Nvidia card worked prior to the Creator's Update. UI colors go all wonky, etc. But it does show the video in HDR.

When viewing an HDR video madVR default settings "Use DXVA chroma upscaling.." under "trade quality for performance" cause incorrect colors when in fullscreen.

FSE still doesn't present HDR for me, but non-FSE fullscreen doesn't crash anymore when passing HDR metadata so I can finally watch an HDR video in fullscreen.

Both closing MPC-HC and playing a non-HDR video after an HDR video trigger an Nvidia HDR to SDR mode change. So, for me, your workaround is working.

Edit:Also, if you follow up an HDR video with another HDR video it triggers the mode change again (and a few seconds of black screen) even though you're already in HDR mode.

Last edited by mrcorbo; 2nd July 2017 at 01:18.
mrcorbo is offline   Reply With Quote
Old 2nd July 2017, 00:30   #44248  |  Link
mitchmalibu
Registered User
 
Join Date: Mar 2009
Posts: 37
Quote:
Originally Posted by madshi View Post
Correct. madVR is not involved at all in anything audio related. Reclock works by resampling audio, so that's not something madVR can do. However, there will soon be a new feature that may make Reclock like algorithms not needed, anymore. We'll have to see if it works as intended, but that's my hope.
Care to share a bit more about this ? To say that it piqued my curiosity is an understatement

Otherwise, I tried to make the "D3D11 windowed mode now supports 10bit, if "HDR and Advanced Color" is on" feature work, no go on 32bit MPC-BE : getting a black screen as soon as I go fullscreen using a HDR clip. Same on 64bit. 10bit with FSE works fine (but Reclock goes bonkers).

Anyway, these are uncharted territories you're exploring, keep up the great work.

Edit : nevermind, didn't see that nvidia released a new driver this week. Updated to 384.76, everything working as described.

Last edited by mitchmalibu; 2nd July 2017 at 00:59.
mitchmalibu is offline   Reply With Quote
Old 2nd July 2017, 04:40   #44249  |  Link
Q-the-STORM
Registered User
 
Join Date: Sep 2012
Posts: 174
Quote:
Originally Posted by 70MM View Post
Can someone please explain.
I have a ripped version of the BD Oklahoma which is 1080 29.970 frame rate.
As it states Scan type, store method = Interleaved fields in the properties, this does mean its a 29.970 interlaced BD is that correct?
The film was shot in 29.97fps, so this is the correct framerate...
Since the BD specs only support 29.97fps interlaced, they encoded this with MBAFF interlacing which should decode to 29.97 progressive frames (like most 25fps BDs and european TV)
Q-the-STORM is offline   Reply With Quote
Old 2nd July 2017, 05:01   #44250  |  Link
70MM
X Cinema Projectionist NZ
 
Join Date: Feb 2006
Location: Auckland NZ
Posts: 310
Quote:
Originally Posted by Q-the-STORM View Post
The film was shot in 29.97fps, so this is the correct framerate...
Since the BD specs only support 29.97fps interlaced, they encoded this with MBAFF interlacing which should decode to 29.97 progressive frames (like most 25fps BDs and european TV)
Many thanks for your reply, you are the first on the subject at hand...

I have so much trouble playing this film on my 1080ti card, it keeps repeating 100s of frames constantly into the 1000s!
Even though my render times are very low, 15 odd.

I must have things not set correctly for playing 29.97 progressive material. I set madvr to 4K for all my ripped BDs, 23.97 materiel plays perfectly.

Any pointers in the setup would be greatly appreciated...
70MM is offline   Reply With Quote
Old 2nd July 2017, 05:13   #44251  |  Link
Q-the-STORM
Registered User
 
Join Date: Sep 2012
Posts: 174
Post a screenshot of CTRL+J and if you have profiles set up, look if the correct profile is being selected when you play the file...
Q-the-STORM is offline   Reply With Quote
Old 2nd July 2017, 06:08   #44252  |  Link
70MM
X Cinema Projectionist NZ
 
Join Date: Feb 2006
Location: Auckland NZ
Posts: 310
I dont actually have any profiles set up.
70MM is offline   Reply With Quote
Old 2nd July 2017, 08:31   #44253  |  Link
Siso
Soul Seeker
 
Siso's Avatar
 
Join Date: Sep 2013
Posts: 711
Quote:
Originally Posted by madshi View Post
What do you need this for? madVR already has automatic detection (and optionally removal) of black bars, which supports any possible aspect ratio, not just those you listed.
I'm asking for these crop functions because the last time I used the zooming options, madVR was non stop looking for changes in the video-if the aspect ratio is changed even with one pixel like on some encodes "dirty lines" it crashed my pc, and I had to reboot manually... Since then I stopped uisng this feature, so my point was madVR to crop the picture without looking for even the slightest change in the aspect ratio etc. 1 or 2 pixel changes.
Siso is online now   Reply With Quote
Old 2nd July 2017, 09:03   #44254  |  Link
sauma144
Registered User
 
Join Date: Sep 2016
Posts: 89
Quote:
Originally Posted by madshi View Post
Are you sure there's anything new in there? It seems to be very old, much older than the EWA implementation in ImageMagick/madVR.
You're right, it was before the latest changes of EWA scalers in ImageMagick.

Quote:
Originally Posted by madshi View Post
Correct. madVR is not involved at all in anything audio related. Reclock works by resampling audio, so that's not something madVR can do. However, there will soon be a new feature that may make Reclock like algorithms not needed, anymore. We'll have to see if it works as intended, but that's my hope.
I am keeping my fingers crossed.

Last edited by sauma144; 2nd July 2017 at 09:07.
sauma144 is offline   Reply With Quote
Old 2nd July 2017, 09:27   #44255  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,646
Quote:
Originally Posted by XMonarchY View Post
Is there a set of example images that can be used to make a comparison? I can't even figure out how to take a screenshot of madVR-rendered content in Exclusive FullScreen Mode...
The best examples really are the content that you view most.. what's good for some content on some display may be almost pointless for your content on your display with your hardware.

Quote:
Originally Posted by XMonarchY View Post
I often can't see any difference, even zoomed in. I just go by what general thread population suggests as overall highest-quality setting for non-anime film content.
And that's normal, there's a bunch of stuff I don't enable because it makes so little difference it's not worth the performance hit and extra power consumption.

I'm being rather broad sweeping with this statement, but I feel the "quality" of the final image is more dependent on the scalers you're using more than anything else.. there are a few exceptions here though.

If you want a hand with deciding, take some screenshots of your content with various settings, let people download the files (PNG) and ask for recommendations.

Last edited by ryrynz; 2nd July 2017 at 11:05.
ryrynz is offline   Reply With Quote
Old 2nd July 2017, 09:30   #44256  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by igvk View Post
This ICC profile is used for color managed programs to map the output colors to the monitor color space. I'm not loading anything to GPU, if I understood the question correctly.

The monitor itself has several modes (like Full wide gamut, sRGB, Adobe RGB). I usually switch between Full (native) and sRGB mode. And here system monitor ICC profile changes (when done in NEC MultiProfiler, not via monitor own controls) - it's actually convenient, because all color-managed programs know how to convert the colors.
Except for madVR, which still uses wrong 3D LUT. So, if I could access the name of the current system display ICC profile, I could use another 3D LUT in madVR (or disable usage of it at all).
Ok. I'll add it to my to do list, but it might take a while until I get to that.

Quote:
Originally Posted by thighhighs View Post
Hi all. What about features like NGU AA direct 4x and NGU direct 3x? Direct 3x NGU completely dead? Direct 4x NGU AA possible in the future?
I don't know yet, haven't had much time for madVR in the last couple of weeks.

Quote:
Originally Posted by mrcorbo View Post
When viewing an HDR video madVR default settings "Use DXVA chroma upscaling.." under "trade quality for performance" cause incorrect colors when in fullscreen.
So you're using native DXVA decoding? The problem goes away when using DXA copyback? You say it happens in "fullscreen". So it does not happen in windowed mode? How strongly incorrect are the colors? Just slightly? Or totally?

Quote:
Originally Posted by mrcorbo View Post
FSE still doesn't present HDR for me, but non-FSE fullscreen doesn't crash anymore when passing HDR metadata so I can finally watch an HDR video in fullscreen.
Done some more testing and can confirm that Nvidia's HDR support currently doesn't work in FSE mode with the latest drivers. That's a driver bug which will be fixed in a future driver version. For now, you can get it working perfectly by using any driver between 376.xx and 380.xx.

Quote:
Originally Posted by mitchmalibu View Post
Care to share a bit more about this ?
Nah, just be patient...

Quote:
Originally Posted by Siso View Post
I'm asking for these crop functions because the last time I used the zooming options, madVR was non stop looking for changes in the video-if the aspect ratio is changed even with one pixel like on some encodes "dirty lines" it crashed my pc, and I had to reboot manually... Since then I stopped uisng this feature, so my point was madVR to crop the picture without looking for even the slightest change in the aspect ratio etc. 1 or 2 pixel changes.
Ok, so you're asking for a new feature because you've found bugs in the existing feature? I'm sorry, but that's not how I'm working. If I added a new feature any time a user found bugs in an existing feature, soon madVR would have thousands of different features, all competing with each other for the same functionality.

Let's work on fixing the bugs instead, ok?

If you get a crash, please press on the "show bug report" button, then press Ctrl+C to copy the bug report into the clipboard, then upload it somewhere (not here) for me to look at.

If you have videos where madVR constantly changes the black bar detection rectangle, please upload a sample for me.
madshi is offline   Reply With Quote
Old 2nd July 2017, 09:39   #44257  |  Link
jerryleungwh
Registered User
 
Join Date: Jun 2016
Posts: 39
why is the option for choosing Nvidia's api or windows api gone when doing hdr metadata passthrough?
jerryleungwh is offline   Reply With Quote
Old 2nd July 2017, 09:44   #44258  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by jerryleungwh View Post
why is the option for choosing Nvidia's api or windows api gone when doing hdr metadata passthrough?
Because it's not longer useful/needed.

If you activate the "HDR and advanced color" option, your TV will always be in HDR mode. In this case the Nvidia API won't work. So having an option to let you choose the Nvidia API doesn't make sense in this situation.

If you deactivate the "HDR and advanced color" option, madVR won't be able to switch your TV into HDR mode at all, except by using the Nvidia API. So in this situation, the Nvidia API is clearly the better (or rather the only) choice. So again it doesn't make sense to let you choose.

Basically madVR automatically chooses what is best in your situation. If "HDR and advanced color" is turned on, madVR will use the D3D11/DXGI APIs. If "HDR and advanced color" is turned off, madVR will use the Nvidia APIs (if your GPU is Nvidia).

If your GPU is AMD or Intel, madVR of course always uses the D3D11/DXGI APIs.
madshi is offline   Reply With Quote
Old 2nd July 2017, 10:02   #44259  |  Link
jerryleungwh
Registered User
 
Join Date: Jun 2016
Posts: 39
What happens if I have a Nvidia and an Intel GPU? Right now it doesn't trigger the tv to switch into HDR mode when I try to passthrough HDR when playing HDR content, but I never had the option to activate or deactivate HDR and advanced color from the display menu even with the creator's update installed so I'm not quite sure what happened here
jerryleungwh is offline   Reply With Quote
Old 2nd July 2017, 10:13   #44260  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
I think with an Nvidia+Intel system probably the display is driven by the Intel GPU, even if the Nvidia GPU might do the heavy lifting. The current Intel GPU drivers unfortunately do not support HDR properly at all yet.
madshi is offline   Reply With Quote
Reply

Tags
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:58.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.