1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-30 02:52:10 +00:00
mpv/video/out
wm4 812128bab7 vo_opengl, vaapi: properly probe 10 bit rendering support
There are going to be users who have a Mesa installation which do not
support 10 bit, but a GPU which can decode to 10 bit. So it's probably
better not to hardcode whether it is supported.

Introduce a more general way to signal supported formats from renderer
to decoder. Obviously this is imperfect, because it still isn't part of
proper format negotation (for example, what if there's a vavpp filter,
which accepts anything). Still slightly better than before.

I don't know any way to probe for vaapi dmabuf/EGL dmabuf support
properly (in particular testing specific formats, not just general
availability). So we stay with the current approach and try to create
and map dummy surfaces on init to probe for support. Overdo it and check
all formats that AVHWFramesConstraints reports, instead of only NV12 and
P010 surfaces.

Since we can support unknown formats now, add explicitly checks to the
EGL/dmabuf mapper code to reject unsupported formats. I also noticed
that libavutil signals support for RGB0/BGR0, but couldn't get it to
work. Remove the DRM formats that are unused/didn't work the way I tried
to use them.

With this, 10 bit decoding + rendering should work, provided you have
a capable CPU and a patched Mesa. The required Mesa patch adds support
for the R16 and GR32 formats. It was sent by a Kodi developer to the
Mesa developer mailing list and was not accepted yet.
2017-01-13 18:43:35 +01:00
..
cocoa cocoa: add border cycling 2017-01-11 14:17:33 +01:00
opengl vo_opengl, vaapi: properly probe 10 bit rendering support 2017-01-13 18:43:35 +01:00
wayland
win32 displayconfig: treat a refresh rate of 1 as invalid 2016-09-18 22:15:25 +10:00
aspect.c aspect: use nominal width instead of actual width for video-unscaled 2016-09-22 21:24:56 +02:00
aspect.h
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
cocoa_common.m cocoa: don't change Space on quit in fullscreen 2017-01-11 15:00:47 +01:00
d3d_shader_420p.h
d3d_shader_nv12.h
d3d_shader_yuv.hlsl
dither.c
dither.h
drm_common.c drm: include <poll.h> instead of <sys/poll.h> 2017-01-09 16:21:28 +01:00
drm_common.h vo_drm: change CLI options + refactors 2016-10-07 00:22:23 +02:00
filter_kernels.c filter_kernels: add ability to taper kernels/windows 2016-11-01 16:25:40 +01:00
filter_kernels.h filter_kernels: add ability to taper kernels/windows 2016-11-01 16:25:40 +01:00
vo_caca.c
vo_direct3d.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_drm.c vo_drm: remove 2 redundant include statements 2017-01-09 16:23:27 +01:00
vo_image.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_lavc.c Remove compatibility things 2016-12-07 19:53:11 +01:00
vo_null.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_opengl_cb.c client API: allow passing NULL to mpv_opengl_cb_uninit_gl() 2016-12-09 21:31:45 +01:00
vo_opengl.c vo_opengl: don't rely on viewport to contain window dimensions 2016-12-02 15:26:45 +01:00
vo_rpi.c vo_rpi: partially undeprecate 2016-12-08 11:00:14 +01:00
vo_sdl.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_tct.c vo_tct: support also 256 colors output 2016-10-25 00:03:01 +11:00
vo_vaapi.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +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 vo_x11: fix some ifdeffery 2016-09-13 18:26:06 +02:00
vo_xv.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo.c vo_rpi: partially undeprecate 2016-12-08 11:00:14 +01:00
vo.h options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
w32_common.c win32: fix for wm_syscommand 2017-01-05 17:23:03 +11:00
w32_common.h
wayland_common.c Fix mistakes in spelling and grammar 2016-12-21 17:47:57 +01:00
wayland_common.h wayland_common: remove untested/unusable wayland dnd code 2016-07-30 00:02:39 +02:00
win_state.c Apply autofit-larger after autofit-smaller 2016-11-03 21:30:25 +01:00
win_state.h
x11_common.c vo_opengl: x11: move RGBA visual test to x11_common.c 2016-12-30 20:04:32 +01:00
x11_common.h vo_opengl: x11: move RGBA visual test to x11_common.c 2016-12-30 20:04:32 +01:00
x11_icon.bin