Need Help Using RTINGS ICC Profile with MPV
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 37k
- Forks
- 3.5k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 22
Description
mpv Information
D:\mpv-x86_64-v3-20260211-git-3847a81>mpv -v
[cplayer] Command line options: '-v'
[cplayer] mpv v0.41.0-173-g3847a8157 Copyright © 2000-2026 mpv/MPlayer/mplayer2 projects
[cplayer] built on Feb 10 2026 12:11:58
[cplayer] libplacebo version: v7.360.0 (v7.351.0-153-gb2ea27d-dirty)
[cplayer] FFmpeg version: N-122712-g7e3781e3c
[cplayer] FFmpeg library versions:
[cplayer] libavcodec 62.23.103
[cplayer] libavdevice 62.2.100
[cplayer] libavfilter 11.12.100
[cplayer] libavformat 62.9.100
[cplayer] libavutil 60.24.100
[cplayer] libswresample 6.2.100
[cplayer] libswscale 9.3.100
[cplayer] Configuration: -Ddebug=true -Db_ndebug=true -Doptimization=3 -Db_lto=true -Db_lto_mode=thin -Dlibmpv=true -Dpdf-build=enabled -Dlua=enabled -Djavascript=enabled -Dsdl2-gamepad=enabled -Dlibarchive=enabled -Dlibbluray=enabled -Ddvdnav=enabled -Duchardet=enabled -Drubberband=enabled -Dlcms2=enabled -Dopenal=enabled -Dspirv-cross=enabled -Dvulkan=enabled -Dvapoursynth=enabled -Dsubrandr=enabled -Dgl=enabled -Degl-angle=enabled -Dc_args=-Wno-error=int-conversion -Dprefix=/__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64-v3/install/x86_64-w64-mingw32 -Dlibdir=/__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64-v3/install/x86_64-w64-mingw32/lib -Ddefault_library=shared -Dprefer_static=True --cross-file=/__w/mpv-winbuild/mpv-winbuild/mpv-winbuild-cmake/build64-v3/meson_cross.txt
[cplayer] List of enabled features: amf build-date cplugins cuda-hwaccel cuda-interop d3d-hwaccel d3d11 d3d9-hwaccel debug direct3d dos-paths dvdnav dxgi-debug-d3d11 egl-angle egl-angle-win32 ffmpeg ffnvcodec gl gl-dxinterop gl-dxinterop-d3d9 gl-win32 glob glob-win32 gpl iconv javascript jpeg lcms2 libarchive libass libavdevice libbluray libplacebo luajit openal rubberband rubberband-3 sdl2-gamepad shaderc spirv-cross subrandr uchardet vaapi vaapi-win32 vapoursynth vector vulkan wasapi win32 win32-desktop win32-executable win32-smtc win32-threads zimg zimg-st428 zlib
[cplayer] Built with NDEBUG.
[cplayer] Reading config file D:/mpv-x86_64-v3-20260211-git-3847a81/portable_config/mpv.conf
[ifo_dvdnav] Opening D:/mpv-x86_64-v3-20260211-git-3847a81/portable_config/mpv.conf
[bdmv/bluray] Opening D:/mpv-x86_64-v3-20260211-git-3847a81/portable_config/mpv.conf
[file] Opening D:/mpv-x86_64-v3-20260211-git-3847a81/portable_config/mpv.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'vo' = 'gpu-next' (flags = 4)
[cplayer] Setting option 'gpu-api' = 'd3d11' (flags = 4)
[cplayer] Setting option 'hwdec' = 'auto-copy' (flags = 4)
[cplayer] Setting option 'target-prim' = 'bt.2020' (flags = 4)
[cplayer] Setting option 'target-trc' = 'srgb' (flags = 4)
[cplayer] Setting option 'target-colorspace-hint' = 'no' (flags = 4)
[cplayer] Setting option 'icc-profile-auto' = 'no' (flags = 4)
[cplayer] Setting option 'icc-profile' = '' (flags = 4)
[cplayer] Setting option 'gamut-mapping-mode' = 'relative' (flags = 4)
[cplayer] Setting option 'tone-mapping' = 'clip' (flags = 4)
[cplayer] Setting option 'v' = '' (flags = 8)
[clipboard] Initialized win32 clipboard backend.
[cplayer] mpv v0.41.0-173-g3847a8157 Copyright © 2000-2026 mpv/MPlayer/mplayer2 projects
[cplayer] built on Feb 10 2026 12:11:58
[cplayer] libplacebo version: v7.360.0 (v7.351.0-153-gb2ea27d-dirty)
[cplayer] FFmpeg version: N-122712-g7e3781e3c
[cplayer] FFmpeg library versions:
[cplayer] libavcodec 62.23.103
[cplayer] libavdevice 62.2.100
[cplayer] libavfilter 11.12.100
[cplayer] libavformat 62.9.100
[cplayer] libavutil 60.24.100
[cplayer] libswresample 6.2.100
[cplayer] libswscale 9.3.100
[cplayer] Usage: mpv [options] [url|path/]filename
[cplayer]
[cplayer] Basic options:
[cplayer] --start=<time> seek to given (percent, seconds, or hh:mm:ss) position
[cplayer] --no-audio do not play sound
[cplayer] --no-video do not play video
[cplayer] --fs fullscreen playback
[cplayer] --sub-file=<file> specify subtitle file to use
[cplayer] --playlist=<file> specify playlist file
[cplayer]
[cplayer] --list-options list all mpv options
[cplayer] --h=<string> print options which contain the given string in their name
[cplayer] Set property: user-data/osc/visibility="auto" -> 1
[cplayer] Set property: user-data/osc/margins={"b":0,"r":0,"t":0,"l":0} -> 1
Other Information
- Windows version: 11 pro
- GPU model, driver and version: RTX 5060 Ti 16GB latest driver
- Source of mpv: zhongfly
Reproduction Steps
Hey everyone, I’m trying to get MPV on Windows 11 (HDR disabled) to accurately display SDR content using the RTINGS ICC profile for the GIGABYTE M27Q-P. I’ve gone through many experiments and here’s the situation:
Using vo=gpu-next + icc-profile-auto=yes and targeting Rec.709 or sRGB often results in oversaturated colors.
Tricks like faking target-prim=bt.2020 and disabling ICC make the colors look like Photos, but this is a visual hack — not accurate color management.
I want to use the RTINGS ICM properly, ideally via either:
libplacebo generating the 3D LUT automatically from the ICC, or
generating a .cube file in DisplayCAL from the ICC (Rec.709 → monitor) and loading it in MPV with icc-profile-auto=no.
My questions:
1- Why it looks oversaturate using just the settings below :
vo=gpu-next
gpu-api=d3d11
hwdec=auto-copy
Couldn't get the screenshot to look the same as display (too saturated video output like neon while screenshot is less saturated).
2- Using icm profile reults in less saturation but still oversaturated :
vo=gpu-next
gpu-api=d3d11
hwdec=auto-copy
icc-profile-auto=yes
3- Using the settings below gives less saturation which is more accurate but still more saturated than how it should looks in my opinion :
This time screenshot is same as previous screenshots but matches video output
vo=gpu-next
gpu-api=d3d11
hwdec=auto-copy
# --- THE "DE-SATURATOR" FIX ---
# We lie to MPV and say the monitor is BT.2020.
# This causes sRGB/P3 colors to be "pulled in" and look natural/flat.
target-prim=bt.2020
target-trc=srgb
# --- REMOVE INTERFERENCE ---
# Stops Windows from "suggesting" HDR colors to MPV
target-colorspace-hint=no
icc-profile-auto=no
icc-profile=""
# --- NATURAL MAPPING ---
# 'relative' ensures white stays white.
# 'clip' prevents the "HDR glow" in highlights.
gamut-mapping-mode=relative
tone-mapping=clip
4- Tried DisplayCAL-3DLUT-maker for converting the rtings icm profile to .cube settings below :
#Same code as above but with cube file
vo=gpu-next
gpu-api=d3d11
hwdec=auto-copy
target-prim=bt.2020
target-trc=srgb
target-colorspace-hint=no
icc-profile-auto=no
icc-profile=""
lut="D:\Perceptual cube\rtings-perceptual.cube"
lut-type=native
gamut-mapping-mode=relative
tone-mapping=clip
This time screenshot is more saturated than video output (washed out less sautrated video than previous results) but the colors are slightly different in previous screenshots this screenshot is more accurate in my opinion
Are my DisplayCAL-3DLUT-maker settings correct?
If I remove the clip back to oversaturation (couldn't make a screenshot that matches display ouput) even with the cube file, what am I missing?
Expected Behavior
I am expecting the video output to be like the following result when using .cube :
Also is there a way to improve shadow details (the black shirt on the right looks crushed)?
Actual Behavior
Couldn't take a screenshot that matches video output but using the following conf results in a washed out video while screenshot of that video is accuarate in my opinion :
vo=gpu-next
gpu-api=d3d11
hwdec=auto-copy
# --- THE "DE-SATURATOR" FIX ---
# We lie to MPV and say the monitor is BT.2020.
# This causes sRGB/P3 colors to be "pulled in" and look natural/flat.
target-prim=bt.2020
target-trc=srgb
# --- REMOVE INTERFERENCE ---
# Stops Windows from "suggesting" HDR colors to MPV
target-colorspace-hint=no
icc-profile-auto=no
icc-profile=""
lut="D:\Perceptual cube\rtings-perceptual.cube"
lut-type=native
# --- NATURAL MAPPING ---
# 'relative' ensures white stays white.
# 'clip' prevents the "HDR glow" in highlights.
gamut-mapping-mode=relative
tone-mapping=clip
If need to change these settings for more accuracy please let me know :
Log File
The log generated using this conf :
vo=gpu-next
gpu-api=d3d11
hwdec=auto-copy
# --- THE "DE-SATURATOR" FIX ---
# We lie to MPV and say the monitor is BT.2020.
# This causes sRGB/P3 colors to be "pulled in" and look natural/flat.
target-prim=bt.2020
target-trc=srgb
# --- REMOVE INTERFERENCE ---
# Stops Windows from "suggesting" HDR colors to MPV
target-colorspace-hint=no
icc-profile-auto=no
icc-profile=""
lut="D:\Perceptual cube\rtings-perceptual.cube"
lut-type=native
# --- NATURAL MAPPING ---
# 'relative' ensures white stays white.
# 'clip' prevents the "HDR glow" in highlights.
gamut-mapping-mode=relative
tone-mapping=clip
Sample Files
No response
I carefully read all instruction and confirm that I did the following:
- I tested with the latest mpv version to validate that the issue is not already fixed.
- 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.
- I attached the backtrace in the case of a crash.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or failing test is identified. Start by reviewing portable_config/mpv.conf alongside output.txt and reproduce the reported differences using the listed ICC and LUT settings; done would require a confirmed, reproducible defect and a specific mpv code or documentation change.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100