Skip to content

Instantly share code, notes, and snippets.

@Quackdoc
Created January 9, 2025 19:12
Show Gist options
  • Save Quackdoc/49fce6bf9e5b794499a9f45b4338aeba to your computer and use it in GitHub Desktop.
Save Quackdoc/49fce6bf9e5b794499a9f45b4338aeba to your computer and use it in GitHub Desktop.
updated mpv config
# vim: syntax=config
border = no
### Screen shots ###
screenshot-format=jxl
screenshot-directory=~/Pictures/mpv
screenshot-jxl-distance=1.0
screenshot-tag-colorspace=no
screenshot-high-bit-depth=yes
screenshot-jxl-effort=7
profile=video
############
# Profiles #
############
[video]
#SET THIS PROPERLY LATER
vulkan-device="Intel(R) Arc(tm) A380 Graphics (DG2)"
hwdec=vaapi
profile=gpu-hq
vo=gpu-next
gpu-api=vulkan
gpu-context=waylandvk
hwdec=auto
vd-lavc-film-grain=gpu
ao=pipewire
geometry=35%
hr-seek=yes
profile=spline
#### Vsync OFF ####
vulkan-swap-mode=mailbox
#vulkan-swap-mode=immediate
opengl-swapinterval=0
wayland-disable-vsync=yes
video-sync=audio
interpolation=no
#vulkan-async-transfer=yes
demuxer-termination-timeout=120
network-timeout=120
### Custom config options ###
#ytdl-format=bestvideo[vcodec*=avc]+bestaudio/best
#ytdl-format=bestvideo[vcodec*=av01]+bestaudio/best
ytdl-format=bestvideo+bestaudio/best
#ytdl-raw-options=proxy=[socks5://127.0.0.1:25344]
#ytdl-format=bestvideo+bestaudio/best
#ytdl-raw-options=retries=infinite
#ytdl-raw-options=fragment-retries=infinite
#ytdl-raw-options=write-subs=
#slang=eng,en,en-en-nP7-2PuUl7o,en-en,en-it,fra,fre,fr,fr-en-nP7-2PuUl7o,fr-en,fr-it
#sub=0
[stream]
vo=dmabuf-wayland
cache=no
## Simple Profiles
[intel]
profile-restore=copy
hwdec=vaapi
vulkan-device='Intel(R) Arc(tm) A380 Graphics (DG2)'
#[amd]
#profile-restore=copy
#hwdec=vaapi
#vulkan-device='AMD Radeon RX 580 Series (RADV POLARIS10)'
[ytvp9]
ytdl-format="bestvideo[vcodec=vp9]"
ytdl-raw-options="live-from-start="
[spline]
profile-restore=copy
tone-mapping=spline
gamut-mapping-mode=perceptual
hdr-compute-peak=yes
hdr-contrast-recovery=0.5
[yt-1440]
ytdl-raw-options='live-from-start='
ytdl-raw-options='download-sections=[#0 - infinite]'
[comp]
profile-restore=copy
input-ipc-server=/tmp/mpvsocket
profile=video
screenshot-format=jxl
screenshot-directory=~/Pictures/mpv/comp
screenshot-jxl-distance=0.0
screenshot-tag-colorspace=no
screenshot-high-bit-depth=yes
screenshot-jxl-effort=5
#screenshot-webp-lossless=yes
[bench]
audio=no
untimed=yes
video-sync=display-desync
vulkan-swap-mode=mailbox
opengl-swapinterval=0
wayland-disable-vsync=yes
[tct]
profile=bench
profile=sw-fast
vo=tct
quiet
[image]
profile-cond=get('current-tracks/video/image')
profile-cond=get('current-tracks/audio/none')
image-display-duration=inf
#loop
input-conf=~~/input-pic.conf
#background=0/0
#alpha
deband=no
scale=nearest
cscale=nearest
dscale=nearest
#scale=spline36
#cscale=spline36
#dscale=mitchell
#correct-downscaling
#sigmoid-upscaling
#linear-downscaling
#linear-upscaling
video-aspect-override=no
dither-depth=no
vo=gpu-next
gpu-api=vulkan
gpu-context=waylandvk
screenshot-format=png
screenshot-directory=~/Pictures/mpv
screenshot-high-bit-depth=yes
[CRT-auto]
profile=video
vf=format=convert=yes:fmt=yuv444p,lavfi=[scale=480:-1:flags=neighbor,setsar=1:1]
glsl-shaders="~~/shaders/crt-hyllian.glsl"
[CRT]
profile=video
vf=format=convert=yes:fmt=yuv444p,lavfi=[scale=480:270:flags=neighbor,setsar=1:1]
glsl-shaders="~~/shaders/crt-hyllian.glsl"
[HDR]
vo=gpu-next
gpu-api=vulkan
gpu-context=displayvk
target-colorspace-hint
#target-trc=bt.1886
#target-trc=pq
[HDR-DV]
profile=gpu-hq
vo=gpu-next
hwdec=auto-copy
target-colorspace-hint=yes
hdr-compute-peak=no
target-trc=pq
target-prim=bt.2020
target-peak=1500
#[HDRTOY-no-tone]
#target-trc=pq
#target-prim=bt.2020
#glsl-shader=~~/shaders/hdr-toys/utils/clip_both.glsl
#glsl-shader=~~/shaders/hdr-toys/shaders/hdr-toys/utils/clip_both.glsl
#glsl-shader=~~/shaders/hdr-toys/shaders/hdr-toys/transfer-function/pq_inv.glsl
#glsl-shader=~~/shaders/hdr-toys/shaders/hdr-toys/utils/clip_both.glsl
#glsl-shader=~~/shaders/hdr-toys/tone-mapping/dynamic.glsl
#glsl-shader=~~/shaders/hdr-toys/gamut-mapping/bottosson.glsl
#glsl-shader=~~/shaders/hdr-toys/shaders/hdr-toys/transfer-function/bt1886.glsl
#
#[HDRTOY-pq]
##profile-cond=get("video-params/primaries") == "bt.2020" and get("video-params/gamma") == "pq"
#profile-restore=copy
#target-trc=pq
#target-prim=bt.2020
#glsl-shader=~~/shaders/hdr-toys/utils/clip_both.glsl
#glsl-shader=~~/shaders/hdr-toys/transfer-function/pq_to_l.glsl
#glsl-shader=~~/shaders/hdr-toys/transfer-function/l_to_linear.glsl
#glsl-shader=~~/shaders/hdr-toys/utils/chroma_correction.glsl
#glsl-shader=~~/shaders/hdr-toys/tone-mapping/dynamic.glsl
#glsl-shader=~~/shaders/hdr-toys/gamut-mapping/compress.glsl
#glsl-shader=~~/shaders/hdr-toys/transfer-function/linear_to_bt1886.glsl
#
#[HDRTOY-hlg]
##profile-cond=get("video-params/primaries") == "bt.2020" and get("video-params/gamma") == "hlg"
#profile-restore=copy
#target-trc=hlg
#target-prim=bt.2020
#glsl-shader=~~/shaders/hdr-toys/utils/clip_both.glsl
#glsl-shader=~~/shaders/hdr-toys/transfer-function/hlg_to_l.glsl
#glsl-shader=~~/shaders/hdr-toys/transfer-function/l_to_linear.glsl
#glsl-shader=~~/shaders/hdr-toys/utils/chroma_correction.glsl
#glsl-shader=~~/shaders/hdr-toys/tone-mapping/dynamic.glsl
#glsl-shader=~~/shaders/hdr-toys/gamut-mapping/compress.glsl
#glsl-shader=~~/shaders/hdr-toys/transfer-function/linear_to_bt1886.glsl
[lowlatency]
no-cache
untimed
no-demuxer-thread
video-sync=audio
vd-lavc-threads=1
## Bump video intro freesync range
[LOWFPS]
profile-desc=cond:get('container-fps',0) <= 30 and get('container-fps',0) > 29
profile-restore=copy
vf=fps=fps=60
#vf=minterpolate=fps=60:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1
[LOWERFPS]
profile-desc=cond:get('container-fps',0) <= 24 and get('container-fps',0) > 23
profile-restore=copy
vf=fps=fps=48
#vf=minterpolate=fps=48:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1
[ALMOSTTHERE]
profile-desc=cond:get('container-fps',0) < 48 and get('container-fps',0) > 47
profile-restore=copy
vf=fps=fps=48
##comparison filters
[diff]
lavfi-complex='[vid1] [vid2] blend=all_mode=difference [vo]'
[diffb] #increase gamma to help visibility for low diff images
lavfi-complex='[vid1] [vid2] blend=all_mode=difference[d], [d] eq=gamma=2[vo]'
[diffc]
lavfi-complex='[vid1] [vid2] blend=all_mode=difference[vo]'
gamma=100
[diffosc]
lavfi-complex='[vid1] [vid2] blend=all_mode=difference[d],[d]split=2[out][blend],[blend] oscilloscope[h], [out] [h] overlay [vo]'
[diffwave]
lavfi-complex='[vid1] [vid2] blend=all_mode=difference[d],[d]split=2[out][blend],[blend] waveform[h], [out] [h] overlay [vo]'#https://trac.ffmpeg.org/wiki/WaveformMonitor
[over]
lavfi-complex='[vid2]format=yuva444p,lut=c3=128,negate[video2withAlpha],[vid1][video2withAlpha]overlay[vo]'
##side
[2side]
lavfi-complex='[vid1] [vid2] hstack [vo]' # 2 side by side
[2sidesplit]
lavfi-complex="[vid1]crop=iw/2:ih:0:0[left], [vid2]crop=iw/2:ih:iw/2:0[right], [left][right]hstack[vo]"
[3side]
lavfi-complex='[vid1] [vid2] hstack [out], [out] [vid3] hstack [vo]' # 3 side by side
[quad]
lavfi-complex='[vid1] [vid2] hstack [out1], [vid3] [vid4] hstack [out2], [out1] [out2] vstack [vo]' # 4 in a quadrant
#include=~~/hdr-toys.conf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment