mpv
mpv copied to clipboard
JPEG screenshots taken with vo=gpu-next appear darker than when taken with vo=gpu
Important Information
Provide following Information:
- mpv version: mpv v0.38.0-63-gb364e4a6
- Platform and Version: Windows 10 22H2
- Source of the mpv binary: https://sourceforge.net/projects/mpv-player-windows/files/64bit-v3
- If known which version of mpv introduced the problem: unknown
- GPU model, driver and version: NVIDIA GeForce GTX 1650, driver version 552.22
Reproduction steps
This is a JPEG screenshot taken by mpv --no-config using the screenshot command:
This is a screenshot taken by mpv --no-config --vo=gpu-next:
The JPEG screenshot taken when using gpu-next appears slightly darker, particularly around the stalactites, than the screenshot taken when using gpu. I'm not sure if screenshot-tag-colorspace affects JPEG screenshots, but just to rule it out, setting --screenshot-tag-colorspace=no does not have any impact.
Expected behavior
JPEG screenshots should have the same brightness.
Actual behavior
There is a difference in brightness between gpu-next and gpu.
Log file
Sample files
Any video file should work, but it is easiest to see the difference when taking screenshots with scenes that are set in low light.
Can't reproduce with a 10-bit source video. Can reproduce with a 8-bit source video. Also confirmed that it doesn't affect the rendered result, but only screenshots.
Sounds like it could be an issue with limited/full range YUV, in the vo_gpu_next code or libplacebo. Screenshots pulled from the GPU are already RGB so the image writer is not at fault.
With --screenshot-tag-colorspace=no the image will be coerced into sRGB before saving. If I had to guess, this is likely because libplacebo does black point compensation but the native color shaders do not.