dotfiles/.config/mpv/mpv.conf
2024-10-15 21:19:32 +02:00

336 lines
7 KiB
Text
Executable file

profile=pc-stuff
profile=tonemaping-pc
profile=pc-sdr-display-conf
#profile=tv-display-auto
#profile=android-decent-hw
# AUDIO
#audio-device=alsa/default
#Audio output drivers
ao=pipewire,coreauido,pulse,wasapi,
volume=100
volume-max=200
# enabling it will keep the pitch when changing speed
#audio-pitch-correction=no
# the audio will upmix and downmix to channel config, for example
# 'stereo' for 2.0 and 5.1 for 5.1, 'auto' will try to avoid up/downmixing
# default is 'auto-safe'.
audio-channels=stereo
#raw bitperfect audio, but you can only hear mpv
audio-exclusive=no
# OTHER
#Load external audio with (almost) the same name as the video.
audio-file-auto=fuzzy
sub-auto=fuzzy
#user-agent="Mozilla/5.0"
#Tries to load subtitles in these languages, if one is not available
#it falls back to the next one.
slang=enm,eng,en
#same for audio
#alang=jpn,ja,eng,en
#Changes subtitle encoding, if the file is valid utf8 it prefers it,
#add '+' in front of codepage '+utf8' to force it.
#sub-codepage=utf8
# You can also include other configuration files.
#include=/path/to/the/file/you/want/to/include
# SCREENSHOTS
screenshot-format=png
screenshot-tag-colorspace=no
screenshot-high-bit-depth=no
screenshot-template="mpv-shot-%tY-%tm-%td_%tH-%tM-%tS"
screenshot-directory="~/Pictures/mpv"
screenshot-png-compression=9
screenshot-png-filter=0
## Behavior (personal preference)
keep-open=yes
save-position-on-quit
# PROFILES
[pc-stuff]
#VIDEO
#catmull_rom uses less resources than lanczos and ewa_lanczossharp.
#spline36 is kinda bad, for upscaling you should use bicubic catrom for preserving spatial proerties
#or a lanczos scaler (like ewa_lanczos or ewa_lanczossharp) for sharpness.
#mitchell = bicubic b 1/3 c 1/3, can be tuned with scale-param1 and scale-param2
#catmull_rom = bicubic b 0 c 0.5
#hermite = bicubic b 0 c 0
scale=lanczos
#dscale, like scale, but for downscaling,
#it defaults to scale if unset
#Due to not having a negative lobe, hermite is better for
#downscaling (less ringing and aliasing), mitchell could work too
#hermite is sharper than mitchell
#https://github.com/mpv-player/mpv/pull/12384#issuecomment-1716775594
#https://github.com/mpv-player/mpv/pull/12384#issuecomment-1716855374
dscale=hermite
#'catmull_rom', 'sinc(blackman window)', hanning 'lanczos'
#For a traditional scaler, is better to use sinc, but it has more resource usage than catmull_rom.
cscale=catmull_rom
#cscale-window=blackman #for sinc
#cscale-radius=3 #taps for sinc
#https://github.com/mpv-player/mpv/issues/12163
#you can also use 'FastBilateral', 'JointBilateral', 'MemeBilateral' or KrigBilateral
#meme shaders if you trust them.
#Fast and Joint may have staircase artifacts.
#Meme is Joint with + CfL (Chroma from Luma prediction), so you can instead use Fast and CfL
#together for better performance.
#glsl-shader="~~/shaders/FastBilateral.glsl"
#glsl-shader="~~/shaders/CfL_Prediction.glsl" #CfL has big accuracy issues
#There are memes about bilinear cscale being the true way the encoder and encoding software
#intended the chroma to be watched, if you believe them or not is up to you.
#can decrease performance depending on scalers, more noticeable on 4k content
correct-downscaling=yes
#enabling them gives better quality with almost no performance impact
linear-downscaling=yes
sigmoid-upscaling=yes
# DEBANDING
deband=no
# HARDWARE DECODING
#gpu has better performance but gpu-next has better hdr.
#vo=gpu
vo=gpu-next
#on windows be careful of using dxva2, d3d11va is better.
#hwdec=auto-safe
hwdec=auto-copy-safe #enables copyback, requires more resources
#bwdif is now the fallback deinterlacer, but only vulkan has bwdif hw deinterlacing
#hwdec=vulkan-copy
#vulkan uses more resources,but has better hdr compatibility
#gpu-api=opengl # Uncomment this if you notice stuttering with vulkan, opengl may cause screen tearing depending of your config
#gpu-api=vulkan # Comment this if you notice stuttering and uncomment the above line
#vulkan-device='Intel(R) Iris(R) Xe Graphics'
#vulkan-device='NVIDIA GeForce RTX 4060 Laptop GPU'
#gpu-context=winvk
vulkan-async-compute=yes
vulkan-async-transfer=yes
vulkan-queue-count=1
#opengl-waitvsync=yes
vd-lavc-dr=yes
spirv-compiler=auto
# TEMPORAL INTERPOLATION (BETWEEN FRAMES)
#interpolation=yes
#interpolation-threshold=-1
#video-sync=display-resample #can help with interpolation
#for tscale you can use 'sphinx' (smoother) or 'oversample' (less blurry)
#tscale=sphinx
#tscale-blur=0.6991556596428412 #magic haasn number for sphinx
video-sync=audio #fix desync on d3d11va-copy when not using gpu-api = opengl or vulkan
#diplays
[pc-sdr-display-conf]
dither-depth=8
dither=fruit
#dither-size-fruit=8
#common primaries for modern displays are 'bt.709' (sRGB), 'bt.2020', 'apple' (Apple RGB), 'adobe' (Adobe RGB) and 'dci-p3'
target-prim=bt.709
target-gamut=bt.709
# transfer characteristics (gamma), you can leave it on 'auto', you can also use 'bt.1886', 'srgb', 'gamma2.2' 'linear', 'pq' or another option
target-trc=srgb
gamma-factor=1.1 #lighten image when using target-trc=srgb
#you can leave it on 'auto', sdr is '203'
target-peak=auto
#auto hdr switching
#target-colorspace-hint=yes
[tv-display-auto]
dither-depth=auto
#dither=fruit
#dither-size-fruit=8
target-prim=auto
target-gamut=auto
target-trc=auto
target-peak=auto
target-colorspace-hint=yes
[tonemaping-pc]
# HDR TONE MAPPING
#https://github.com/mpv-player/mpv/pull/6564#issuecomment-473522461
#https://doodad.dev/dither-me-this/
hdr-compute-peak=yes #uses own algorythm instead of metadata
allow-delayed-peak-detect=yes #enable for better performance
#You can use 'spline' (probably better), 'bt.2390', 'bt.2446a' or leave it on 'auto'.
tone-mapping=spline
#tone-mapping-param=1.5 #For bt.2390, mpv default 1.0 and some like 1.5, for spline default is 0.3
hdr-peak-percentile=99.995 #use 99.995 for better hdr
#hdr-contrast-recovery=0.30 #better hdr, less performance
#tone-mapping-mode=hybrid #deprecated https://github.com/mpv-player/mpv/commit/b4c98cb04c87999eccd061cc59e6f5f8fa706220
gamut-mapping-mode=perceptual
#icc intent perceptual (0) changes all the colors to fit inside colorspace, better when many out of gamut colors
#relative colorimetric (1) maps white of source to white of output and clips out of gamut colors
#on wide color gamut monitors, perceptual may lead to oversaturation
icc-intent=0
#blend-subtitles=yes
[tonemaping-clip]
hdr-compute-peak=no
tone-mapping=clip
gamut-mapping-mode=clip
icc-intent=0
[android-decent-hw]
#scale=catmull_rom
#dscale=hermite
cscale=bilinear
#vo=gpu
vo=gpu-next
#hwdec=auto-safe
#bwdif deinterlacing profile
[bwdifdeint]
profile-desc="Deinterlacing mode: bwdif bob"
#deinterlacing, bwdif and w3fdif are better quality than yadif
vf-append=bwdif=deint=1
#deinterlace=yes
#vf=bwdif
#vf-togle=bwdif
#vo-vaapi-deint-mode=bob
[deinterlace-no]
profile-desc="Deinterlacing mode: disabled"
vf-remove=bwdif
deinterlace=no
vf-clr
#[bwdifdeint-autoprofile]
#profile-cond=p["video-format/tff"]
#profile=bwdifdeint