mirror of
https://github.com/mpv-player/mpv
synced 2025-02-11 09:27:26 +00:00
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. |
||
---|---|---|
.. | ||
d3d11va.c | ||
d3d.c | ||
d3d.h | ||
dec_video.c | ||
dec_video.h | ||
dxva2.c | ||
lavc.h | ||
vaapi.c | ||
vd_lavc.c | ||
vd.h | ||
vdpau.c | ||
videotoolbox.c |