mpv-player / mpv-player/mpv

colorspace-hint does not signal the display to use HLG transfer function

Open
#12,461 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information
Reproduction steps

When you run an HDR video with the following parameters, an HDR compatible display is signaled to switch to its HDR mode with PQ transfer, and the video is displayed correctly when in fullscreen. It does not trigger the Windows HDR toggle (making everything outside of mpv look off with the PQ trc, but no matter).
--vo=gpu-next --target-colorspace-hint=yes --gpu-api=vulkan
However, when playing an HLG video on a supported display, it would be optimal to signal the display to run with HLG trc, but it still runs in PQ. I'm using an LG C1, with support for HDR10, HLG and DV. By using --target-trc=hlg and then manually going into the display's HDMI override settings to switch to HLG TRC, I can get the intended look of the video, which is what you'll find the in comparison above.

Is this a bug? Or is HLG signaling avoided in favor of PQ for compatibility reasons?

Log file

output.txt

Sample files

This is the sample used in the comparison https://files.fm/u/nu8tucfq7
But any HLG file will have the same results.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with --vo=gpu-next, --target-colorspace-hint=yes, and --gpu-api=vulkan using an HLG sample, then inspect output.txt and the behavior described in the comparison. Trace how --target-trc=hlg and the display signaling are handled; done means HLG content produces the intended display transfer behavior, or the compatibility rationale is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.