mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Using target-colorspace-hint=yes in sdr mode shows wrong colors in fullscreen

Open mnisius opened this issue 2 years ago • 4 comments

Important Information

Provide following Information:

  • mpv version: latest shinchiro build
  • Platform and Version: windows 10
  • Source of the mpv binary: latest shinchiro build

Reproduction steps

Use this config: target-colorspace-hint=yes

Set Desktop to SDR, start a HDR movie. Toggle fullscreen. My TV then switches to HDR Mode but the colors look wrong. Faces look yellow (the actors look kind of sick). Red colors are toned down by a lot.

I can fix this manually if I force my TV to recognize the signal as BT.2020. Then the colors look correct but in Auto Mode it assumes BT.709 and everything looks wrong.

Expected behavior

TV is switched to HDR Mode with BT.2020 and the colors look right

Actual behavior

TV is switched to HDR Mode but with BT.709 color space, mpv however is using BT.2020 and the colors look wrong.

Log file

mpv.log

Sample files

it works with any hdr movie but you need an hdr screen to test it.

mnisius avatar Apr 07 '23 14:04 mnisius

I'm experiencing something similar with my AW3423DW on Windows 11. When I play SDR content using target-colorspace-hint=yes it all looks very dim and washed out. This is true whether Windows HDR mode is enabled or disabled, and true in both full screen and windowed mode.

I have a fairly simple mpv.conf file so I'll just post the contents here:

vo=gpu-next gpu-api=vulkan hwdec=no target-colorspace-hint=yes target-peak=960 scale=ewa_lanczos dscale=mitchell interpolation=yes tscale=sphinx tscale-radius=0.49 tscale-blur=0.6991556596428412

dontpokethebear3893 avatar May 12 '23 00:05 dontpokethebear3893

Experiencing the same thing in the newest nightly build (mpv-x86_64-v3-20250608-git-a418d21). Can also confirm like @dontpokethebear3893 that MPC-HC + MadVR is doing the right thing.

Tried several combinations of settings with no success (vo, gpu-api, hwdec, target-colorspace-hint, target-constrast).

target-prim=bt.2020
target-trc=pq

also has no effect

Something strange is happening where BT.709 is being sent even though mpv correctly recognizes my display as being capable of BT.2020. Trying to force BT.2020 on the TV doesn't fix the problem.

zh4ngx avatar Jun 08 '25 05:06 zh4ngx

@mnisius noticed my logs look like yours, in particular, these lines:

[vo/gpu-next/d3d11] Queried output: \\.\DISPLAY1, 3840x2160 @ 10 bits, colorspace: RGB_FULL_G22_NONE_P709 (0)
...
[vo/gpu-next/d3d11] Selected swapchain format R10G10B10A2_UNORM (24), attempting to utilize it.
[vo/gpu-next/d3d11] Selected swapchain color space RGB_FULL_G22_NONE_P709 (0), attempting to utilize it.

looks like it recognizes HDR but not BT.2020

zh4ngx avatar Jun 08 '25 06:06 zh4ngx

Should be fixed now by #16512

See for more info: https://mpv.io/manual/master/#options-target-colorspace-hint https://mpv.io/manual/master/#options-target-colorspace-hint-mode

kasper93 avatar Jul 11 '25 22:07 kasper93