mpv/video/out/opengl
wm4 0348cd080f video: remove d3d11 video processor use from OpenGL interop
We now have a video filter that uses the d3d11 video processor, so it
makes no sense to have one in the VO interop code. The VO uses it for
formats not directly supported by ANGLE (so the video data is converted
to a RGB texture, which ANGLE can take in).

Change this so that the video filter is automatically inserted if
needed. Move the code that maps RGB surfaces to its own inteorp backend.
Add a bunch of new image formats, which are used to enforce the new
constraints, and to automatically insert the filter only when needed.

The added vf mechanism to auto-insert the d3d11vpp filter is very dumb
and primitive, and will work only for this specific purpose. The format
negotiation mechanism in the filter chain is generally not very pretty,
and mostly broken as well. (libavfilter has a different mechanism, and
these mechanisms don't match well, so vf_lavfi uses some sort of hack.
It only works because hwaccel and non-hwaccel formats are strictly
separated.)

The RGB interop is now only used with older ANGLE versions. The only
reason I'm keeping it is because it's relatively isolated (uses only
existing mechanisms and adds no new concepts), and because I want to be
able to compare the behavior of the old code with the new one for
testing. It will be removed eventually.

If ANGLE has NV12 interop, P010 is now handled by converting to NV12
with the video processor, instead of converting it to RGB and using the
old mechanism to import that as a texture.
2016-05-29 19:00:55 +02:00
..
angle_dynamic.c vo_opengl: angle: dynamically load ANGLE 2016-05-11 15:39:29 +02:00
angle_dynamic.h vo_opengl: angle: dynamically load ANGLE 2016-05-11 15:39:29 +02:00
common.c vo_opengl: make ES float texture format checks stricter 2016-05-23 21:27:18 +02:00
common.h vo_opengl: make ES float texture format checks stricter 2016-05-23 21:27:18 +02:00
context.c vo_opengl: add an angle-es2 backend 2016-05-10 20:19:25 +02:00
context.h vo_opengl: GLX: try to create 3.3 core profile context 2016-03-19 19:31:17 +01:00
context_angle.c vo_opengl: angle: enable DirectComposition 2016-05-29 01:55:10 +10:00
context_cocoa.c vo_opengl: always premultiply alpha 2016-03-29 21:56:38 +02:00
context_drm_egl.c vo_opengl: add KMS/DRM VAAPI hardware decoding interop 2016-01-20 19:41:29 +01:00
context_dxinterop.c vo_opengl: only open one OpenGL/DX interop handle when using dxva2 2016-03-15 17:04:58 -07:00
context_rpi.c vo_opengl: rpi: don't include x11 header file 2016-04-15 09:45:15 +02:00
context_rpi.h
context_w32.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
context_wayland.c vo_opengl: wayland: don't destroy NULL wl_egl_window 2016-03-03 15:30:28 +01:00
context_x11.c vo_opengl: always premultiply alpha 2016-03-29 21:56:38 +02:00
context_x11egl.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
egl_helpers.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
egl_helpers.h
formats.c vo_opengl: make ES float texture format checks stricter 2016-05-23 21:27:18 +02:00
formats.h vo_opengl: make ES float texture format checks stricter 2016-05-23 21:27:18 +02:00
header_fixes.h vo_opengl: reorganize texture format handling 2016-05-12 21:22:28 +02:00
hwdec.c video: remove d3d11 video processor use from OpenGL interop 2016-05-29 19:00:55 +02:00
hwdec.h vo_opengl: d3d11egl: enable "required" GLSL extensions 2016-05-19 12:02:08 +02:00
hwdec_d3d11egl.c video: remove d3d11 video processor use from OpenGL interop 2016-05-29 19:00:55 +02:00
hwdec_d3d11eglrgb.c video: remove d3d11 video processor use from OpenGL interop 2016-05-29 19:00:55 +02:00
hwdec_dxva2.c vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec_dxva2egl.c vo_opengl: hwdec: remove build-dependency on dxva2 2016-05-17 10:59:11 +02:00
hwdec_dxva2gldx.c vo_opengl: hwdec: remove build-dependency on dxva2 2016-05-17 10:59:11 +02:00
hwdec_osx.c vo_opengl: fix passing along swizzle from hwdec interop 2016-05-10 21:12:57 +02:00
hwdec_vaegl.c vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec_vaglx.c vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec_vdpau.c vo_opengl: fix other minor namespace issues 2016-05-23 21:27:18 +02:00
lcms.c lcms: don't warn/error on 3dlut cache misses 2016-05-04 12:10:55 +02:00
lcms.h lcms: improve black point handling (especially BT.1886) 2016-05-04 12:10:45 +02:00
nnedi3.c vo_opengl: abstract hook texture access behind macro 2016-05-15 20:42:08 +02:00
nnedi3.h vo_opengl: abstract hook texture access behind macro 2016-05-15 20:42:08 +02:00
nnedi3_weights.bin
osd.c vo_opengl: rename glUploadTex, drop unused parameter 2016-05-23 21:27:18 +02:00
osd.h vo_opengl, osd: allow osc.lua to react faster on resizes 2016-03-21 22:23:41 +01:00
superxbr.c vo_opengl: fix superxbr shader compilation on ES 2016-05-26 08:21:10 +02:00
superxbr.h vo_opengl: abstract hook texture access behind macro 2016-05-15 20:42:08 +02:00
user_shaders.c vo_opengl: skip junk before first user shader pass 2016-05-27 17:03:00 +02:00
user_shaders.h vo_opengl: remove unused global variable 2016-05-16 12:41:55 +02:00
utils.c vo_opengl: enable color management on GLES 2016-05-27 23:02:26 +10:00
utils.h vo_opengl: fix other minor namespace issues 2016-05-23 21:27:18 +02:00
video.c vo_opengl: enable color management on GLES 2016-05-27 23:02:26 +10:00
video.h vo_opengl: implement more HDR tonemapping algorithms 2016-05-16 02:49:49 +02:00
video_shaders.c vo_opengl: fix bicubic_fast in ES mode 2016-05-16 12:10:47 +02:00
video_shaders.h vo_opengl: implement more HDR tonemapping algorithms 2016-05-16 02:49:49 +02:00