summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2015-09-05 17:39:27 +0200
committerwm4 <wm4@nowhere>2015-09-09 19:19:23 +0200
commit97363e176d180f4f1bbc1e67e3e513c493ce31ed (patch)
tree592e0d675e88e8cdf5ba61b9c43925caa1ede7d9 /DOCS
parent95d5bee832f33721a228d19341e20b12149498ce (diff)
downloadmpv-97363e176d180f4f1bbc1e67e3e513c493ce31ed.tar.bz2
mpv-97363e176d180f4f1bbc1e67e3e513c493ce31ed.tar.xz
vo_opengl: implement debanding (and remove source-shader)
The removal of source-shader is a side effect, since this effectively replaces it - and the video-reading code has been significantly restructured to make more sense and be more readable. This means users no longer have to constantly download and maintain a separate deband.glsl installation alongside mpv, which was the only real use case for source-shader that we found either way.
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/man/vo.rst47
1 files changed, 33 insertions, 14 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 82a52b0297..e3f0757280 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -550,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
@@ -601,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::
@@ -614,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``.
@@ -840,7 +859,7 @@ 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.