Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows 10 "Use HDR" enabled causes color washout when full screen #7892

Closed
jcdick1 opened this issue Jul 9, 2020 · 16 comments
Closed

Windows 10 "Use HDR" enabled causes color washout when full screen #7892

jcdick1 opened this issue Jul 9, 2020 · 16 comments
Labels
os:win priority:stale Issue is too old and is unclear if it's even applicable anymore vo:gpu:d3d11

Comments

@jcdick1
Copy link

jcdick1 commented Jul 9, 2020

Important Information

Provide following Information:

  • mpv 0.32 stable
  • Windows 10
  • Radeon RX580 GPU
  • Download from mpv git
  • LG 4K HDR television

Reproduction steps

Open "display settings" in Windows 10
Enable "Use HDR"
Watch in fullscreen - color is washed out
Switch to windowed mode - colors are as expected

Expected behavior

Bright color, regardless of viewing mode

Actual behavior

Washed out color in fullscreen mode
Screenshots: https://imgur.com/a/jf9TRvp

Log file

mpv_log.txt

The issue will be closed for ignoring the issue template.

Sample files

Sample files needed to reproduce this issue can be uploaded to https://0x0.st/
or similar sites. (Only needed if the issue cannot be reproduced without it.)
Do not use garbage like "cloud storage", especially not Google Drive.

@jcdick1 jcdick1 added the os:win label Jul 9, 2020
@Doofussy2
Copy link

You're display is running in 8 bit

[   0.139][v][vo/gpu/d3d11] Queried output: \\.\DISPLAY1, 3840x2160 @ 8 bits, colorspace: RGB_FULL_G2084_NONE_P2020 (12)
[   0.139][v][vo/gpu/d3d11] Selected swapchain format R8G8B8A8_UNORM (28), attempting to utilize it.

How have you configured your GPU? Under advanced display settings in Windows, what do you see?

@FrancoisRibiere
Copy link

FrancoisRibiere commented Jul 25, 2020

Provide following Information:

  • mpv 0.32 stable
  • Windows 10
  • Radeon RX580 GPU
  • Download from mpv git
  • LG 4K HDR television

I had the same issue and mpv version, a Radeon RX470 (last driver whql), windows 10 x64 19042

