From d2651a1e0b98f7b8268fa77e4709145b05b5cd8b Mon Sep 17 00:00:00 2001 From: "U. Artie Eoff" Date: Tue, 26 Apr 2022 12:07:26 -0400 Subject: [PATCH] va: vpp: enable compositor Part-of: --- subprojects/gst-plugins-bad/sys/va/plugin.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/subprojects/gst-plugins-bad/sys/va/plugin.c b/subprojects/gst-plugins-bad/sys/va/plugin.c index afcd65a..edc4425 100644 --- a/subprojects/gst-plugins-bad/sys/va/plugin.c +++ b/subprojects/gst-plugins-bad/sys/va/plugin.c @@ -29,6 +29,7 @@ #include "gstvaav1dec.h" #include "gstvacaps.h" +#include "gstvacompositor.h" #include "gstvadeinterlace.h" #include "gstvadevice.h" #include "gstvafilter.h" @@ -206,16 +207,18 @@ static void plugin_register_vpp (GstPlugin * plugin, GstVaDevice * device) { GstVaFilter *filter; - gboolean has_colorbalance, has_deinterlace; + gboolean has_colorbalance, has_deinterlace, has_compose; has_colorbalance = FALSE; has_deinterlace = FALSE; + has_compose = FALSE; filter = gst_va_filter_new (device->display); if (gst_va_filter_open (filter)) { has_colorbalance = gst_va_filter_has_filter (filter, VAProcFilterColorBalance); has_deinterlace = gst_va_filter_has_filter (filter, VAProcFilterDeinterlacing); + has_compose = gst_va_filter_has_compose (filter); } else { GST_WARNING ("Failed open VA filter"); gst_object_unref (filter); @@ -232,6 +235,13 @@ plugin_register_vpp (GstPlugin * plugin, GstVaDevice * device) device->render_device_path); } } + + if (has_compose) { + if (!gst_va_compositor_register (plugin, device, GST_RANK_NONE)) { + GST_WARNING ("Failed to register compositor: %s", + device->render_device_path); + } + } } static inline void -- 2.7.4