Log in

View Full Version : GPU Decoding washed out


windum
17th June 2017, 08:02
I've got a new GeForce 1050 GTX (382.05 drivers) with a 4k monitor, and am trying to use the GPU decoding for H.265 files. I've got it working with a couple of players, but the results from the GPU decoding are noticeably washed out compared to software decoding.
I'm using the default renderer settings in all cases on fresh stand-alone "installs" (tweaking renderers isn't my thing).

Consider the attached images using the 4k sample file from the HW decoder thread. The left is using GPU accelerated, the right is software.

MPV file:

MPV - Build 20170423 - all settings are default, except switched between hardware and software.


VLC-MPC file:
VLC player versus MPC-HC. Using VLC 3.0 nightly because 2.x doesn't do GPU accelerated. And MPC for software/CPU decoding because VLC 3.x crashes on anything except GPU. And MPC doesn't support GPU decoding for me

VLC - vlc-3.0.0-20170606-0454-git-win64 -- GPU accelerated
MPC-HC (64bit) - 1.7.11 -- software (doesn't seem to matter which renderer)



One note is that VLC 2.2.6 in software mode does the washed out thing too.
VLC

I've seen this on all H265 files I've tested, and H264 too (though haven't tested 264 much as my CPU can handle that fine). Some are considerably more visually pronounced than these.

Does anyone have any thoughts as to what's going on here, and how can I get GPU decoding that isn't washed out?

windum
22nd June 2017, 20:56
I've now tested on Linux Mint (the previous tests were all Windows 7), using MPV, and the results are the same, so I know it's not the Windows stack.

I've tried googling around but not found anything about this. Is this likely to be a hardware problem? Is there any way to further test what's going on?

(Addendum: It appears my attached images have disappeared from my original post. Trying to reattach here.)

SamuelMaki
25th June 2017, 17:54
Have you checked Nvidia control panel and put under video->color->advanced settings the dynamic range to 0-255?

v0lt
26th June 2017, 04:34
Have you checked Nvidia control panel and put under video->color->advanced settings the dynamic range to 0-255?
Bad advice.

clsid
26th June 2017, 13:39
Why? It may actually fix his problem. For example VMR-9 renderless also has wrong luminance if you don't use that setting.

Groucho2004
26th June 2017, 14:06
Bad advice.
Here's the difference between 16-235 and 0-255 in the NVIDIA driver settings (the difference is more pronounced in mpc-hc than in the screen shots):

https://s6.postimg.org/xf5wq1535/16_235.png
https://s6.postimg.org/n6dfk7h1d/0_255.png

huhn
26th June 2017, 20:54
you should not change this option.

a decoded stream is usually limited range and it is the job of the video renderer to change this to the correct output range. so select a proper video renderer...

and the most important part is that both software and hardware decoding is outputting the same range.

Groucho2004
26th June 2017, 21:16
you should not change this option.

a decoded stream is usually limited range and it is the job of the video renderer to change this to the correct output range. so select a proper video renderer...You're contradicting yourself. Yes, the renderer should control the range, not the driver.

SamuelMaki
27th June 2017, 20:02
you should not change this option.

a decoded stream is usually limited range and it is the job of the video renderer to change this to the correct output range. so select a proper video renderer...

and the most important part is that both software and hardware decoding is outputting the same range.

Nvidia has a bug with DXVA-decoding, you have to put the dynamic range to full on the settings. Try with a "dumb" player like VLC and DXVA-decoding. The video is same with full dynamic on Nvidia panel and with software decoding, but if leave Nvidia settings at default the image has wrong range. Same problem is on flashplayer on websites, so it is sound advice to make sure to enable that setting if using the internet for videos too. HTML5 should have the same "bug" with hardware acceleration.

huhn
27th June 2017, 21:06
obviously not the case here...

Groucho2004
27th June 2017, 21:22
obviously not the case here...Why not?

huhn
28th June 2017, 01:50
because i get correct colors in webbrowser.

sheppaul
28th June 2017, 07:51
You need to use OpenGL renderer with VLC 3.0 nightly to get correct colors. By default, VLC uses d3d renderer in windows but it's something like VMR9 renderers.

Groucho2004
28th June 2017, 10:09
because i get correct colors in webbrowser.I don't understand the logic behind that statement in the context of this thread. Please elaborate.

Groucho2004
28th June 2017, 10:16
@windum
Here is a page where someone seemingly has the same problem on Linux:
https://askubuntu.com/questions/914225/washed-out-colors-with-hdmi

windum
24th July 2017, 20:41
Thanks for the thoughts and feedback.

Changing the Dynamic range in the Nvidia control panel makes absolutely no difference to anything at all as best I can tell. Tested with both VLC 3.x and MPV in hardware decoding modes.

The VLC 3.x renderer is DirectX Video Acceleration (DXVA) 2.0.
If I set it to anything else (Auto, Disable, Direct3D 11), then VLC immediately crashes when it tries to play a video.
VLC 2 doesn't crash on the other settings, but they make no difference.

I tried following these instructions for OpenGL renderer (https://askubuntu.com/questions/29806/enable-opengl-in-vlc) - but no difference. I also changed the OpenGL "GPU affinity" setting from -1 to 1, but nothing there either.

I'm afraid the askubuntu thing is of no help as I'm Windows (7) based.

Does anyone have any other suggestions? Or any other players I can try (though I'm begining to think this is a problem with the hardware and NVidia). I get the same issue using either HDMI or Displayport (on the random chance it was port related).
Thanks again.

huhn
24th July 2017, 20:54
can you try mpc-hc with DXVA copyback and madVR?

and can you post an screen of the madVR OSD (control+j)?

windum
24th July 2017, 23:01
Attached as requested.
MPC-HC 1.7.11, 64bit.

It's using software decompression despite being set to hardware (screenshot of that too).

huhn
24th July 2017, 23:04
sorry but it can take a really long time until i can see the attachments

windum
24th July 2017, 23:18
That's ok. I think they have to go through a moderator. I might be an elaborate setup for a spammer! :-)

I've now tried out PotPlayer too. I can get it to hardware decode, but the same washed-out thing. Actually PotPlayer always looks washed-out whether hardware or software.

huhn
25th July 2017, 04:24
you could upload it on an external image host.

windum
27th July 2017, 17:14
There we are, images approved if anyone wants to take a gander. Still no luck here. :-(

Thoughts welcome. :-)

huhn
27th July 2017, 21:15
i don't know why but you disabled hardware decoding for HEVC and other codecs and the video played it 10 bit so it it most likely HEVC or VP9.

windum
27th July 2017, 23:33
Well, that *partly* did it!

I'd had not spotted those two boxes so they were on the default (unticked). I tweaked the ones above and enabled them (4k), but missed those two (the videos are HEVC).

Blimey, how many places do they make you go to turn one feature on?

So now it's using the GPU at 100%, for the decoding, and 100% of one CPU core, and it can play the 4k movie when the screen res is at 1440p, but not when the screen is at the full 2160p. I do get the full colour range however, which is something.

MPV when in hardware decoding mode can run it fluently at 2160p and with no real GPU/CPU usage (but washed out), so I think MPC-HC is doing the hardware decoding wrong somehow.

nevcairiel
27th July 2017, 23:38
I'd had not spotted those two boxes so they were on the default (unticked).

Considering those boxes are actually enabled by default, not disabled, personally I would question your entire setup, as something or someone may have screwed with all sorts of things, causing who knows what sideeffects.

windum
10th September 2017, 17:26
Considering those boxes are actually enabled by default, not disabled, personally I would question your entire setup, as something or someone may have screwed with all sorts of things, causing who knows what sideeffects.

That's because I (apparently quite foolishly) assumed that because I was using a portable edition, if I deleted it and unzipped a new version, it would reset the settings.
I know it's not my setup because, as per earlier in the thread, I did a clean install of Linux Mint and that exhibited the same problem.

I've now reset the MPC-HC settings using the button in options->miscellaneous.
Using the defaults, it's hardware decoding, but the colours are all washed out.

huhn
11th September 2017, 02:56
so here we go again.

make sure you haven't changed anything in the nvidia control panel.
install and select madVR as the renderer.
play the file and press control + J and make a screen shoot.
go to filter -> copy filter to... and post it.