mpv: Overhaul selection of shader-based scalers

This removes ravu-zoom and ravu-lite in favour of standard ravu. It also
adds more nnedi3 shaders with neurons between 2^4 and 2^8, each with a
window size of 8x4. This should give a wide range of options that work
on all machines and still give acceptable results (at least balanced to
the performance).

The reason for this switch is ravu’s subpar performance, since it often
produces more artifacts than it avoids.

It also avoids some code duplication at the cost of making it more
complex.
This commit is contained in:
Simon Bruder 2022-03-14 22:57:35 +01:00
parent 13a0afa269
commit 8f7403e66f
Signed by: simon
GPG key ID: 8D3C82F9F309F8EC

View file

@ -130,23 +130,24 @@ in
"c" = "cycle-values audio-channels stereo mono auto"; "c" = "cycle-values audio-channels stereo mono auto";
# Cycle between smart scalers (and /dev/null = disabled) # Cycle between smart scalers (and /dev/null = disabled)
"K" = cycleShaders [ "K" = cycleShaders
"${mpv-prescalers}/compute/ravu-lite-r4.hook" ((map
"${mpv-prescalers}/compute/ravu-lite-r3.hook" (radius: "${mpv-prescalers}/compute/ravu-r${toString radius}.hook")
"${mpv-prescalers}/compute/ravu-lite-r2.hook" [
"/dev/null" 4
]; 3
"Alt+K" = cycleShaders [ 2
"${mpv-prescalers}/compute/ravu-zoom-r4-yuv.hook" ]) ++ [ "/dev/null" ]);
"${mpv-prescalers}/compute/ravu-zoom-r3-yuv.hook" "Alt+k" = cycleShaders
"${mpv-prescalers}/compute/ravu-zoom-r2-yuv.hook" ((map
"/dev/null" (neurons: "${mpv-prescalers}/compute/nnedi3-nns${toString neurons}-win8x4.hook")
]; [
"Alt+k" = cycleShaders [ 256
"${mpv-prescalers}/compute/nnedi3-nns256-win8x4.hook" 128
"${mpv-prescalers}/compute/nnedi3-nns128-win8x4.hook" 64
"/dev/null" 32
]; 16
]) ++ [ "/dev/null" ]);
# Toggle pitchcontrol # Toggle pitchcontrol
"Ctrl+p" = "script-message-to pitchcontrol toggle"; "Ctrl+p" = "script-message-to pitchcontrol toggle";