1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-25 09:03:15 +00:00
mpv/video/out/opengl
wm4 8d8a2045bd vo_opengl: support new VAAPI EGL interop
Should work much better than the old GLX interop code. Requires Mesa 11,
and explicitly selecting the X11 EGL backend with:

    --vo=opengl:backend=x11egl

Should it turn out that the new interop works well, we will try to
autodetect EGL by default.

This code still uses some bad assumptions, like expecting surfaces to be
in NV12. (This is probably ok, because virtually all HW will use this
format. But we should at least check this on init or so, instead of
failing to render an image if our assumption doesn't hold up.)

This repo was a lot of help: https://github.com/gbeauchesne/ffvademo
The kodi code was also helpful (the magic FourCC it uses for
EGL_LINUX_DRM_FOURCC_EXT are nowhere documented, and
EGL_IMAGE_INTERNAL_FORMAT_EXT as used in ffvademo does
not actually exist).

(This is the 3rd VAAPI GL interop that was implemented in this player.)
2015-09-25 00:26:19 +02:00
..
cocoa.c
common.c vo_opengl: load certain EGL extensions needed for VAAPI EGL interop 2015-09-25 00:19:58 +02:00
common.h vo_opengl: load certain EGL extensions needed for VAAPI EGL interop 2015-09-25 00:19:58 +02:00
header_fixes.h vo_opengl: load certain EGL extensions needed for VAAPI EGL interop 2015-09-25 00:19:58 +02:00
hwdec_dxva2.c client API: rename GL_MP_D3D_interfaces 2015-09-24 21:07:37 +02:00
hwdec_vaegl.c vo_opengl: support new VAAPI EGL interop 2015-09-25 00:26:19 +02:00
hwdec_vaglx.c vo_opengl: actually set hardware decoder mapped texture format 2015-09-24 23:48:57 +02:00
hwdec_vda.c vo_opengl: actually set hardware decoder mapped texture format 2015-09-24 23:48:57 +02:00
hwdec_vdpau.c vo_opengl: actually set hardware decoder mapped texture format 2015-09-24 23:48:57 +02:00
hwdec.c vo_opengl: support new VAAPI EGL interop 2015-09-25 00:26:19 +02:00
hwdec.h
lcms.c
lcms.h
osd.c
osd.h
rpi.c
rpi.h
utils.c vo_opengl: move shader file caching to video.c 2015-09-23 22:13:03 +02:00
utils.h vo_opengl: move shader file caching to video.c 2015-09-23 22:13:03 +02:00
video_shaders.c vo_opengl: remove sharpen scalers, add sharpen sub-option 2015-09-23 22:43:27 +02:00
video_shaders.h vo_opengl: remove sharpen scalers, add sharpen sub-option 2015-09-23 22:43:27 +02:00
video.c vo_opengl: actually set hardware decoder mapped texture format 2015-09-24 23:48:57 +02:00
video.h vo_opengl: remove sharpen scalers, add sharpen sub-option 2015-09-23 22:43:27 +02:00
w32.c
wayland.c
x11.c
x11egl.c vo_opengl: add mechanism to retrieve Display from EGL context 2015-09-25 00:20:11 +02:00