1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-20 02:09:52 +00:00
mpv/DOCS/man
wm4 7b6e3772ab 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.
2016-01-26 21:35:23 +01:00
..
af.rst manpage: minor corrections 2016-01-24 19:41:32 +01:00
ao.rst ao_dsound: remove this audio output 2016-01-06 13:52:15 +01:00
changes.rst manpage: move out the MPlayer comparison page 2015-02-05 22:12:11 +01:00
encode.rst man: fix grammar issues 2015-12-19 09:26:41 +01:00
input.rst command: always allow setting volume/mute properties 2016-01-26 15:23:09 +01:00
ipc.rst man: fix grammar issues 2015-12-19 09:26:41 +01:00
lua.rst manpage: lua: fix command names 2015-12-29 01:36:43 +01:00
mpv.rst manpage: update win32 config path 2016-01-14 10:34:48 +01:00
options.rst manpage: minor corrections 2016-01-24 19:41:32 +01:00
osc.rst osc: time display configuration options 2015-06-19 21:33:44 +02:00
vf.rst vf_yadif: change defaults 2015-12-21 22:05:40 +01:00
vo.rst vo_opengl: support 10 bit support with ANGLE 2016-01-26 21:35:23 +01:00