summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/interface-changes.rst2
-rw-r--r--DOCS/man/input.rst68
-rw-r--r--DOCS/man/options.rst5
3 files changed, 51 insertions, 24 deletions
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index a678e0d528..9bdc251eaf 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -46,6 +46,8 @@ Interface changes
--audio-file-paths => --audio-file-path
--sub-paths => --sub-file-path
--opengl-shaders => --opengl-shader
+ - remove property `vo-performance`, and add `vo-passes` as a more general
+ replacement
--- mpv 0.25.0 ---
- remove opengl-cb dxva2 dummy hwdec interop
(see git "vo_opengl: remove dxva2 dummy hwdec backend")
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst
index ef3ceb1fb5..befcb5c00a 100644
--- a/DOCS/man/input.rst
+++ b/DOCS/man/input.rst
@@ -1883,32 +1883,43 @@ Property list
whether the video window is visible. If the ``--force-window`` option is
used, this is usually always returns ``yes``.
-``vo-performance``
- Some video output performance metrics. Not implemented by all VOs. This has
- a number of sup-properties, of the form ``vo-performance/<metric>-<value>``,
- all of them in milliseconds.
+``vo-passes``
+ Contains introspection about the VO's active render passes and their
+ execution times. Not implemented by all VOs.
- ``<metric>`` refers to one of:
+ This is further subdivided into two frame types, ``vo-passes/fresh`` for
+ fresh frames (which have to be uploaded, scaled, etc.) and
+ ``vo-passes/redraw`` for redrawn frames (which only have to be re-painted).
+ The number of passes for any given subtype can change from frame to frame,
+ and should not be relied upon.
- ``upload``
- Time needed to make the frame available to the GPU (if necessary).
- ``render``
- Time needed to perform all necessary video postprocessing and rendering
- passes (if necessary).
- ``present``
- Time needed to present a rendered frame on-screen.
+ Each frame type has a number of further sub-properties. Replace ``TYPE``
+ with the frame type, ``N`` with the 0-based pass index, and ``M`` with the
+ 0-based sample index.
- When a step is unnecessary or skipped, it will have the value 0.
+ ``vo-passes/TYPE/count``
+ Number of passes.
- ``<value>`` refers to one of:
+ ``vo-passes/TYPE/N/desc``
+ Human-friendy description of the pass.
- ``last``
- Last measured value.
- ``avg``
- Average over a fixed number of past samples. (The exact timeframe
- varies, but it should generally be a handful of seconds)
- ``peak``
- The peak (highest value) within this averaging range.
+ ``vo-passes/TYPE/N/last``
+ Last measured execution time, in nanoseconds.
+
+ ``vo-passes/TYPE/N/avg``
+ Average execution time of this pass, in nanoseconds. The exact
+ timeframe varies, but it should generally be a handful of seconds.
+
+ ``vo-passes/TYPE/N/peak``
+ The peak execution time (highest value) within this averaging range, in
+ nanoseconds.
+
+ ``vo-passes/TYPE/N/count``
+ The number of samples for this pass.
+
+ ``vo-passes/TYPE/N/samples/M``
+ The raw execution time of a specific sample for this pass, in
+ nanoseconds.
When querying the property with the client API using ``MPV_FORMAT_NODE``,
or with Lua ``mp.get_property_native``, this will return a mpv_node with
@@ -1917,9 +1928,18 @@ Property list
::
MPV_FORMAT_NODE_MAP
- "<metric>-<value>" MPV_FORMAT_INT64
-
- (One entry for each ``<metric>`` and ``<value>`` combination)
+ "TYPE" MPV_FORMAT_NODE_ARRAY
+ MPV_FORMAT_NODE_MAP
+ "desc" MPV_FORMAT_STRING
+ "last" MPV_FORMAT_INT64
+ "avg" MPV_FORMAT_INT64
+ "peak" MPV_FORMAT_INT64
+ "count" MPV_FORMAT_INT64
+ "samples" MPV_FORMAT_NODE_ARRAY
+ MP_FORMAT_INT64
+
+ Note that directly accessing this structure via subkeys is not supported,
+ the only access is through aforementioned ``MPV_FORMAT_NODE``.
``video-bitrate``, ``audio-bitrate``, ``sub-bitrate``
Bitrate values calculated on the packet level. This works by dividing the
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index 5b2e838243..c1fc4d96dc 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -4195,6 +4195,11 @@ The following video options are currently all specific to ``--vo=opengl`` and
Each block of metadata, along with the non-metadata lines after it, defines
a single pass. Each pass can set the following metadata:
+ DESC <title>
+ User-friendly description of the pass. This is the name used when
+ representing this shader in the list of passes for property
+ `vo-passes`.
+
HOOK <name> (required)
The texture which to hook into. May occur multiple times within a
metadata block, up to a predetermined limit. See below for a list of