wayland: display: Detect HDR10 metadata feature

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9353>
This commit is contained in:
Nicolas Dufresne 2025-07-08 10:08:57 -04:00 committed by GStreamer Marge Bot
parent 19a2a158fa
commit c61b6f76b0
2 changed files with 32 additions and 3 deletions

View File

@ -63,6 +63,7 @@ typedef struct _GstWlDisplayPrivate
GArray *dmabuf_modifiers;
gboolean color_parametric_creator_supported;
gboolean color_mastering_display_supported;
GArray *color_transfer_functions;
GArray *color_primaries;
GArray *color_alpha_modes;
@ -285,9 +286,17 @@ color_supported_feature (void *data,
GstWlDisplay *self = data;
GstWlDisplayPrivate *priv = gst_wl_display_get_instance_private (self);
if (feature == WP_COLOR_MANAGER_V1_FEATURE_PARAMETRIC) {
GST_INFO_OBJECT (self, "New_parametric_creator supported");
priv->color_parametric_creator_supported = TRUE;
switch (feature) {
case WP_COLOR_MANAGER_V1_FEATURE_PARAMETRIC:
GST_INFO_OBJECT (self, "New_parametric_creator supported");
priv->color_parametric_creator_supported = TRUE;
break;
case WP_COLOR_MANAGER_V1_FEATURE_SET_MASTERING_DISPLAY_PRIMARIES:
GST_INFO_OBJECT (self, "Mastering Display supported");
priv->color_mastering_display_supported = TRUE;
break;
default:
break;
}
}
@ -946,6 +955,23 @@ gst_wl_display_is_color_parametric_creator_supported (GstWlDisplay * self)
return priv->color_parametric_creator_supported;
}
/**
* gst_wl_display_is_color_mastering_display_supported:
* @self: A #GstWlDisplay
*
* Returns: %TRUE if the compositor supports mastering display primaries
* image descriptions
*
* Since: 1.28
*/
gboolean
gst_wl_display_is_color_mastering_display_supported (GstWlDisplay * self)
{
GstWlDisplayPrivate *priv = gst_wl_display_get_instance_private (self);
return priv->color_mastering_display_supported;
}
/**
* gst_wl_display_is_color_transfer_function_supported:
* @self: A #GstWlDisplay

View File

@ -130,6 +130,9 @@ struct wp_color_representation_manager_v1 *gst_wl_display_get_color_representati
GST_WL_API
gboolean gst_wl_display_is_color_parametric_creator_supported (GstWlDisplay * self);
GST_WL_API
gboolean gst_wl_display_is_color_mastering_display_supported (GstWlDisplay * self);
GST_WL_API
gboolean gst_wl_display_is_color_transfer_function_supported (GstWlDisplay * self, uint32_t transfer_function);