mpv-player / mpv-player/mpv

VCP Codes Support

Open
#13,634 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

meta:feature-request
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

What are VCP codes

VCP Codes is a industry standard to control Monitors (and some but not all TVs I think)
These codes let users control for example brightness, contrast, indiviual color channels, sharpness, and technics to adjust display modes like Sport, Production, Game Mode. Also gamma, LUT size and so many more

Why

It would have a lot of use cases but for example:
Brightness control of the monitor for night time watching
Sharpness control to disable while watching fullscreen (removes serveral sharpness artifacts introduced by the manufacturer, but highly necessary to be enabled to not have blurred text on OS)

How to implement

There are several open source tools to control VCP over DDC/CI or USB with and without native OS api.
Some values are not allowed/coverd by the manufacturer. Some only in very specific ranges or values.
So as this is a very advanced solution, it should be controlled by the user.
code examples, windows api

I would suggest something like this to control this within mpv

--vcp-sharpness=0
--vcp-sharpness-range=[0-25],[240],[251] #used for scripting or hotkeys (increase / decrease)
--vcp-fullscreen-only=1 

or, to not need to write all possible codes and give the user even more control
--vcp-[ID_in_Hex]=
e.g:

--vcp-D8=253 #value 253 for ID_in_Hex D8 (DisplayMode)
--vcp-D8-range=240,251,253 #used for scripting or hotkeys (increase / decrease)
--vcp-fullscreen-only=1 

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

The issue names no mpv files or tests. Start by reviewing the linked ddcutil VCP examples and Windows SetVCPFeature API, then determine the platform entry points and option scope; done should be defined by an agreed implementation and validation plan for user-controlled VCP values.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.