-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmpv.conf
More file actions
91 lines (76 loc) · 6.33 KB
/
Copy pathmpv.conf
File metadata and controls
91 lines (76 loc) · 6.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# ==========================================================
# UltraMPV Configuration v1.0.97 - Optimized for 4K 60Hz
# Author: Trevor Morin | Superklok Labs ➔ superklok.com
# ==========================================================
# --- Video Player Settings ---
loop-file=inf # Infinitely loop current playing video
# --- Core Performance & Modern Rendering ---
vo=gpu-next # Superior HDR/SDR mapping, libplacebo integration
gpu-api=vulkan # Best API for Windows DXGI HDR display capability handshakes
hwdec=vulkan # Direct GPU decoding without RAM copy overhead (zero-copy)
gpu-context=winvk # Matches API for frame-perfect presentation stability
# --- Realistic HDR & Color Management ---
target-colorspace-hint=yes # Tells MPV to pass HDR metadata directly to Windows HDR swapchain
tone-mapping=spline # Most natural, filmic roll-off for specular highlights
hdr-compute-peak=yes # Computes scene-by-scene peak luminance for accurate mapping
allow-delayed-peak-detect=no # Forces instant peak calculation to eliminate scene-cut flicker
# target-peak=300 # Uncomment & set to your monitor's real nits if SDR
# --- Video Quality & Anti-Banding ---
deband=yes # Improves visual quality of low-bitrate content or poorly encoded videos
deband-iterations=1 # Low iteration preserves native textures/grain on 4K files
deband-threshold=32 # Light threshold to avoid destroying fine detail
deband-range=16 # Fixes compression artifacts (banding) that make smooth color transitions look blocky
deband-grain=1 # Tiny amount of grain to keep textures alive without artificial noise
dither-depth=auto # Explicitly tell MPV you have a 10-bit display by setting to 10, set to 8 for an 8-bit display
dither=error-diffusion # High-quality spatial distribution to eliminate macro-gradients
# --- Motion & 60Hz Display Synchronization ---
video-sync=display-resample # Resamples audio to match display clock, eliminating frame drops/judder
tscale=oversample # Pixel-perfect frame-step matching, eliminates all temporal ghosting/blurring
# --- Scaling Fallbacks ---
scale=ewa_lanczossharp # Superior, high-definition sharpness when resizing lower-resolution videos
cscale=ewa_lanczossharp # Sharper, more defined colors and reduces blurring when upscaling
correct-downscaling=yes # Crucial for high-quality downscaling, resulting in a crisper, more accurate image
sigmoid-upscaling=yes # Minimizes "ringing" artifacts (halos) around sharp edges, for a cleaner, more natural picture
scale-antiring=0.7 # Reduces "ringing" artifacts (halos/ghosting) around sharp edges caused by high-quality scalers like Lanczos
cscale-antiring=0.7 # Reduces color "ringing" artifacts (halos/ghosting) around sharp edges when color information is upscaled
# --- High-Fidelity Subtitle Blending ---
blend-subtitles=yes # Blends subtitles into video pipeline before upscaling to protect HDR tone-mapping
sub-ass-override=yes # Allows fluid rendering of advanced typesetting and fonts
# --- High-Fidelity Screenshot Settings ---
screenshot-format=png # Lossless compression, ensures saved image is an exact, high-fidelity, pixel-for-pixel copy of the original video frame
screenshot-high-bit-depth=yes # Higher color precision, prevents color banding, preserves 10-bit HDR data, and avoids washed-out colors in screenshots
screenshot-directory="~/Pictures/mpv" # Defines a specific folder (/home/user/Pictures/mpv) where MPV Player saves screenshots
# ==========================================================
# AUTO-PROFILES (Must be at the END of this file)
# ==========================================================
# --- Advanced Shaders (The Heavy Lifters) ---
# Base shader state, always keeps CfL_Prediction enabled for high-accuracy chroma reconstruction
glsl-shaders="~~/shaders/CfL_Prediction.glsl"
# Profile triggered for sub-4K sources, applies ArtCNN_C4F32 and ramps up debanding for low-bitrate streams
[upscale-and-clean-stream]
profile-cond=width < 3840
glsl-shaders-clr # Safely purges any hanging shaders from previous file playback
glsl-shaders="~~/shaders/CfL_Prediction.glsl;~~/shaders/ArtCNN_C4F32.glsl" # Applies photographic neural network scaling for sub-4K content
deband-iterations=4 # Stronger cleaning required for web/low-bitrate compression artifacts
deband-threshold=48 # Aggressive threshold to smooth out streaming gradients
# Profile triggered if content is 4K but output display is lower resolution (for example, 1080p/1440p monitor)
[downscale-shaders]
profile-cond=width >= 3840 and display_height < 2160
glsl-shaders-clr # Safely purges any hanging shaders from previous file playback
glsl-shaders="~~/shaders/CfL_Prediction.glsl;~~/shaders/SSimDownscaler.glsl"
deband-iterations=1 # Reset to high-fidelity default to protect native 4K textures
deband-threshold=32 # Reset to high-fidelity default to protect native 4K textures
# Profile triggered for native 4K content to maximize performance, so GPU power is not wasted on upscalers/downscalers
[clearing-profile]
profile-cond=width >= 3840 and display_height >= 2160
glsl-shaders-clr # Safely purges any hanging shaders from previous file playback
glsl-shaders="~~/shaders/CfL_Prediction.glsl"
deband-iterations=1 # Reset to high-fidelity default
deband-threshold=32 # Reset to high-fidelity default
# Profile triggered dynamically based on content frame rate to handle interpolation logic cleanly
[motion-interpolation]
profile-cond=container_fps <= 59
interpolation=yes # Enables oversample frame matching for cinematic content (24fps/30fps)
[60fps-native-bypass]
profile-cond=container_fps > 59
interpolation=no # Bypasses frame blending when video matches display refresh rate