backend/drm/atomic: Always use BT.709 encoding for YUV

When we overlay/scanout non-RGB planes we were relying on the default
DRM color encoding, which could vary per DRM device.  We want this to be
consistent across devices and with YUV conversion done by renderers, so
change this to always use BT.709 encoding (if the property is
available).  I've chosen BT.709 because it should be correct for HD
video, which is probably most common.
This commit is contained in:
David Turner 2025-05-08 09:53:24 +01:00
parent 2420bfef0b
commit 5234e30578
3 changed files with 22 additions and 0 deletions

View file

@ -48,6 +48,7 @@ static const struct prop_info crtc_info[] = {
static const struct prop_info plane_info[] = {
#define INDEX(name) (offsetof(struct wlr_drm_plane_props, name) / sizeof(uint32_t))
{ "COLOR_ENCODING", INDEX(color_encoding) },
{ "CRTC_H", INDEX(crtc_h) },
{ "CRTC_ID", INDEX(crtc_id) },
{ "CRTC_W", INDEX(crtc_w) },