2016-09-15 11:47:50 +00:00
|
|
|
# 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.
|
|
|
|
|
2019-07-12 23:23:46 +00:00
|
|
|
# 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
|
|
|
|
|
2016-09-15 11:45:23 +00:00
|
|
|
[pseudo-gui]
|
2016-09-23 22:36:17 +00:00
|
|
|
player-operation-mode=pseudo-gui
|
|
|
|
|
|
|
|
[builtin-pseudo-gui]
|
2016-09-15 11:45:23 +00:00
|
|
|
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
|
2016-09-15 11:47:50 +00:00
|
|
|
# OSX/Cocoa global input hooks
|
2016-09-15 11:45:23 +00:00
|
|
|
input-media-keys=no
|
2023-07-17 21:41:47 +00:00
|
|
|
vlang=
|
|
|
|
alang=
|
|
|
|
slang=
|
2016-09-15 11:45:23 +00:00
|
|
|
|
|
|
|
[encoding]
|
|
|
|
vo=lavc
|
|
|
|
ao=lavc
|
|
|
|
keep-open=no
|
|
|
|
force-window=no
|
|
|
|
gapless-audio=yes
|
|
|
|
resume-playback=no
|
|
|
|
load-scripts=no
|
|
|
|
osc=no
|
|
|
|
framedrop=no
|
2023-07-17 21:41:47 +00:00
|
|
|
vlang=
|
|
|
|
alang=
|
|
|
|
slang=
|
2016-09-15 11:45:23 +00:00
|
|
|
|
vo_opengl: refactor into vo_gpu
This is done in several steps:
1. refactor MPGLContext -> struct ra_ctx
2. move GL-specific stuff in vo_opengl into opengl/context.c
3. generalize context creation to support other APIs, and add --gpu-api
4. rename all of the --opengl- options that are no longer opengl-specific
5. move all of the stuff from opengl/* that isn't GL-specific into gpu/
(note: opengl/gl_utils.h became opengl/utils.h)
6. rename vo_opengl to vo_gpu
7. to handle window screenshots, the short-term approach was to just add
it to ra_swchain_fns. Long term (and for vulkan) this has to be moved to
ra itself (and vo_gpu altered to compensate), but this was a stop-gap
measure to prevent this commit from getting too big
8. move ra->fns->flush to ra_gl_ctx instead
9. some other minor changes that I've probably already forgotten
Note: This is one half of a major refactor, the other half of which is
provided by rossy's following commit. This commit enables support for
all linux platforms, while his version enables support for all non-linux
platforms.
Note 2: vo_opengl_cb.c also re-uses ra_gl_ctx so it benefits from the
--opengl- options like --opengl-early-flush, --opengl-finish etc. Should
be a strict superset of the old functionality.
Disclaimer: Since I have no way of compiling mpv on all platforms, some
of these ports were done blindly. Specifically, the blind ports included
context_mali_fbdev.c and context_rpi.c. Since they're both based on
egl_helpers, the port should have gone smoothly without any major
changes required. But if somebody complains about a compile error on
those platforms (assuming anybody actually uses them), you know where to
complain.
2017-09-14 06:04:55 +00:00
|
|
|
[gpu-hq]
|
2016-09-15 11:45:23 +00:00
|
|
|
scale=spline36
|
|
|
|
cscale=spline36
|
|
|
|
dscale=mitchell
|
|
|
|
dither-depth=auto
|
2023-08-04 14:24:57 +00:00
|
|
|
hdr-peak-percentile=99.995
|
2023-07-17 14:48:06 +00:00
|
|
|
hdr-contrast-recovery=0.30
|
2023-09-01 15:53:42 +00:00
|
|
|
allow-delayed-peak-detect=no
|
2016-09-15 11:45:23 +00:00
|
|
|
correct-downscaling=yes
|
2018-10-17 09:23:16 +00:00
|
|
|
linear-downscaling=yes
|
2016-09-15 11:45:23 +00:00
|
|
|
sigmoid-upscaling=yes
|
|
|
|
deband=yes
|
vo_opengl: refactor into vo_gpu
This is done in several steps:
1. refactor MPGLContext -> struct ra_ctx
2. move GL-specific stuff in vo_opengl into opengl/context.c
3. generalize context creation to support other APIs, and add --gpu-api
4. rename all of the --opengl- options that are no longer opengl-specific
5. move all of the stuff from opengl/* that isn't GL-specific into gpu/
(note: opengl/gl_utils.h became opengl/utils.h)
6. rename vo_opengl to vo_gpu
7. to handle window screenshots, the short-term approach was to just add
it to ra_swchain_fns. Long term (and for vulkan) this has to be moved to
ra itself (and vo_gpu altered to compensate), but this was a stop-gap
measure to prevent this commit from getting too big
8. move ra->fns->flush to ra_gl_ctx instead
9. some other minor changes that I've probably already forgotten
Note: This is one half of a major refactor, the other half of which is
provided by rossy's following commit. This commit enables support for
all linux platforms, while his version enables support for all non-linux
platforms.
Note 2: vo_opengl_cb.c also re-uses ra_gl_ctx so it benefits from the
--opengl- options like --opengl-early-flush, --opengl-finish etc. Should
be a strict superset of the old functionality.
Disclaimer: Since I have no way of compiling mpv on all platforms, some
of these ports were done blindly. Specifically, the blind ports included
context_mali_fbdev.c and context_rpi.c. Since they're both based on
egl_helpers, the port should have gone smoothly without any major
changes required. But if somebody complains about a compile error on
those platforms (assuming anybody actually uses them), you know where to
complain.
2017-09-14 06:04:55 +00:00
|
|
|
|
2018-03-02 13:21:35 +00:00
|
|
|
[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)
|
2018-03-02 14:37:34 +00:00
|
|
|
video-latency-hacks=yes # typically 1 or 2 video frame less latency
|
2019-11-07 20:05:15 +00:00
|
|
|
stream-buffer-size=4k # minimal buffer size; normally not needed
|
2018-03-02 13:21:35 +00:00
|
|
|
|
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 15:45:28 +00:00
|
|
|
[sw-fast]
|
|
|
|
# For VOs which use software scalers, also affects screenshots and others.
|
|
|
|
sws-scaler=bilinear
|
|
|
|
sws-fast=yes
|
|
|
|
zimg-scaler=bilinear
|
|
|
|
zimg-dither=no
|
|
|
|
|
vo_opengl: refactor into vo_gpu
This is done in several steps:
1. refactor MPGLContext -> struct ra_ctx
2. move GL-specific stuff in vo_opengl into opengl/context.c
3. generalize context creation to support other APIs, and add --gpu-api
4. rename all of the --opengl- options that are no longer opengl-specific
5. move all of the stuff from opengl/* that isn't GL-specific into gpu/
(note: opengl/gl_utils.h became opengl/utils.h)
6. rename vo_opengl to vo_gpu
7. to handle window screenshots, the short-term approach was to just add
it to ra_swchain_fns. Long term (and for vulkan) this has to be moved to
ra itself (and vo_gpu altered to compensate), but this was a stop-gap
measure to prevent this commit from getting too big
8. move ra->fns->flush to ra_gl_ctx instead
9. some other minor changes that I've probably already forgotten
Note: This is one half of a major refactor, the other half of which is
provided by rossy's following commit. This commit enables support for
all linux platforms, while his version enables support for all non-linux
platforms.
Note 2: vo_opengl_cb.c also re-uses ra_gl_ctx so it benefits from the
--opengl- options like --opengl-early-flush, --opengl-finish etc. Should
be a strict superset of the old functionality.
Disclaimer: Since I have no way of compiling mpv on all platforms, some
of these ports were done blindly. Specifically, the blind ports included
context_mali_fbdev.c and context_rpi.c. Since they're both based on
egl_helpers, the port should have gone smoothly without any major
changes required. But if somebody complains about a compile error on
those platforms (assuming anybody actually uses them), you know where to
complain.
2017-09-14 06:04:55 +00:00
|
|
|
# Compatibility alias (deprecated)
|
|
|
|
[opengl-hq]
|
|
|
|
profile=gpu-hq
|