-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Description
mpv Information
Tested with brew installed mpv:
low-batt@gag issue-5912$ mpv --version
mpv v0.41.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
libplacebo version: v7.351.0
FFmpeg version: 8.0.1
FFmpeg library versions:
libavcodec 62.11.100
libavdevice 62.1.100
libavfilter 11.4.100
libavformat 62.3.100
libavutil 60.8.100
libswresample 6.1.100
libswscale 9.1.100
As well as my own build from the master branch:
low-batt@gag mpv-build (master %=)$ mpv/build/mpv --version
mpv v0.41.0-162-g9ccd8899f Copyright © 2000-2026 mpv/MPlayer/mplayer2 projects
built on Feb 6 2026 21:51:06
libplacebo version: v7.358.0 (v7.351.0-147-g1a7f88fd)
FFmpeg version: n8.0.1
FFmpeg library versions:
libavcodec 62.11.100
libavdevice 62.1.100
libavfilter 11.4.100
libavformat 62.3.100
libavutil 60.8.100
libswresample 6.1.100
libswscale 9.1.100Other Information
- macOS version: macOS 15.7.2 (24G325)
- Source of mpv: brew installed as well as my own master build
- Latest known working version: unknown
- Issue started after the following happened: unknown
Reproduction Steps
Changing icc-profile-auto dynamically using the JSON IPC interface when --vo=libmpv is specified only works when sending no to disable use of the ICC profile. Sending yes does not enable use of the ICC profile. If mpv is invoked with --vo=gpu or --vo=gpu-next then icc-profile-auto can be toggled on and off successfully.
This problem originates from an investigation into IINA issue iina/iina#5912
On my MacBook Pro running macOS Sequoia 15.7.2 and attached to a LG UltraFine display I set the macOS Color profile to Rec. ITU-R BT.2020-1. Wtih this configuration displaying the PNG file attached to that IINA issue differs depending on whether the ICC profile is used or not so I can see if icc-profile-auto is working or not.
Running mpv with this command:
mpv --no-config --gpu-debug --log-file=output.txt --hidpi-window-scale=yes --icc-profile-auto=yes --input-ipc-server=/tmp/mpv-socket --pause --vo=libmpv 545511771-9dd72097-8afe-41d9-8632-4d02884489cf.png
The PNG looks like this:
Upon running this command in Terminal:
echo '{ "command": ["set_property", "icc-profile-auto", "no"] }' | socat - /tmp/mpv-socket | jq
The PNG looks like this:
Running this should reapply the ICC profile:
echo '{ "command": ["set_property", "icc-profile-auto", "yes"] }' | socat - /tmp/mpv-socket | jq
But the image does not change.
With --vo=gpu or --vo=gpu-next the mpv correctly responds to dynamic changes to icc-profile-auto.
Expected Behavior
Dynamically setting icc-profile-auto behaves the same way whether --vo is set to libmpv, gpu or gpu-next.
Actual Behavior
With --vo=libmpv icc-profile-auto can be dynamically disabled, but cannot be dynamically enabled like it can with --vo=gpu and --vo=gpu-next.
Log File
Sample Files
I am testing with the PNG file attached to IINA issue iina/iina#5912
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.

