summaryrefslogtreecommitdiffstats
path: root/DOCS/man/vo.rst
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2022-03-05 10:49:56 -0800
committerPhilip Langdale <github.philipl@overt.org>2022-03-09 10:51:35 -0800
commitd598ab2b241cf0f8beb917ccd2c3691b15a6aa7c (patch)
tree549feb31ab86129bf1323c057d189e0679ba8bef /DOCS/man/vo.rst
parentd936293c4167a6f95cae85282e257bffc41522f3 (diff)
downloadmpv-d598ab2b241cf0f8beb917ccd2c3691b15a6aa7c.tar.bz2
mpv-d598ab2b241cf0f8beb917ccd2c3691b15a6aa7c.tar.xz
DOCS/options.rst DOCS/vo.rst: Update discussion of hwdec usage
The documentation's current discussion of hwdec usage is out of date, and unnecessarily pessemistic when applied to modern hardware. The reality is that modern APIs on modern hardware produce reasonable results and there's no need to pretend otherwise. The current language that tries to drive people away from using hwdecs at all leads to them making bad choices when they do try to use it. Let's also make it clearer that users should use vo=gpu with hwdecs rather than vo=vaapi or vo=vdpau. Even the existing admonitions have proven insufficient, so let's strengthen that language.
Diffstat (limited to 'DOCS/man/vo.rst')
-rw-r--r--DOCS/man/vo.rst90
1 files changed, 45 insertions, 45 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 1843a56e4f..6207c7e9cb 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -21,6 +21,46 @@ in the list.
Available video output drivers are:
+``gpu``
+ General purpose, customizable, GPU-accelerated video output driver. It
+ supports extended scaling methods, dithering, color management, custom
+ shaders, HDR, and more.
+
+ See `GPU renderer options`_ for options specific to this VO.
+
+ By default, it tries to use fast and fail-safe settings. Use the
+ ``gpu-hq`` profile to use this driver with defaults set to high quality
+ rendering. The profile can be applied with ``--profile=gpu-hq`` and its
+ contents can be viewed with ``--show-profile=gpu-hq``.
+
+ This VO abstracts over several possible graphics APIs and windowing
+ contexts, which can be influenced using the ``--gpu-api`` and
+ ``--gpu-context`` options.
+
+ Hardware decoding over OpenGL-interop is supported to some degree. Note
+ that in this mode, some corner case might not be gracefully handled, and
+ color space conversion and chroma upsampling is generally in the hand of
+ the hardware decoder APIs.
+
+ ``gpu`` makes use of FBOs by default. Sometimes you can achieve better
+ quality or performance by changing the ``--fbo-format`` option to
+ ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include Mesa/Intel not
+ accepting ``rgb16``, Mesa sometimes not being compiled with float texture
+ support, and some macOS setups being very slow with ``rgb16`` but fast
+ with ``rgb32f``. If you have problems, you can also try enabling the
+ ``--gpu-dumb-mode=yes`` option.
+
+``gpu-next``
+ Experimental video renderer based on ``libplacebo``. This supports almost
+ the same set of features as ``--vo=gpu``. See `GPU renderer options`_ for a
+ list.
+
+ Should generally be faster and higher quality, but some features may still
+ be missing or misbehave. Expect (and report!) bugs. See here for a list of
+ known differences and bugs:
+
+ https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU
+
``xv`` (X11 only)
Uses the XVideo extension to enable hardware-accelerated display. This is
the most compatible VO on X, but may be low-quality, and has issues with
@@ -78,7 +118,9 @@ Available video output drivers are:
``vdpau`` (X11 only)
Uses the VDPAU interface to display and optionally also decode video.
- Hardware decoding is used with ``--hwdec=vdpau``.
+ Hardware decoding is used with ``--hwdec=vdpau``. Note that there is
+ absolutely no reason to use this, other than compatibility. We strongly
+ recommend that you use ``--vo=gpu`` with ``--hwdec=nvdec`` instead.
.. note::
@@ -228,46 +270,6 @@ Available video output drivers are:
``--vo-direct3d-exact-backbuffer``
Always resize the backbuffer to window size.
-``gpu``
- General purpose, customizable, GPU-accelerated video output driver. It
- supports extended scaling methods, dithering, color management, custom
- shaders, HDR, and more.
-
- See `GPU renderer options`_ for options specific to this VO.
-
- By default, it tries to use fast and fail-safe settings. Use the
- ``gpu-hq`` profile to use this driver with defaults set to high quality
- rendering. The profile can be applied with ``--profile=gpu-hq`` and its
- contents can be viewed with ``--show-profile=gpu-hq``.
-
- This VO abstracts over several possible graphics APIs and windowing
- contexts, which can be influenced using the ``--gpu-api`` and
- ``--gpu-context`` options.
-
- Hardware decoding over OpenGL-interop is supported to some degree. Note
- that in this mode, some corner case might not be gracefully handled, and
- color space conversion and chroma upsampling is generally in the hand of
- the hardware decoder APIs.
-
- ``gpu`` makes use of FBOs by default. Sometimes you can achieve better
- quality or performance by changing the ``--fbo-format`` option to
- ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include Mesa/Intel not
- accepting ``rgb16``, Mesa sometimes not being compiled with float texture
- support, and some macOS setups being very slow with ``rgb16`` but fast
- with ``rgb32f``. If you have problems, you can also try enabling the
- ``--gpu-dumb-mode=yes`` option.
-
-``gpu-next``
- Experimental video renderer based on ``libplacebo``. This supports almost
- the same set of features as ``--vo=gpu``. See `GPU renderer options`_ for a
- list.
-
- Should generally be faster and higher quality, but some features may still
- be missing or misbehave. Expect (and report!) bugs. See here for a list of
- known differences and bugs:
-
- https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU
-
``sdl``
SDL 2.0+ Render video output driver, depending on system with or without
hardware acceleration. Should work on all platforms supported by SDL 2.0.
@@ -287,10 +289,8 @@ Available video output drivers are:
``vaapi``
Intel VA API video output driver with support for hardware decoding. Note
that there is absolutely no reason to use this, other than compatibility.
- This is low quality, and has issues with OSD.
-
- .. note:: This driver is for compatibility with crappy systems. You can
- use vaapi hardware decoding with ``--vo=gpu`` too.
+ This is low quality, and has issues with OSD. We strongly recommend that
+ you use ``--vo=gpu`` with ``--hwdec=vaapi`` instead.
The following global options are supported by this video output: