mpv/video
Dudemanguy 187fffd0f5 wayland: add support for xx-color-management-v4 for vo_dmabuf_wayland
Although this protocol isn't official yet, several compositors are known
to support it to some extent and this lets users actually view HDR with
less hacks/workarounds. The actual protocol here is simply copy and
pasted from the upstream fork* where these are developed. There is also
icc profile support in the protocol, but this is omitted for now in
favor of setting colorspaces and signalling hdr metadata. However for
mpv, this only actually has any practical use with vo_dmabuf_wayland so
this is the only VO that will make use of the protocol. When using
vulkan, this is already handled via vulkan extensions by compositors and
vo_gpu_next. So actually we don't want to use the wayland protocol in
that case since it will just get in the way. The only known limitation
on that front is driver support for hdr vulkan surfaces but as soon as
that is available it should just work with no code changes. For opengl,
hdr support there is a whole other mess with a lot of unknowns but
simply using this protocol isn't good enough and would require changes
elsewhere. vo_wlshm is currently too stupid to pick any format besides
bgr0 or 0rgb, so any color management there is meaningless at this
stage.

So this means that only vo_dmabuf_wayland can actually use this
protocol. But that's perfectly fine. Without this, vo_dmabuf_wayland has
a very bad limitation in that it cannot communicate colorspaces at all
and compositors have to guess. Using xx-color-management-v4 fixes this.
For the other VOs, merely having the common protocol setup stuff in the
common code does no harm and later if they get smarter, it's easy for
them to use the stuff since it is written generically anyway.

*: https://gitlab.freedesktop.org/swick/wayland-protocols/-/tree/color-xx/staging/color-management
2024-10-15 00:15:40 +00:00
..
decode various: remove global.h inclusion where not needed 2024-10-01 12:23:44 +02:00
filter vf_format: set original params when converting format 2024-10-06 22:01:37 +02:00
out wayland: add support for xx-color-management-v4 for vo_dmabuf_wayland 2024-10-15 00:15:40 +00:00
csputils.c video/csputils: remove space from choice option for chroma loc 2024-08-24 17:11:39 +02:00
csputils.h
cuda.c
d3d.c
d3d.h
drmprime.c
fmt-conversion.c
fmt-conversion.h
hwdec.c video: hwdec: extend look up of hwdecs to consider device type as well 2024-08-10 14:24:36 -07:00
hwdec.h hwdec_vaapi: try format upload lazily 2024-10-12 01:36:44 +02:00
image_loader.c
image_loader.h
image_writer.c various: remove no longer needed availability checks 2024-06-22 16:12:14 +02:00
image_writer.h
img_format.c img_format: prevent an offset >= MP_MAX_PLANES into bpp 2024-08-13 12:35:27 +02:00
img_format.h
mp_image.c mp_image: restore dovi metadata before converting to AVFrame 2024-10-06 22:01:37 +02:00
mp_image.h mp_image: save fallback colorspace when dovi metadata is present 2024-09-01 19:41:25 +02:00
mp_image_pool.c meson: require Vulkan loader/headers >= 1.3.238 2024-09-14 17:20:16 +02:00
mp_image_pool.h
repack.c
repack.h
sws_utils.c various: remove no longer needed availability checks 2024-06-22 16:12:14 +02:00
sws_utils.h
vaapi.c
vaapi.h
vdpau.c
vdpau.h
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h
zimg.c
zimg.h