1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-16 04:07:08 +00:00
mpv/etc/builtin.conf
wm4 a7230dfed0 sws_utils, zimg: destroy vo_x11 and vo_drm performance
Raise swscale and zimg default parameters. This restores screenshot
quality settings (maybe) unset in the commit before. Also expose some
more libswscale and zimg options.

Since these options are also used for VOs like x11 and drm, this will
make x11/drm/etc. much slower. For compensation, provide a profile that
sets the old option values: sw-fast. I'm also enabling zimg here, just
as an experiment.

The core problem is that we have a single set of command line options
which control the settings used for most swscale/zimg uses. This was
done in the previous commit. It cannot differentiate between the VOs,
which need to be realtime and may accept/require lower quality options,
and things like screenshots or vo_image, which can be slower, but should
not sacrifice quality by default.

Should this have two sets of options or something similar to do the
right thing depending on the code which calls libswscale? Maybe. Or
should I just ignore the problem, make it someone else's problem (users
who want to use software conversion VOs), provide a sub-optimal
solution, and call it a day? Definitely, sounds good, pushing to master,
goodbye.
2019-10-31 16:51:12 +01:00

77 lines
1.9 KiB
Plaintext

# This file is baked into the mpv binary at compile time, and automatically
# loaded at early initialization time. Some of the profiles are automatically
# applied at later stages during loading.
# Note: this contains profiles only. The option defaults for normal options
# (i.e. the default profile) are defined in C code. Do NOT set any
# options in the default profile here. It won't work correctly in subtle
# ways.
#
# To see the normal option defaults, run: mpv --list-options
[pseudo-gui]
player-operation-mode=pseudo-gui
[builtin-pseudo-gui]
terminal=no
force-window=yes
idle=once
screenshot-directory=~~desktop/
[libmpv]
config=no
idle=yes
terminal=no
input-terminal=no
osc=no
input-default-bindings=no
input-vo-keyboard=no
# OSX/Cocoa global input hooks
input-appleremote=no
input-media-keys=no
[encoding]
vo=lavc
ao=lavc
keep-open=no
force-window=no
gapless-audio=yes
resume-playback=no
load-scripts=no
osc=no
framedrop=no
[gpu-hq]
scale=spline36
cscale=spline36
dscale=mitchell
dither-depth=auto
correct-downscaling=yes
linear-downscaling=yes
sigmoid-upscaling=yes
deband=yes
[low-latency]
audio-buffer=0 # minimize extra audio buffer (can lead to dropouts)
vd-lavc-threads=1 # multithreaded decoding buffers extra frames
cache-pause=no # do not pause on underruns
demuxer-lavf-o-add=fflags=+nobuffer # can help for weird reasons
demuxer-lavf-probe-info=nostreams # avoid probing unless absolutely needed
demuxer-lavf-analyzeduration=0.1 # if it probes, reduce it
video-sync=audio # DS currently requires reading ahead a frame
interpolation=no # requires reference frames (more buffering)
video-latency-hacks=yes # typically 1 or 2 video frame less latency
[sw-fast]
# For VOs which use software scalers, also affects screenshots and others.
sws-scaler=bilinear
sws-fast=yes
sws-allow-zimg=yes
zimg-scaler=bilinear
zimg-dither=no
zimg-fast=yes
# Compatibility alias (deprecated)
[opengl-hq]
profile=gpu-hq