1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-11 08:37:59 +00:00
mpv/video/out
wm4 64d56114ed vo_opengl: add direct rendering support
Can be enabled via --vd-lavc-dr=yes. See manpage additions for what it
does.

This reminds of the MPlayer -dr flag, but the implementation is
completely different. It's the same basic concept: letting the decoder
render into a GPU buffer to avoid a copy. Unlike MPlayer, this doesn't
try to go through filters (libavfilter doesn't support this anyway).
Unless a filter can work in-place, DR will be silently disabled. MPlayer
had very complex semantics about buffer types and management (which
apparently nobody ever understood) and weird restrictions that mostly
limited it to mpeg2 style codecs. The mpv code does not do any of this,
and just lets the decoder allocate an arbitrary number of untyped
images. (No MPlayer code was used.)

Parts of the code based on work by atomnuker (starting point for the
generic code) and haasn (some GL definitions, some basic PBO code, and
correct fencing).
2017-07-24 04:32:55 +02:00
..
cocoa osx: change license header on some more cocoa files 2017-06-24 16:50:52 +02:00
opengl vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
wayland video/out/wayland/buffer.c: Add missing free() 2017-05-26 08:52:12 +01:00
win32 droptarget: fix style and refactor 2017-03-26 00:41:16 +11:00
aspect.c aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
aspect.h aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
bitmap_packer.c bitmap_packer: remove some unused functions 2016-07-01 20:29:45 +02:00
bitmap_packer.h bitmap_packer: remove some unused functions 2016-07-01 20:29:45 +02:00
cocoa_common.h osx: change license of OSX and cocoa files to LGPL 2017-06-24 16:29:22 +02:00
cocoa_common.m osx: change license of OSX and cocoa files to LGPL 2017-06-24 16:29:22 +02:00
d3d_shader_420p.h vo_direct3d: support NV12 with shaders 2015-03-02 19:09:18 +01:00
d3d_shader_yuv.hlsl vo_direct3d: support NV12 with shaders 2015-03-02 19:09:18 +01:00
dither.c Change GPL/LGPL dual-licensed files to LGPL 2016-01-19 18:36:34 +01:00
dither.h gl_video: improve dithering 2013-05-26 16:44:20 +02:00
drm_common.c vo_drm: nake drm mode help output also output refresh rate 2017-06-18 20:54:44 +02:00
drm_common.h vo_drm: change CLI options + refactors 2016-10-07 00:22:23 +02:00
filter_kernels.c vo_opengl: generalize --scale-clamp etc. 2017-07-12 19:08:58 +02:00
filter_kernels.h vo_opengl: generalize --scale-clamp etc. 2017-07-12 19:08:58 +02:00
vo_caca.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_direct3d.c vo_direct3d: remove non-working nv12 shader support 2017-06-30 18:13:01 +02:00
vo_drm.c vo_drm: fallback to vo_wait_default if VT switcher is not available 2017-06-08 15:24:10 +02:00
vo_image.c image_writer, vo_image: change license to LGPL 2017-06-18 15:45:24 +02:00
vo_lavc.c encode_lavc: move from GPL 2+ to LGPL 2.1+. 2017-06-13 14:22:15 -04:00
vo_null.c vo.c, vo.h, vo_null.c: change license to LGPL 2017-05-10 15:06:20 +02:00
vo_opengl_cb.c vo: fix subtleties in the redrawing logic 2017-02-21 15:39:44 +01:00
vo_opengl.c vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
vo_rpi.c vo_rpi: partially undeprecate 2016-12-08 11:00:14 +01:00
vo_sdl.c video: get rid of swapped packed YUV 2017-06-30 18:01:29 +02:00
vo_tct.c vo_tct: check ioctl result 2017-02-20 14:19:57 +01:00
vo_vaapi.c vaapi: remove central lock around vaapi API calls 2017-01-28 18:27:30 +01:00
vo_vdpau.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_wayland.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_x11.c build: make various x11 protocol extension libs mandatory 2017-04-21 07:30:03 +02:00
vo_xv.c video: get rid of swapped packed YUV 2017-06-30 18:01:29 +02:00
vo.c vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
vo.h vo_opengl: add direct rendering support 2017-07-24 04:32:55 +02:00
w32_common.c w32_common: use sent messages to wake up the Win32 thread 2017-07-04 23:08:40 +10:00
w32_common.h w32_common, w32_keyboard: change license to LGPL 2017-06-24 12:54:45 +02:00
wayland_common.c wayland_common: organize and correctly map mouse buttons 2017-03-17 06:25:32 +00:00
wayland_common.h wayland_common: remove untested/unusable wayland dnd code 2016-07-30 00:02:39 +02:00
win_state.c win_state: change license to LGPL 2017-06-17 21:10:24 +02:00
win_state.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
x11_common.c x11: add 128x128 sized icon support 2017-07-02 13:07:36 +02:00
x11_common.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00