vo_gpu_next: add --target-contrast-hdr option#18073
Conversation
|
Why not do it with autoprofile? |
Doing such seems more clean, and quite a lot of use cases need it. |
ecc57b5 to
4fde03b
Compare
I don't know, it hardcodes some dubious logic into the C code, when this can be fully achieved with user config if user needs something like that. |
While autoconfig could do this, the users need such config are increasing since windows would enable ACM by default on new version+wide-gamut display. I think teaching every user to manually write a config for this is quite unrealistic.... |
I don't think using inf contrast is required for acm. Could you describe your issue, there is likely misunderstanding here. |
Since ACM is only available to wide-gamut monitor, the contrast of the monitor is highly possible to be higher than 1000:1, even after clamping by color space conversion. And in such case the actual contrast range is not possible for mpv to get in SDR, still assuming 1000:1 would result in washed out color, and |
Then, it's on user to set. "ACM" meaning > 1000:1 contrast is far fetched and I would even say it's wrong. Wide gamut displays like IPS exist for decades and realistically > 1000:1 is OLED of VA only. |
Modern IPS displays(even without local dimming) could also easily reach >1000:1. And old wide-gamut monitors basically have broken edid so ACM couldn't be enabled at all. |
|
And this option is not enabled by default, so existing users won't run into problems either. |
|
I feel like this is a terrible way to go about it. I currently use a different contrast for SDR (9999999), in reality there's probably not much difference between it and inf but using inf feels wrong. This new option wouldn't even help me. I feel like that would help a tonne more people, like those who need to set it to more reasonable values like 1500 for IPS or 3000 for VA ect. while also making it MUCH easier to understand for the same people you were trying to make this for (new users who don't understand auto-profiles). |
That's also a good idea. @kasper93 what's your opinion on this? |
Also I wonder how to achieve this, modify current |
I don't get what's so hard to understand, it would basically just be an override only for HDR. If user doesn't specify anything then don't do anything (defaults to target-contrast), otherwise if it's set and the output is HDR then use the value from target-contrast-hdr (or whatever name) instead. |
|
Done. I've switched to use @Jules-A 's idea. |
I mean... it shouldn't override if you do if since if it's 0 it won't override. |
In this case, if user set |
But it's only going to do if using a HDR colorspace (pl_color_space_is_hdr(color))? Or am I mistaken that apply contrast gets changed on colorspace change but instead just gets set once? |
It seems applied per-frame, so colorspace change should affect this. |
c7085ff to
4f73b6a
Compare
In the code, the max contrast value is defined as 10/PL_COLOR_HDR_BLACK, which actually means 1e7f than 1e6f. So fix the value in documentation. Signed-off-by: Shengyu Qu <wiagn@4d2.org>
Should be helpful for Windows ACM/macOS cases, which only use target-contrast=auto might cause washed out colors. Wayland shouldn't need this since we have mpv-player#17345 Signed-off-by: Shengyu Qu <wiagn@4d2.org>


Should be helpful for Windows ACM/macOS cases, which assuming 1000:1 contrast might result in washed out colors.
Wayland shouldn't need this since we have #17345