diff options
Diffstat (limited to 'DOCS/man/vo.rst')
-rw-r--r-- | DOCS/man/vo.rst | 77 |
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. |