mpv/video/out
wm4 0348cd080f video: remove d3d11 video processor use from OpenGL interop
We now have a video filter that uses the d3d11 video processor, so it
makes no sense to have one in the VO interop code. The VO uses it for
formats not directly supported by ANGLE (so the video data is converted
to a RGB texture, which ANGLE can take in).

Change this so that the video filter is automatically inserted if
needed. Move the code that maps RGB surfaces to its own inteorp backend.
Add a bunch of new image formats, which are used to enforce the new
constraints, and to automatically insert the filter only when needed.

The added vf mechanism to auto-insert the d3d11vpp filter is very dumb
and primitive, and will work only for this specific purpose. The format
negotiation mechanism in the filter chain is generally not very pretty,
and mostly broken as well. (libavfilter has a different mechanism, and
these mechanisms don't match well, so vf_lavfi uses some sort of hack.
It only works because hwaccel and non-hwaccel formats are strictly
separated.)

The RGB interop is now only used with older ANGLE versions. The only
reason I'm keeping it is because it's relatively isolated (uses only
existing mechanisms and adds no new concepts), and because I want to be
able to compare the behavior of the old code with the new one for
testing. It will be removed eventually.

If ANGLE has NV12 interop, P010 is now handled by converting to NV12
with the video processor, instead of converting it to RGB and using the
old mechanism to import that as a texture.
2016-05-29 19:00:55 +02:00
..
cocoa os x: handle multiple dropped files on the window 2016-04-30 18:58:06 +02:00
opengl video: remove d3d11 video processor use from OpenGL interop 2016-05-29 19:00:55 +02:00
wayland
win32
aspect.c aspect: rework --video-unscaled 2016-04-10 18:29:20 +02:00
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_common.h
cocoa_common.m
d3d_shader_420p.h
d3d_shader_nv12.h
d3d_shader_yuv.hlsl
dither.c
dither.h
drm_common.c
drm_common.h
filter_kernels.c
filter_kernels.h
vo.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vo.h video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vo_caca.c
vo_direct3d.c vo_direct3d: remove passing device to decoder 2016-05-09 18:59:10 +02:00
vo_drm.c
vo_image.c
vo_lavc.c vo_lavc: fix build on Libav 2016-04-15 19:35:29 +02:00
vo_null.c
vo_opengl.c vo_opengl: always autoselect ANGLE as backend if available 2016-05-26 00:07:10 +02:00
vo_opengl_cb.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vo_rpi.c vo_rpi: rename mutex/cond variables 2016-04-26 17:12:01 +02:00
vo_sdl.c
vo_vaapi.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vo_vdpau.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
vo_wayland.c
vo_x11.c vo_xv, vo_x11: warn that these VOs should not be used 2016-03-06 19:22:15 +01:00
vo_xv.c vo_xv: Handle incorrect size returned by Xv(Shm)CreateImage 2016-05-24 10:25:39 +02:00
w32_common.c w32_common: make VOCTRL_SET_UNFS_WINDOW_SIZE resize the window around its center 2016-05-22 14:31:37 +02:00
w32_common.h
wayland_common.c wayland: use the advertised size in fullscreen 2016-05-08 19:47:08 +02:00
wayland_common.h
win_state.c
win_state.h
x11_common.c x11: tell GNOME to use dark window decorations 2016-05-09 20:39:59 +02:00
x11_common.h x11: move vo->input_ctx accesses to x11->input_ctx 2016-03-15 22:11:31 +01:00
x11_icon.bin