summaryrefslogtreecommitdiffstats
path: root/DOCS/man/vo.rst
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/man/vo.rst')
-rw-r--r--DOCS/man/vo.rst77
1 files changed, 54 insertions, 23 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index ef4a677c62..e3f0757280 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -290,6 +290,26 @@ Available video output drivers are:
color space conversion and chroma upsampling is generally in the hand of
the hardware decoder APIs.
+ ``opengl`` makes use of FBOs by default. Sometimes you can achieve better
+ quality or performance by changing the ``fbo-format`` suboption to
+ ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include Mesa/Intel not
+ accepting ``rgb16``, Mesa sometimes not being compiled with float texture
+ support, and some OS X setups being very slow with ``rgb16`` but fast
+ with ``rgb32f``. If you have problems, you can also try passing the
+ ``dumb-mode=yes`` sub-option.
+
+ ``dumb-mode=<yes|no>``
+ This mode is extremely restricted, and will disable most extended
+ OpenGL features. This includes high quality scalers and custom
+ shaders!
+
+ It is intended for hardware that does not support FBOs (including GLES,
+ which supports it insufficiently), or to get some more performance out
+ of bad or old hardware.
+
+ This mode is forced automatically if needed, and this option is mostly
+ useful for debugging.
+
``scale=<filter>``
``bilinear``
@@ -530,17 +550,9 @@ Available video output drivers are:
feature doesn't work correctly with different scale factors in
different directions.
- ``source-shader=<file>``, ``scale-shader=<file>``, ``pre-shaders=<files>``, ``post-shaders=<files>``
+ ``pre-shaders=<files>``, ``post-shaders=<files>``, ``scale-shader=<file>``
Custom GLSL fragment shaders.
- source-shader
- This gets applied directly onto the source planes, before
- any sort of upscaling or conversion whatsoever. For YCbCr content,
- this means it gets applied on the luma and chroma planes
- separately. In general, this shader shouldn't be making any
- assumptions about the colorspace. It could be RGB, YCbCr, XYZ or
- something else entirely. It's used purely for fixing numerical
- quirks of the input, eg. debanding or deblocking.
pre-shaders (list)
These get applied after conversion to RGB and before linearization
and upscaling. Operates on non-linear RGB (same as input). This is
@@ -581,10 +593,6 @@ Available video output drivers are:
never resets (regardless of seeks).
vec2 image_size
The size in pixels of the input image.
- float cmul (source-shader only)
- The multiplier needed to pull colors up to the right bit depth. The
- source-shader must multiply any sampled colors by this, in order
- to normalize them to the full scale.
For example, a shader that inverts the colors could look like this::
@@ -594,6 +602,37 @@ Available video output drivers are:
return vec4(1.0 - color.rgb, color.a);
}
+ ``deband``
+ Enable the debanding algorithm. This greatly reduces the amount of
+ visible banding, blocking and other quantization artifacts, at the
+ expensive of very slightly blurring some of the finest details. In
+ practice, it's virtually always an improvement - the only reason to
+ disable it would be for performance.
+
+ ``deband-iterations=<1..16>``
+ The number of debanding steps to perform per sample. Each step reduces
+ a bit more banding, but takes time to compute. Note that the strength
+ of each step falls off very quickly, so high numbers are practically
+ useless. (Default 4)
+
+ If the performance hit of debanding is too great, you can reduce this
+ to 2 or 1 with marginal visual quality loss.
+
+ ``deband-threshold=<0..4096>``
+ The debanding filter's cut-off threshold. Higher numbers increase the
+ debanding strength dramatically but progressively diminish image
+ details. (Default 64)
+
+ ``deband-range=<1..64>``
+ The debanding filter's initial radius. The radius increases linearly
+ for each iteration. A higher radius will find more gradients, but
+ a lower radius will smooth more aggressively. (Default 8)
+
+ ``deband-grain=<0..4096>``
+ Add some extra noise to the image. This significantly helps cover up
+ remaining quantization artifacts. Higher numbers add more noise.
+ (Default 48)
+
``sigmoid-upscaling``
When upscaling, use a sigmoidal color transform to avoid emphasizing
ringing artifacts. This also implies ``linear-scaling``.
@@ -657,8 +696,7 @@ Available video output drivers are:
``fbo-format=<fmt>``
Selects the internal format of textures used for FBOs. The format can
- influence performance and quality of the video output. (FBOs are not
- always used, and typically only when using extended scalers.)
+ influence performance and quality of the video output.
``fmt`` can be one of: rgb, rgba, rgb8, rgb10, rgb10_a2, rgb16, rgb16f,
rgb32f, rgba12, rgba16, rgba16f, rgba32f.
Default: rgba16.
@@ -821,18 +859,11 @@ Available video output drivers are:
This is equivalent to::
- --vo=opengl:scale=spline36:cscale=spline36:dscale=mitchell:dither-depth=auto:fancy-downscaling:sigmoid-upscaling:pbo
+ --vo=opengl:scale=spline36:cscale=spline36:dscale=mitchell:dither-depth=auto:fancy-downscaling:sigmoid-upscaling:pbo:deband
Note that some cheaper LCDs do dithering that gravely interferes with
``opengl``'s dithering. Disabling dithering with ``dither-depth=no`` helps.
- Unlike ``opengl``, ``opengl-hq`` makes use of FBOs by default. Sometimes you
- can achieve better quality or performance by changing the ``fbo-format``
- suboption to ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include
- Mesa/Intel not accepting ``rgb16``, Mesa sometimes not being compiled with
- float texture support, and some OS X setups being very slow with ``rgb16``
- but fast with ``rgb32f``.
-
``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.