1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-10 00:49:32 +00:00
mpv/video/out/opengl
wm4 a3d416c3d3 vo_opengl: d3d11egl: native NV12 sampling support
This uses EGL_ANGLE_stream_producer_d3d_texture_nv12 and related
extensions to map the D3D textures coming from the hardware decoder
directly in GL.

In theory this would be trivial to achieve, but unfortunately ANGLE does
not have a mechanism to "import" D3D textures as GL textures. Instead,
an awkward mechanism via EGL_KHR_stream was implemented, which involves
at least 5 extensions and a lot of glue code. (Even worse than VAAPI EGL
interop, and very far from the simplicity you get on OSX.)

The ANGLE mechanism so far supports only the NV12 texture format, which
means 10 bit won't work. It also does not work in ES3 mode yet. For
these reasons, the "old" ID3D11VideoProcessor code is kept and used as a
fallback.
2016-05-10 21:06:34 +02:00
..
common.c vo_opengl: support GL_EXT_texture_norm16 on GLES 2016-04-27 19:19:56 +02:00
common.h vo_opengl: support GL_EXT_texture_norm16 on GLES 2016-04-27 19:19:56 +02:00
context_angle.c vo_opengl: add an angle-es2 backend 2016-05-10 20:19:25 +02: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 vo_opengl: prefix per-backend source files with context_ 2015-12-19 14:14:12 +01:00
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
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
egl_helpers.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
egl_helpers.h vo_opengl: x11egl: retrieve framebuffer depth 2015-12-19 14:14:12 +01:00
header_fixes.h vo_opengl: d3d11egl: native NV12 sampling support 2016-05-10 21:06:34 +02:00
hwdec_d3d11egl.c vo_opengl: d3d11egl: native NV12 sampling support 2016-05-10 21:06:34 +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: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec_dxva2gldx.c vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec_osx.c vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +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: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec.c vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +02:00
hwdec.h vo_opengl: refactor how hwdec interop exports textures 2016-05-10 18:42:42 +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_weights.bin vo_opengl: implement NNEDI3 prescaler 2015-11-05 17:38:20 +01:00
nnedi3.c vo_opengl: fix build breakage 2016-04-06 01:21:16 +02:00
nnedi3.h vo_opengl: fix nnedi + rectangle textures 2016-04-05 20:57:02 +02:00
osd.c vo_opengl, osd: allow osc.lua to react faster on resizes 2016-03-21 22:23:41 +01: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: decrease default superxbr-edge-strength 2016-03-07 22:31:15 +01:00
superxbr.h vo_opengl: refactor superxbr algorithm 2016-03-07 22:31:15 +01:00
utils.c vo_opengl: d3d11egl: native NV12 sampling support 2016-05-10 21:06:34 +02:00
utils.h vo_opengl: fix row-major vs. column-major confusion 2016-03-28 16:16:09 +02:00
video_shaders.c vo_opengl: simplify and improve up scale=oversample 2016-04-12 16:26:53 +02:00
video_shaders.h vo_opengl: fix sharpen filter 2016-03-16 19:09:52 +01:00
video.c vo_opengl: cosmetics: rename variables 2016-05-10 18:49:49 +02:00
video.h vo_opengl: improve rotation handling (again) 2016-04-08 22:21:38 +02:00