-
|
This might be a dumb question (apologies 🙏), but I'm trying to understand current mpv behavior related to YCbCr channel scaling. How does mpv handle downsampling of 4K content (yuv420p[10le]) on a 1080p display? Is there a way to make mpv only scale down the Y plane, and not touch the Cb and Cr planes at all to maintain full color information at that resolution? Would it even be beneficial to do so (or are there some technical limitations of chroma subsampling in the first place)? I've tried capturing my 4K screen showing the rtings chroma test pattern using both I444 and NV12 with the libx264 codec at crf=20 in OBS at 4K, then using Examples:
(the yuv444p downsample)
(the yuv420p downsample) My config file: I'm running kwin_wayland on a 6600 XT (with a secondary Nvidia card) with Linux 6.17.8 and Mesa built 6 days ago from git. Could I be misunderstanding something, missing a config option or perhaps encoding it wrong for yuv420p? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
|
mpv doesn't downsample the luma plane directly. It downsamples the final RGB converted image after the chroma resolution has been upscaled to match the luma resolution. https://github.com/mpv-player/mpv/wiki/Video-output---shader-stage-diagram |
Beta Was this translation helpful? Give feedback.
-
Just use a luma downscaling shader.
But the problem you were talking may be caused by encoding... |
Beta Was this translation helpful? Give feedback.


SSimDownscaler is not a luma downscaler. It is designed to downscale RGB in conjunction with mpv's built-in
catmull_romscaler. What you're looking for is https://github.com/Artoriuz/glsl-luma-downscaler