summaryrefslogtreecommitdiffstats
path: root/input
diff options
context:
space:
mode:
authornanahi <130121847+na-na-hi@users.noreply.github.com>2024-03-02 20:33:02 -0500
committersfan5 <sfan5@live.de>2024-03-11 21:29:57 +0100
commit27fb4c474f5ca850470cd07dfc789ba8bf94b35c (patch)
tree02b3c8d31a631fbc7e96bfc535b0b0079bc02ce8 /input
parent084a8782e39a80291817593c50f68633a2ab8ef0 (diff)
downloadmpv-27fb4c474f5ca850470cd07dfc789ba8bf94b35c.tar.bz2
mpv-27fb4c474f5ca850470cd07dfc789ba8bf94b35c.tar.xz
vo_gpu: fix broken chroma plane for rotated semi-planar formats
For image formats with 2 or more chroma planes such as YU12, there is a plane merging pass for these planes calling finish_pass_tex which does a format conversion. After this conversion, the cscale shader afterwards works properly. However, for image formats with only 1 chroma plane (semi-planar formats), including NV12 and P010, this merging pass is never called, which breaks the cscale shader afterwards if the video is rotated with subsampled chroma. Fix this by adding an explicit conversion pass if this situation is detected after the pre-scale hooks, so if there are shaders hooking on CHROMA (like the deband filter) and the conversion is done by pass_hook already, this conversion won't be called.
Diffstat (limited to 'input')
0 files changed, 0 insertions, 0 deletions