summaryrefslogtreecommitdiffstats
path: root/DOCS/man
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-01-26 20:47:32 +0100
committerwm4 <wm4@nowhere>2016-01-26 21:35:23 +0100
commit7b6e3772ab7a39fc81e7524540e69eb30c4da7ac (patch)
treedaa55a939321c662a2f759fac442c416004fd72c /DOCS/man
parentbeb7094301a73d3af056982601ace45b8f3e7039 (diff)
downloadmpv-7b6e3772ab7a39fc81e7524540e69eb30c4da7ac.tar.bz2
mpv-7b6e3772ab7a39fc81e7524540e69eb30c4da7ac.tar.xz
vo_opengl: support 10 bit support with ANGLE
GLES does not support high bit depth fixed point textures for unknown reasons, so direct 10 bit input is not possible. But we can still use integer textures, which are supported by GLES 3.0. These store integer data just like the standard fixed point textures, except they are not normalized on sampling. They also don't support bilinear filtering, and require a special sampler ("usampler2D"). While these texture formats enable us to shuffle the data to the GPU, they're rather impractical with the requirements mentioned above and our current architecture. One problem is that most code assumes it can always use bilinear scaling (even if bilinear is never used when using appropriate scale/cscale options). Another is that we don't have any concept of running a function on a texture in an uniform way. So for now, run a simple conversion step through a FBO. The FBO will use the rgba16f format normally, which gives enough bits for 10 bit, and will at least gracefully degrade with higher depth input. This is bound to be much slower than a more "direct" method, but at least it works and is simple to implement. The odd change of function call order in init_video() is to properly disable "dumb mode" (no FBO use) if these texture formats are in use.
Diffstat (limited to 'DOCS/man')
-rw-r--r--DOCS/man/vo.rst2
1 files changed, 1 insertions, 1 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 69c554fa16..0725cf19e6 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -804,7 +804,7 @@ Available video output drivers are:
angle
Direct3D11 through the OpenGL ES translation layer ANGLE. This
supports almost everything the ``win`` backend does, except ICC
- profiles, high bit depth video input, and the ``nnedi3`` prescaler.
+ profiles, and the ``nnedi3`` prescaler.
dxinterop (experimental)
Win32, using WGL for rendering and Direct3D 9Ex for presentation.
Works on Nvidia and AMD only.