mpv-player / mpv-player/mpv

Infinite contrast with ICC profile without black point data

Open
#18,252 4 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

mpv Information
mpv v0.41.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
 built on Dec 25 2025 15:27:46
libplacebo version: v7.358.0 (v7.351.0-106-gbc90ef9-dirty)
FFmpeg version: N-122267-gabb152413
FFmpeg library versions:
   libavcodec      62.23.102
   libavdevice     62.2.100
   libavfilter     11.10.101
   libavformat     62.8.101
   libavutil       60.20.100
   libswresample   6.2.100
   libswscale      9.3.100
Other Information
- Windows version: 11 24h2 26100.4061
- GPU model, driver and version: GTX1070, 582.28
- Monitor: Dell h2421hs [SDR]
- Source of mpv: winget
- vo=gpu-next
Reproduction Steps

Enabling ICC profile makes near-black regions noticeably darker than without it.

Tested with Dell factory ICC profile, and with the standard Windows "sRGB IEC61966-2.1" ICC profile.

The default (non-ICC) rendering closely matches madVR configured as:

  • This display is already calibrated
  • Pure power curve 2.20

The issue is identical with Vulkan and D3D11.

The following options made no visible difference:
--target-trc=gamma2.2
--icc-use-luma=no
--icc-force-contrast=1000

logfile says:
[v][vo/gpu-next/libplacebo] Opened ICC profile:
Raw black point: X=0.000000% Y=0.000000% Z=-0.000000%
Contrast = 203 cd/m^2 : 0.001 mcd/m^2 ≈ 203000000 : 1
Measured primaries:
White: x=0.312696, y=0.329020
Red: x=0.649, y=0.336
Green: x=0.310, y=0.618
Blue: x=0.146, y=0.055
Containing primaries: ITU-R Rec. BT.2020 (Ultra HD)
Transfer function: IEC 61966-2-4 sRGB (CRT emulation)

Even when using:

--icc-force-contrast=1000

the log still reports the same contrast value.

Q: Is the reported black point of zero and the resulting ~203,000,000:1 contrast expected for a normal SDR ICC profile?
P.S. --vo=gpu - no image, just grey screen. --vo=direct3d has no issue (maybe cuz it doesn't load profile?)

Expected Behavior

mpv --no-config

Result:

  • correct black level
  • visually matches madVR
Image
Actual Behavior

mpv --no-config --icc-profile-auto=yes
or

mpv --no-config --icc-profile="C:\Windows\System32\spool\drivers\color\sRGB Color Space Profile.icm"

Result:

  • darker near-blacks / shadow detail
  • visible difference from baseline
Image
Log File

output.txt

I carefully read all instruction and confirm that I did the following:
  • I tested and confirmed that the issue exists with the latest release version or newer.
  • I provided all required information including system and mpv version.
  • I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • I attached the full, untruncated log file.

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 difference between --icc-profile-auto=yes or --icc-profile and the no-config baseline with --vo=gpu-next, using the attached output.txt to inspect the reported black point and contrast. Compare the Vulkan and D3D11 results, then verify that ICC-enabled rendering preserves the expected SDR black level without the reported extreme contrast.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.