static inline GstCaps *
_create_base_caps (GstVaFilter * self)
{
- /* XXX(victor): remove interlace-mode when deinterlacing is
- * supported */
return gst_caps_new_simple ("video/x-raw", "width", GST_TYPE_INT_RANGE,
self->min_width, self->max_width, "height", GST_TYPE_INT_RANGE,
- self->min_height, self->max_height, "interlace-mode", G_TYPE_STRING,
- "progressive", NULL);
+ self->min_height, self->max_height, NULL);
}
GstCaps *
GstVaVpp *self = GST_VA_VPP (btrans);
GstCapsFeatures *infeat, *outfeat;
+ if (GST_VIDEO_INFO_INTERLACE_MODE (in_info) !=
+ GST_VIDEO_INFO_INTERLACE_MODE (out_info)) {
+ GST_ERROR_OBJECT (self, "input and output formats do not match");
+ return FALSE;
+ }
+
if (!gst_video_info_is_equal (in_info, out_info)) {
if (GST_VIDEO_INFO_FORMAT (in_info) != GST_VIDEO_INFO_FORMAT (out_info))
self->op_flags |= VPP_CONVERT_FORMAT;