va: vpp: enable compositor

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
This commit is contained in:
U. Artie Eoff 2022-04-26 12:07:26 -04:00 committed by Víctor Manuel Jáquez Leal
parent afe8723196
commit d2651a1e0b

View file

@ -29,6 +29,7 @@
#include "gstvaav1dec.h" #include "gstvaav1dec.h"
#include "gstvacaps.h" #include "gstvacaps.h"
#include "gstvacompositor.h"
#include "gstvadeinterlace.h" #include "gstvadeinterlace.h"
#include "gstvadevice.h" #include "gstvadevice.h"
#include "gstvafilter.h" #include "gstvafilter.h"
@ -206,16 +207,18 @@ static void
plugin_register_vpp (GstPlugin * plugin, GstVaDevice * device) plugin_register_vpp (GstPlugin * plugin, GstVaDevice * device)
{ {
GstVaFilter *filter; GstVaFilter *filter;
gboolean has_colorbalance, has_deinterlace; gboolean has_colorbalance, has_deinterlace, has_compose;
has_colorbalance = FALSE; has_colorbalance = FALSE;
has_deinterlace = FALSE; has_deinterlace = FALSE;
has_compose = FALSE;
filter = gst_va_filter_new (device->display); filter = gst_va_filter_new (device->display);
if (gst_va_filter_open (filter)) { if (gst_va_filter_open (filter)) {
has_colorbalance = has_colorbalance =
gst_va_filter_has_filter (filter, VAProcFilterColorBalance); gst_va_filter_has_filter (filter, VAProcFilterColorBalance);
has_deinterlace = has_deinterlace =
gst_va_filter_has_filter (filter, VAProcFilterDeinterlacing); gst_va_filter_has_filter (filter, VAProcFilterDeinterlacing);
has_compose = gst_va_filter_has_compose (filter);
} else { } else {
GST_WARNING ("Failed open VA filter"); GST_WARNING ("Failed open VA filter");
gst_object_unref (filter); gst_object_unref (filter);
@ -232,6 +235,13 @@ plugin_register_vpp (GstPlugin * plugin, GstVaDevice * device)
device->render_device_path); 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 static inline void