1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-11 09:27:26 +00:00
mpv/video/decode
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
..
d3d11va.c vo_opengl: d3d11egl: native NV12 sampling support 2016-05-10 21:06:34 +02:00
d3d.c d3d: DXVA2_ModeMPEG2_VLD supports all profiles 2016-05-03 15:46:16 +02:00
d3d.h d3d11va, dxva2: return the format struct directly 2016-04-29 23:30:01 +02:00
dec_video.c dec_video: always redisplay cover art after a seek 2016-03-11 20:58:13 +01:00
dec_video.h video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
dxva2.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
lavc.h video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vaapi.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vd_lavc.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vd.h video: approximate AVI timestamps via DTS handling 2016-02-11 16:14:30 +01:00
vdpau.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
videotoolbox.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00