Kodi DSPlayer – DirectShow Player for Windows
How to Configure a Display and GPU for a HTPC

The following instructions use Nvidia and AMD as the example hardware but should transfer directly to Intel.

Configuring Your Display

Setting correct video levels is the main concern on the display side. PC's operate in RGB 0-255, while most video content is YCbCr 16-235, and 16-235 is what most displays will be expecting. The majority will be configuring their display to accept PC levels, but it is possible to send video levels depending on how you configure madVR and the GPU.

The safest option is to set the display’s video levels or color space to Auto. This allows the display to determine how to best handle the source input with the correct internal color conversion matrix. If you need to force a specific output mode, each display manufacturer describes this setting differently as shown below.

Typical PC Configuration – Most common and recommended

(madVR) PC levels (0-255) -> (GPU) Full Range RGB 0-255 -> (Display) Output as RGB 0-255

The correct setting is Full Range:
  • LG: Black Level - High
  • Samsung: HDMI Black Level - Normal
  • Sony: HDMI video range - Full
  • Vizio: Color Space - RGB
  • Panasonic: Black Level - Full
  • TCL: Autodetect/Forced PC Mode - Set HDMI mode to HDMI 2.0
  • JVC: Input Level - Enhanced
  • Epson: HDMI Video Range - Expanded
  • Optoma: Color Space - RGB(0-255)
  • BenQ: HDMI Format - PC Signal
  • Pioneer: Video - RGB0-255 

Alternative Configuration – For displays not able to handle full range signals

(madVR) TV levels (16-235) -> (media front-end) Use limited color range (16-235) -> (GPU) Full Range RGB 0-255 -> (Display) Output as RGB 16-235

The correct setting is Limited Range:
  • LG: Black Level - Low
  • Samsung: HDMI Black Level - Low
  • Sony: HDMI video range - Limited
  • Vizio: Color Space - YCbCr
  • Panasonic: Black Level - Normal
  • TCL: Autodetect/Forced PC Mode - Set HDMI mode to HDMI 2.0
  • JVC: Input Level - Standard
  • Epson: HDMI Video Range - Normal
  • Optoma: Color Space - RGB(16-235)
  • BenQ: HDMI Format - Video Signal
  • Pioneer: Video - RGB16-235

Last Configuration – Correct desktop with a display not able to handle full range signals

(madVR) PC levels (0-255) -> (GPU) Limited Range RGB 16-235 -> (Display) Output as RGB 16-235

The last option is not recommended because the range is converted by the GPU. For those choosing this path, the display should be configured the same as above: Limited Range.

Note: Sending RGB (full or limited) to the display may not work well in some special circumstances. For example, some displays have problems receiving RGB inputs with HDR metadata (like some JVC projectors) and must operate in YCbCr instead of RGB. If you are getting strange tints to the image, this could be you.

A warning should also be made about using PC or game mode. Such a setting is often necessary for 4:4:4 output, but typically comes with limitations for video playback. This can include an inability to switch refresh rates and poor color representation due to differences in HDR output or lower color volume. The LG OLED is an example of a display with inferior color volume in PC mode compared to other video modes.


After configuring the display, it is a good idea to test for black and white clipping with test patterns like these ones (under Basic Settings) and these two clips. This is one of the most important steps for having a correct grayscale. Not all displays will behave the same with the same configuration depending on how it interprets and converts the input signal.

Configuring Your GPU – Refresh Rate, Color Format and Bit Depth

Image

The GPU color settings can be a bit confusing. The correct color format for a PC is almost always RGB. All PC video processing is done in RGB, and you don't want to destroy the work done by madVR by converting from RGB to YCbCr before output.

For the best operating system responsiveness, the desktop refresh rate should be set to 60 Hz, while allowing the media player to change to other refresh rates when necessary.

And the desktop resolution should always match the native resolution of your display (1920 x 1080p or 3840 x 2160p) to ensure content is being upscaled in good quality by madVR to the native resolution of the display. 

Discussion from madshi on RGB vs. YCbCr

HDR and WCG: This checkbox is not found in the GPU control panel but affects the desktop. Found under Windows Settings -> System -> Display, HDR and WCG should be disabled for all HDR and SDR playback. madVR does not rely on Windows OS HDR and will automatically switch between SDR and HDR when necessary using private APIs provided by Nvidia & AMD. Intel users will have to toggle HDR and WCG before playing HDR content and turn it off when returning to SDR. Leaving this enabled will output all video in an HDR format.

Desktop color depth: Not relevant to video playback, so simply set it to Highest (32-bit).

1920 x 1080p - 60 Hz:  8-bit-10-bit 


Output color depth (8-bit): 8 bpc (Nvidia/AMD); N/A - Auto (Intel)

Output color format: RGB 

Output dynamic range: Full or Limited

OR

Output color depth (10-bit):  10 bpc (AMD); 12 bpc (Nvidia); N/A - Auto (Intel)

Output color format: RGB 

Output dynamic range: Full or Limited

3840 x 2160p - 60 Hz:  8-bit

Output color depth: 8 bpc (Nvidia/AMD); N/A - Auto (Intel)

Output color format: RGB 

Output dynamic range: Full or Limited

3840 x 2160p - 60 Hz:  10-bit 

Configuration here is a little tricky because of the bandwidth limitations of HDMI 2.0.

We will separate configuration into two cases: 4K 10-bit, 60 Hz, and the typical video playback refresh rates: 30 Hz, 29 Hz, 25 Hz, 24 Hz and 23 Hz. Only these lower refresh rates support 4K 10-bit, RGB Full.

4K 10-bit - 60 Hz

