summaryrefslogtreecommitdiffstats
path: root/DOCS/man
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-11-04 00:01:05 +0100
committerwm4 <wm4@nowhere>2019-11-04 00:01:05 +0100
commita4f92cef1ae60beaeadf2400f61ce83552c2d14f (patch)
tree3b2ea9b9ad30b34fdc87e05e9a4ae5b3759b1c1e /DOCS/man
parentbcb18b88476eed362cd5910da2527113495e0be3 (diff)
downloadmpv-a4f92cef1ae60beaeadf2400f61ce83552c2d14f.tar.bz2
mpv-a4f92cef1ae60beaeadf2400f61ce83552c2d14f.tar.xz
manpage: shovel around --hwdec description (again)
Not like anyone reads it. Although putting all this text before listing the allowed option values sort of has the intention to discourage users from using the option at all. Advertise Ctrl+h, which is a decent way of enabling hardware decoding temporarily.
Diffstat (limited to 'DOCS/man')
-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