#include "gstvaav1dec.h"
#include "gstvacaps.h"
+#include "gstvacompositor.h"
#include "gstvadeinterlace.h"
#include "gstvadevice.h"
#include "gstvafilter.h"
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);
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