summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2023-06-18 12:07:30 -0700
committerPhilip Langdale <github.philipl@overt.org>2023-06-29 11:58:51 -0700
commit9ff8c9e78020bcda19f3435ed88ebd6a302d2cc2 (patch)
treec18526a8689fb2ac6aa80b1bc3a200c117dcba34 /DOCS
parenta61b784d90148bcd0e8e9c366dcc563c81c74026 (diff)
downloadmpv-9ff8c9e78020bcda19f3435ed88ebd6a302d2cc2.tar.bz2
mpv-9ff8c9e78020bcda19f3435ed88ebd6a302d2cc2.tar.xz
vd_lavc: let the user provide a priority list of hwdecs to consider
Today, the only way to make mpv consider multiple hwdecs and pick the first one that works is to use one of the `auto` modes. But the list that is considered in those cases is hard-coded. If the user wants to provide their own list, they are out of luck. And I think that there is now a significant reason to support this - the new Vulkan hwdec is definitely not ready to be in the auto list, but if you want to use it by default, it will not work with many codecs that are normally hardware decodable (only h.264, hevc and av1 if you are very lucky). Everything else will fall back to software decoding. Instead, what you really want to say is: use Vulkan for whatever it supports, and fall back to my old hwdec for everything else. One side-effect of this implementation is that you can freely mix hwdec names and special values like `auto` and `no`. The behaviour will be correct, so I didn't try and prohibit any combinations. However, some combinations will be silly - eg: sticking any further values after `no` will result in them being ignored. On the other hand, a combination like `vulkan,auto` could be very useful as that will use Vulkan if possible, and if not, run the normal auto routine. Fixes #11797
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/man/options.rst11
1 files changed, 9 insertions, 2 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index d546d0f0b2..9a418ac730 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -1185,7 +1185,7 @@ Video
``--display-fps=<fps>``
Deprecated alias for ``--override-display-fps``.
-``--hwdec=<api>``
+``--hwdec=<api1,api2,...|no|auto|auto-safe|auto-copy>``
Specify the hardware video decoding API that should be used if possible.
Whether hardware decoding is actually done depends on the video codec. If
hardware decoding is not possible, mpv will fall back on software decoding.
@@ -1244,7 +1244,8 @@ Video
- If you're a developer, or want to perform elaborate tests, you may
need any of the other possible option values.
- ``<api>`` can be one of the following:
+ This option accepts a comma delimited list of ``api`` types, along with certain
+ special values:
:no: always use software decoding (default)
:auto: forcibly enable any hw decoder found (see below)
@@ -1252,6 +1253,12 @@ Video
:auto-safe: enable any whitelisted hw decoder (see below)
:auto-copy: enable best hw decoder with copy-back (see below)
+ .. note::
+
+ Special values can be mixed with api names. eg: ``vaapi,auto`` will try
+ and use the ``vaapi`` hwdec, and if that fails, will run through the
+ normal ``auto`` logic.
+
Actively supported hwdecs:
:d3d11va: requires ``--vo=gpu`` with ``--gpu-context=d3d11`` or