mpv/video
rr- c3f2ef5491 vo_opengl: add DRM EGL backend
Notes:

- Unfortunately the only way to talk to EGL from within DRM I could find
  involves linking with GBM (generic buffer management for Mesa.)
  Because of this, I'm pretty sure it won't work with proprietary NVidia
  drivers, but then again, last time I checked NVidia didn't offer
  proper screen resolution for VT.

- VT switching doesn't seem to work at all. It's worth mentioning that
  using vo_drm before introduction of VT switcher had an anomaly where
  user could switch to another VT and input text to it, while video
  played on top of that VT. However, that isn't the case with drm_egl:
  I can't switch to other VT during playback like this. This makes me
  think that it's either a limitation coming from my firmware or from
  EGL/KMS itself rather than a bug with my code. Nonetheless, I still
  left (untestable) VT switching code in place, in case it's useful to
  someone else.

- The mode_id, connector_id and device_path should be configurable for
  power users and people who wish to watch videos on nonprimary screen.
  Unfortunately I didn't see anything that would allow OpenGL backends
  to register their own set of options. At the same time, adding them to
  global namespace is pointless.

- A few dozens of lines could be shared with vo_drm (setting up VT
  switching, most of code behind page flipping). I don't have any strong
  opinion on this.

- Sometimes I get minor visual glitches. I'm not sure if there's a race
  condition of some sort, unitialized variable (doubtful), or if it's
  buggy driver. (I'm using integrated Intel HD Graphics 4400 with Mesa)

- .config and .control are very minimal.

Signed-off-by: wm4 <wm4@nowhere>
2015-11-08 15:00:15 +01:00
..
decode video: increase avi pts buffer size 2015-11-06 17:06:32 +01:00
filter Remove some VLAs 2015-11-06 21:12:20 +01:00
out vo_opengl: add DRM EGL backend 2015-11-08 15:00:15 +01:00
csputils.c video: replace vf_format outputlevels option with global option 2015-09-29 21:12:26 +02:00
csputils.h video: replace vf_format outputlevels option with global option 2015-09-29 21:12:26 +02:00
d3d.h vo_direct3d, dxva2: use the same D3D device 2015-07-03 16:04:42 +02:00
fmt-conversion.c video: remove VDA support 2015-09-28 22:03:14 +02:00
fmt-conversion.h
gpu_memcpy.c video: refactor GPU memcpy usage 2015-09-25 19:18:16 +02:00
gpu_memcpy.h video: refactor GPU memcpy usage 2015-09-25 19:18:16 +02:00
hwdec.h video: remove VDA support 2015-09-28 22:03:14 +02:00
image_writer.c Replace deprecated av_free_packet() calls 2015-10-28 23:48:56 +01:00
image_writer.h
img_format.c video: fix playback of pal8 2015-11-01 14:11:43 +01:00
img_format.h vo_opengl: support all kinds of GBRP formats 2015-10-18 18:37:24 +02:00
img_fourcc.h
mp_image.c video: replace vf_format outputlevels option with global option 2015-09-29 21:12:26 +02:00
mp_image.h video: replace vf_format outputlevels option with global option 2015-09-29 21:12:26 +02:00
mp_image_pool.c video: replace our own refcounting with libavutil's 2015-07-05 23:56:00 +02:00
mp_image_pool.h
sws_utils.c video: replace vf_format outputlevels option with global option 2015-09-29 21:12:26 +02:00
sws_utils.h
vaapi.c Remove some VLAs 2015-11-06 21:12:20 +01:00
vaapi.h vaapi: drop non-existing FourCC 2015-10-17 14:20:53 +02:00
vdpau.c video: reduce error message when loading hwdec backend fails 2015-06-20 22:26:57 +02:00
vdpau.h video: reduce error message when loading hwdec backend fails 2015-06-20 22:26:57 +02:00
vdpau_functions.inc vo_vdpau: directly get surface size from surface for screenshots 2015-06-05 22:34:16 +02:00
vdpau_mixer.c vdpau: retrieve mixer parameters directly from the hw surface 2015-05-28 21:54:02 +02:00
vdpau_mixer.h vdpau: retrieve mixer parameters directly from the hw surface 2015-05-28 21:54:02 +02:00