summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/options.rst64
1 files changed, 39 insertions, 25 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index 067cbcdb13..5b25361c9c 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -958,6 +958,29 @@ Video
Whether hardware decoding is actually done depends on the video codec. If
hardware decoding is not possible, mpv will fall back on software decoding.
+ Hardware decoding is not enabled by default, because it is typically an
+ additional source of errors. It is worth using only if your CPU is too
+ slow to decode a specific video.
+
+ .. note::
+
+ Use the ``Ctrl+h`` shortcut to toggle hardware decoding at runtime. It
+ toggles this option between ``auto`` and ``no``.
+
+ Always enabling HW decoding by putting it into the config file is
+ discouraged. If you use the Ubuntu package, delete ``/etc/mpv.conf``,
+ as the package tries to enable HW decoding by default.
+
+ Use one of the auto modes if you want to enable hardware decoding.
+ Explicitly selecting the mode is mostly meant for testing and debugging.
+ It's a bad idea to put explicit selection into the config file if you
+ want thing to just keep working after updates and so on.
+
+ .. note::
+
+ Even if enabled, hardware decoding is still only white-listed for some
+ codecs. See ``--hwdec-codecs`` to enable hardware decoding in more cases.
+
``<api>`` can be one of the following:
:no: always use software decoding (default)
@@ -999,12 +1022,24 @@ Video
``auto-copy`` selects only modes that copy the video data back to system
memory after decoding. This selects modes like ``vaapi-copy`` (and so on).
- If none of these work, hardware decoding is disabled. This mode is always
- guaranteed to incur no additional loss compared to software decoding, and
- will allow CPU processing with video filters.
+ If none of these work, hardware decoding is disabled. This mode is usually
+ guaranteed to incur no additional quality loss compared to software
+ decoding (assuming modern codecs and an error free video stream), and will
+ allow CPU processing with video filters. This mode works with all video
+ filters and VOs.
+
+ Because these copy the decoded video back to system RAM, they're often less
+ less efficient than the direct modes, and may not help too much over
+ software decoding.
+
+ .. note::
+
+ Most non-copy methods only work with the OpenGL GPU backend. Currently,
+ only the ``nvdec`` and ``cuda`` methods work with Vulkan.
The ``vaapi`` mode, if used with ``--vo=gpu``, requires Mesa 11 and most
- likely works with Intel GPUs only. It also requires the opengl EGL backend.
+ likely works with Intel and AMD GPUs only. It also requires the opengl EGL
+ backend.
The ``cuda`` and ``cuda-copy`` modes provides deinterlacing in the decoder
which is useful as there is no other deinterlacing mechanism in the gpu
@@ -1020,27 +1055,6 @@ Video
is not supported. Since this uses FFmpeg's codec parsers, it is expected
that this generally causes fewer issues than ``cuda``.
- Most video filters will not work with hardware decoding as they are
- primarily implemented on the CPU. Some exceptions are ``vdpaupp``,
- ``vdpaurb`` and ``vavpp``. See `VIDEO FILTERS`_ for more details.
-
- The ``...-copy`` modes (e.g. ``dxva2-copy``) allow you to use hardware
- decoding with any VO, backend or filter. Because these copy the decoded
- video back to system RAM, they're likely less efficient than the direct
- modes (like e.g. ``dxva2``), and probably not more efficient than software
- decoding except for some codecs (e.g. HEVC).
-
- .. note::
-
- When using this switch, hardware decoding is still only done for some
- codecs. See ``--hwdec-codecs`` to enable hardware decoding for more
- codecs.
-
- .. note::
-
- Most non-copy methods only work with the OpenGL GPU backend. Currently,
- only the ``nvdec`` and ``cuda`` methods work with Vulkan.
-
.. admonition:: Quality reduction with hardware decoding
In theory, hardware decoding does not reduce video quality (at least