Output color depth: 8 bpc (Nvidia/AMD); N/A - Auto (Intel)

Output color format: RGB 

Output dynamic range: Full or Limited

4K 10-bit - 30 Hz, 29 Hz, 25 Hz, 24 Hz, 23 Hz

Switch to each resolution individually: 30 Hz, 29 Hz, 25 Hz, 24 Hz and 23 Hz, apply the changes below, and click apply. This can also be done during video playback. You can confirm 10-bit/12-bit output by visiting the GPU control panel during playback or by using the madVR OSD (as explained below).

Note: Nvidia defaults to the highest bit depth supported by your display. This is usually 12 bpc. You likely won't see an option for 10-bit, so 12 bpc is the correct choice for Nvidia GPUs. 

30 Hz, 29 Hz, 25 Hz, 24 Hz, 23 Hz

Output color depth:  10 bpc (AMD); 12 bpc (Nvidia); N/A - Auto (Intel)

Output color format: RGB 

Output dynamic range: Full or Limited

Summary - 4K 10-bit: 4K 60 Hz - 8-bit RGB; 4K 30 Hz and lower - 10-bit/12-bit RGB

Note: The switch from 60 Hz 8-bit RGB to 23.976 Hz 12-bit RGB is known to be unreliable with most recent Nvidia driver versions and often the saved settings won't survive a reboot of the operating system.


3840 x 2160p - 30 Hz:  10-bit (For those having trouble switching from 8-bit @ 60 Hz to 10/12-bit @ 24 Hz)

Output color depth:  10 bpc (AMD); 12 bpc (Nvidia); N/A - Auto (Intel)

Output color format: RGB 

Output dynamic range: Full or Limited

Note: Custom resolutions can also interfere with 10-bit output with Nvidia GPUs. With Nvidia, you must set your desktop to YCbCr 4:2:2 12-bit at 60 Hz to switch to a 12-bit custom resolution (not recommended). If your desktop is set to 8-bits, the GPU will stay at 8-bits when selecting a custom resolution, even if it was created and saved at 12-bits. The best bet for a working 12-bit custom resolution that will survive a reboot is to input the values calculated by madVR into CRU (Custom Resolution Utility) and create a custom resolution with CRU. CRU uses operating system-wide custom resolutions that bypass the Nvidia API.

Confirming Output Bit Depth and Color Space (Nvidia Only)

The madVR OSD (Ctrl + J) can be used to confirm the output bit depth, color space and dynamic range. These stats will tell you if the GPU is correctly switching from 8-bit RGB to 10/12-bit RGB at playback start. Currently, reporting is limited to the Nvidia API.

Image

AMD – Display Settings

Image
AMD Radeon Settings

Uncheck GPU Scaling to disable image scaling performed by the GPU. Virtual Super Resolution post-processing should also be unchecked.

AMD – Video Settings

Image
AMD Radeon Settings

Set the video profile to Default.

Video profiles are relevant when DXVA2 (GPU driver-based) video rendering is used. These profiles enable combinations of video shaders designed for contrast enhancement, noise reduction, deinterlacing, edge enhancement, mosquito noise reduction and motion compensation processing. These shaders can be disabled by leaving the video profile at Default.

AMD Video Profiles

Nvidia – Desktop Color Settings

Image
NVIDIA Control Panel

Set the desktop color settings to be controlled by the media player/media software.

Nvidia – Video Color Settings

Image
NVIDIA Control Panel

Set the video color settings to be controlled by the media player.

Nvidia – Video Image Settings

Image
NVIDIA Control Panel

Disable all image enhancements. This type of post-processing will be handled by the media player.

Nvidia – Power management mode

Image
NVIDIA Control Panel

Power management mode is only relevant to Nvidia users. Found under Manage 3D settings -> Global Settings, the lone setting known to cause issues is Prefer maximum performance that may actually reduce performance. Adaptive is the preferred setting for general video playback.

Nvidia’s Power Management Explained

That's it! Final steps may include configuring 3D output and running through the Configure Speakers wizard from the GPU control panel or the Windows Sounds settings panel.
Reply


Messages In This Thread
Lockup on STOP issue resolved! - by MKANET - 2015-04-11, 21:59
RE: 4G aware patch - by MagikMark - 2015-09-08, 03:27
Alt-F4 no longer quits - by JeffA - 2015-10-31, 20:38
H265 playback - by rew88 - 2017-11-04, 00:41
RE: H265 playback - by ashlar - 2017-11-04, 16:21
RE: H265 playback - by rew88 - 2017-11-05, 01:34
RE: H265 playback - by ashlar - 2017-11-05, 16:48
RE: H265 playback - by rew88 - 2017-11-05, 23:08
RE: H265 playback - by ashlar - 2017-11-06, 12:00
Leia 18 - by terpsarlington - 2017-11-21, 03:51
RE: Leia 18 - by spencerjford - 2017-11-21, 06:24
RE: Kodi DSPlayer – DirectShow Player for Windows - by Warner306 - 2018-05-30, 20:18
Display Modes / Refresh Rates - by goofer69 - 2019-09-20, 00:19
RE: Display Modes / Refresh Rates - by ashlar - 2019-09-20, 00:39
RE: Display Modes / Refresh Rates - by ashlar - 2019-09-20, 19:35
DSPlayer 23.810 to 23.976 - by Runakanta - 2018-05-09, 03:24
RE: DSPlayer 23.810 to 23.976 - by Warner306 - 2018-05-10, 01:32
Logout Mark Read Team Forum Stats Members Help
Kodi DSPlayer – DirectShow Player for Windows47