Since the change of my monitor to a BenQ 4K 10 bits HDR, the full screen mode displayed the same whashout video.
With help of read here some issues, I check several execution to get the good combination : No more dimmed video, if I use one of theses command options : --d3d11-output-csp=srgb (without error), --d3d11-output-format=rgba16f ok but errors, then --d3d11-output-format=rgba16f, but also with log errors.
And.. I changed the Radeon global display settings, from 8 bits RGB 4:4:4, to 10 bits YCbCr 4:2:2 (this GPU don't seem to be compatible with 4:4:4 in 10 bits). The command mpv's options are now useless.

I think the issue (for me) is from the GPU compatibility.
Maybe I'm wrong...

Solution edit : The issue came from the fact that Windows 10 and the monitor had to be on the same way : Both HDR (not by default on my monitor, and not easy to found) or none HDR. But when it is mixed, ouch :/

@Provissy
Copy link

When I switch to fullscreen, mpv actively disables display's HDR functionality (on Radeon RX570 Vulkan), then output tone mapped SDR video. I assume mpv currently has some compatibility issue with Windows' built in HDR management...

@Provissy
Copy link

Could you please share your config file?

@Doofussy2
Copy link

Post your mpv.conf, but you should probably do the same as above, and configure your GPU the same way. And have Windows/your display, be in HDR all the time. That's what I do with my Nvidia GPU.

Annotation 2020-08-24 201822

Annotation 2020-08-24 201744

@majkinetor
Copy link

majkinetor commented Feb 16, 2021

I have the same problem. I was using SMPlayer when I noticed this. It happens only with gpu video output. Direct3d doesn't have that problem.

Log

mpv.exe --no-config --no-quiet --terminal --no-msg-color --input-ipc-server=C:/Users/media/AppData/Local/Temp/smplayer-mpv-1e9c --msg-level=ffmpeg/demuxer=error --no-fs --demuxer=lavf --hwdec=auto --sub-auto=fuzzy --vo=gpu, --priority=normal --no-input-default-bindings --input-vo-keyboard=no --no-input-cursor --cursor-autohide=no --no-keepaspect --wid=2033358 --monitorpixelaspect=1 --osd-level=1 --osd-scale=0.60000000000000009 --osd-bar-align-y=0.64 --sub-ass --embeddedfonts --sub-ass-line-spacing=0 --sub-scale=1 --sub-codepage=ISO-8859-1 --vid=1 --alang=English --slang=English --sub-pos=100 --volume=79 --cache=auto --start=81 --index=default --no-correct-pts --screenshot-template=cap_%F_%p_%02n --screenshot-format=jpg --screenshot-directory=C:\Users\media\Pictures\smplayer_screenshots --audio-pitch-correction=yes --af-add=@aeq:lavfi=[firequalizer=gain='cubic_interpolate(f)':zero_phase=on:wfunc=tukey:delay=0.027:gain_entry='entry(0,0);entry(62.5,0);entry(125,0);entry(250,0);entry(500,0);entry(1000,0);entry(2000,0);entry(4000,0);entry(8000,0);entry(16000,0)'] --volume-max=100 --term-playing-msg=MPV_VERSION=${=mpv-version:}

--term-status-msg=STATUS: ${=time-pos} / ${=duration:${=length:0}} P: ${=pause} B: ${=paused-for-cache} I: ${=core-idle} VB: ${=video-bitrate:0} AB: ${=audio-bitrate:0} C:/Users/media/Downloads/Brooklyn.Nine-Nine.S01.1080p.AMZN.WEBRip.DDP5.1.x264-TrollHD[rartv]/Brooklyn Nine-Nine S01E10 1080p WEB-DL DD+ 5.1 x264-TrollHD.mkv

(+) Video --vid=1 () 'Brooklyn Nine-Nine S01E10' (h264 1920x1080 23.976fps)
(+) Audio --aid=1 --alang=eng (
) 'English' (eac3 6ch 48000Hz)
File tags:
Title: Brooklyn Nine-Nine S01E10
Using hardware decoding (d3d11va).
(+) Video --vid=1 () 'Brooklyn Nine-Nine S01E10' (h264 1920x1080 23.976fps)
(+) Audio --aid=1 --alang=eng (
) 'English' (eac3 6ch 48000Hz)
Subs --sid=1 (*) (eia_608)
AO: [wasapi] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 d3d11[nv12]
INFO_VIDEO_DSIZE=1920x1080
MPV_VERSION=mpv 0.33.0

I am using:

  • lg-oled55gx6la 4k HDR TV
  • Windows 10 with HDR enabled
  • Asus Mini-PC-PN50 with Integrated - Radeon Vega Graphics.

@amariami
Copy link

amariami commented Feb 27, 2021

Yep i got same problem with > --vo=gpu
Screenshot 2021-02-27 135755
Screenshot 2021-02-27 135940

switch to > --vo=direct3d works well but --hwdec=d3d11va or d3d11va-copy and conditional auto profiles can't be used,
Screenshot 2021-02-27 141506
Screenshot 2021-02-27 141855

playing with MPV-EASY Player, output driver set gpu or direct3d works fine
Screenshot 2021-02-27 140737

using SVP (Smooth video project) on 2nd PC never get the problem.
To be clear on 1st PC just installed fresh MPV

@Doofussy2
Copy link

You're forcing it to 8 bit. Are you wanting tone-mapping or to pass the metadata to the display?

@Doofussy2
Copy link

But you have Windows with HDR enabled. If you want tone-mapping, why enable HDR? But if you're using the second monitor to watch video, which is in 8 bit SDR, you probably want to configure the swapchain to sRGB.

--d3d11-output-csp=srgb

https://mpv.io/manual/master/#options-d3d11-output-csp

@amariami
Copy link

amariami commented Feb 28, 2021

Uhh... my bad

Please show MediaInfo anyway.
Screenshot 2021-02-27 170126

@amariami
Copy link

amariami commented Feb 28, 2021

Yes, it is SDR. BT.2020 (12-bit) is the same transfer as BT.709, so SDR transfer. And BTW, it is not allowed for 8 bit.
Also I very much doubt your file is constant luminance matrix (BT.2020 constant).

As to why it is different, just like YCgCo, BT.2020 for SDR (not to say CL matrix) is only supported on normal HW accel. While --vo=gpu is 💩. (See #4340.)

Also full range is more or less broken in MPV (though I know only about HDR)...

My problem solved :)
--vo=gpu # gpu|direct3d
--hwdec=auto-copy-safe # Recommended:<auto-safe|auto-copy-safe|auto-copy>
--hwdec-codecs=all
Screenshot 2021-02-27 215010
here mpv.conf
mpv.conf.txt

Of course, good hardware like Ryzen 3700X or Intel 10400 is fool-proof then I tried on poorer (crappy) hardware condition too to make a sense,

  • Mobile laptop Intel Dual Core with Hyperthreading + IntelHD-520
  • Mobile laptop AMD Dual-Core without Simultaneous Multi-Threading E-350 Zacate + Radeon HD-6310 (Yep crappy ancient laptop just for fun, seriously don't deal with that XD)

(*Update)
for automatically turn on or off interpolation depends on fps set
mpv.conf
--video-sync=display-resample
--interpolation
[default]
profile-desc=:(p["estimated-vf-fps"]>=31) ## automatically turn off interpolation when fps is way more than 30 fps (please set input.conf too)
--interpolation-threshold=-1
--video-sync=audio
https://mpv.io/manual/master/#options-video-sync

input.conf
i cycle-values interpolation "yes" "no" # default <script-binding stats/display-stats>
y cycle-values video-sync "display-resample" "audio"
https://mpv.io/manual/master/#command-interface-cycle-values

@amariami
Copy link

You can also try to force bt.2020-ncl ;) I doubt your file is really CL. Though you know better, but in my case the only 8K stream from satellite I had with CL was out-of-gamut and was fixed by using NCL.

Yep crappy ancient laptop just for fun,

Your file is just a color conversion on top of very standard 8 bit avc, color management is practically free here.

thanks, I gotcha

@majkinetor
Copy link

OMG, WTF are you guys talking about?! Now I need to educate myself about all of this instead click play and move on with life.

Just ignore my loud ranting ...

@amariami
Copy link

amariami commented Mar 1, 2021

Now I need to educate myself about all of this instead click play and move on with life.

it might help
1. https://iamscum.wordpress.com/guides/videoplayback-guide/
2. https://iamscum.wordpress.com/guides/videoplayback-guide/mpv-conf/
3. https://kokomins.wordpress.com/2019/10/14/mpv-config-guide/

FAQ https://github.com/mpv-player/mpv/wiki/FAQ
Config https://github.com/mpv-player/mpv/wiki
Video metadata https://mediaarea.net/en/MediaInfo/Download
hardware acceleration checker https://bluesky-soft.com/en/DXVAChecker.html

@Dudemanguy Dudemanguy added the priority:stale Issue is too old and is unclear if it's even applicable anymore label Aug 9, 2023
@Dudemanguy
Copy link
Member

OP never responded again but also this just seemed like a configuration issue on his part? Closing for now.

@lyndonguitar
Copy link

Yes, it is SDR. BT.2020 (12-bit) is the same transfer as BT.709, so SDR transfer. And BTW, it is not allowed for 8 bit.
Also I very much doubt your file is constant luminance matrix (BT.2020 constant).
As to why it is different, just like YCgCo, BT.2020 for SDR (not to say CL matrix) is only supported on normal HW accel. While --vo=gpu is 💩. (See #4340.)
Also full range is more or less broken in MPV (though I know only about HDR)...

My problem solved :) --vo=gpu # gpu|direct3d --hwdec=auto-copy-safe # Recommended:<auto-safe|auto-copy-safe|auto-copy> --hwdec-codecs=all Screenshot 2021-02-27 215010 here mpv.conf mpv.conf.txt

Of course, good hardware like Ryzen 3700X or Intel 10400 is fool-proof then I tried on poorer (crappy) hardware condition too to make a sense,

  • Mobile laptop Intel Dual Core with Hyperthreading + IntelHD-520
  • Mobile laptop AMD Dual-Core without Simultaneous Multi-Threading E-350 Zacate + Radeon HD-6310 (Yep crappy ancient laptop just for fun, seriously don't deal with that XD)

(*Update) for automatically turn on or off interpolation depends on fps set mpv.conf --video-sync=display-resample --interpolation [default] profile-desc=:(p["estimated-vf-fps"]>=31) ## automatically turn off interpolation when fps is way more than 30 fps (please set input.conf too) --interpolation-threshold=-1 --video-sync=audio https://mpv.io/manual/master/#options-video-sync

input.conf i cycle-values interpolation "yes" "no" # default <script-binding stats/display-stats> y cycle-values video-sync "display-resample" "audio" https://mpv.io/manual/master/#command-interface-cycle-values

Hi, just wanted to say. I am having problems with HDR and MPV. when I pause a video, the screen is super saturated. Its a minor thing, but somewhat annoying.

Using your settings here, the problem was completely gone. Then I just further edited the configs to fit my use case.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
os:win priority:stale Issue is too old and is unclear if it's even applicable anymore vo:gpu:d3d11
Projects
None yet
Development

No branches or pull requests

10 participants