mpv shader

This commit is contained in:
soraefir
2026-06-17 01:02:06 +02:00
parent 8160b82206
commit 7de6202163

View File

@@ -1,6 +1,6 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
let let
configuredMpv = config.programs.mpv.finalPackage;
in{ in{
config = lib.mkIf (config.syscfg.make.gui) { config = lib.mkIf (config.syscfg.make.gui) {
@@ -8,70 +8,78 @@ in{
enable = true; enable = true;
scripts = with pkgs.mpvScripts; [ mpris modernz ]; scripts = with pkgs.mpvScripts; [ mpris modernz ];
config = { config = {
hwdec ="auto";
profile ="high-quality";
osc ="no";
}; };
bindings =
bindings =
let let
inherit (pkgs) anime4k; shadersPkg = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
setShader = message: files: setShader = message: files:
''no-osd change-list glsl-shaders set "${lib.concatStringsSep ":" files}"; show-text "${message}"''; ''no-osd change-list glsl-shaders set "${lib.concatStringsSep ":" files}"; show-text "${message}"'';
in in
{ {
"CTRL+1" = setShader "Anime4K: Mode A (Fast)" [ "CTRL+1" = setShader "Anime4K: Mode A+A (Balanced)" [
"${anime4k}/Anime4K_Clamp_Highlights.glsl" "${shadersPkg}/Anime4K_Clamp_Highlights.glsl"
"${anime4k}/Anime4K_Restore_CNN_M.glsl" "${shadersPkg}/Anime4K_Restore_CNN_M.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl" "${shadersPkg}/Anime4K_Upscale_CNN_x2_M.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x2.glsl" "${shadersPkg}/Anime4K_Restore_CNN_S.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x4.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x2.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_S.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x4.glsl"
"${shadersPkg}/Anime4K_Upscale_CNN_x2_S.glsl"
]; ];
"CTRL+2" = setShader "Anime4K: Mode B (Fast)" [ "CTRL+2" = setShader "Anime4K: Mode B+B (Soft)" [
"${anime4k}/Anime4K_Clamp_Highlights.glsl" "${shadersPkg}/Anime4K_Clamp_Highlights.glsl"
"${anime4k}/Anime4K_Restore_CNN_Soft_M.glsl" "${shadersPkg}/Anime4K_Restore_CNN_Soft_M.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl" "${shadersPkg}/Anime4K_Upscale_CNN_x2_M.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x2.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x2.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x4.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x4.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_S.glsl" "${shadersPkg}/Anime4K_Restore_CNN_Soft_S.glsl"
"${shadersPkg}/Anime4K_Upscale_CNN_x2_S.glsl"
]; ];
"CTRL+3" = setShader "Anime4K: Mode C (Fast)" [ "CTRL+3" = setShader "Anime4K: Mode C+A (Heavy Denoise)" [
"${anime4k}/Anime4K_Clamp_Highlights.glsl" "${shadersPkg}/Anime4K_Clamp_Highlights.glsl"
"${anime4k}/Anime4K_Upscale_Denoise_CNN_x2_M.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x2.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x2.glsl" "${shadersPkg}/Anime4K_Upscale_Denoise_CNN_x2_M.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x4.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x2.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_S.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x4.glsl"
"${shadersPkg}/Anime4K_Restore_CNN_S.glsl"
"${shadersPkg}/Anime4K_Upscale_CNN_x2_S.glsl"
]; ];
"CTRL+4" = setShader "Anime4K: Mode A+A (Fast)" [ "CTRL+4" = setShader "Hybrid: FSRCNNX + Anime4K Balanced" [
"${anime4k}/Anime4K_Clamp_Highlights.glsl" "${shadersPkg}/Anime4K_Clamp_Highlights.glsl"
"${anime4k}/Anime4K_Restore_CNN_M.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x2.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x4.glsl"
"${anime4k}/Anime4K_Restore_CNN_S.glsl" "${shadersPkg}/Anime4K_Restore_CNN_M.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x2.glsl" "${shadersPkg}/FSRCNNX_x2_16-0-4-1.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x4.glsl" "${shadersPkg}/CAS-scaled.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_S.glsl"
]; ];
"CTRL+5" = setShader "Anime4K: Mode B+B (Fast)" [
"${anime4k}/Anime4K_Clamp_Highlights.glsl" "CTRL+5" = setShader "Hybrid: FSRCNNX + Anime4K Fast" [
"${anime4k}/Anime4K_Restore_CNN_Soft_M.glsl" "${shadersPkg}/Anime4K_Clamp_Highlights.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x2.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x2.glsl" "${shadersPkg}/Anime4K_AutoDownscalePre_x4.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x4.glsl" "${shadersPkg}/Anime4K_Restore_CNN_VL.glsl"
"${anime4k}/Anime4K_Restore_CNN_Soft_S.glsl" "${shadersPkg}/FSRCNNX_x2_16-0-4-1.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_S.glsl" "${shadersPkg}/CAS-scaled.glsl"
]; ];
"CTRL+6" = setShader "Anime4K: Mode C+A (Fast)" [
"${anime4k}/Anime4K_Clamp_Highlights.glsl" "CTRL+6" = setShader "Movie: FSRCNNX + Natural Sharp" [
"${anime4k}/Anime4K_Upscale_Denoise_CNN_x2_M.glsl" "${shadersPkg}/FSRCNNX_x2_16-0-4-1.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x2.glsl" "${shadersPkg}/CAS-scaled.glsl"
"${anime4k}/Anime4K_AutoDownscalePre_x4.glsl"
"${anime4k}/Anime4K_Restore_CNN_S.glsl"
"${anime4k}/Anime4K_Upscale_CNN_x2_S.glsl"
]; ];
"CTRL+0" = ''no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"''; "CTRL+0" = ''no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"'';
}; };
};#--target-colorspace-hint-mode=source for HDR };#--target-colorspace-hint-mode=source for HDR
xdg.configFile."jellyfin-mpv-shim/conf.json".text = builtins.toJSON {
"mpv_ext" = true;
"mpv_ext_path" = "${configuredMpv}/bin/mpv";
"mpv_ext_start" = true;
"mpv_ext_no_ovr" = true;
};
programs.yt-dlp.enable = true; programs.yt-dlp.enable = true;
}; };