common_flags));
}
+ g_object_class_install_property (klass,
+ GST_VA_FILTER_PROP_DISABLE_PASSTHROUGH,
+ g_param_spec_boolean ("disable-passthrough", "Disable Passthrough",
+ "Forces passing buffers through the postprocessor", FALSE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS
+ | GST_PARAM_MUTABLE_READY));
+
return TRUE;
}
GST_VA_FILTER_PROP_AUTO_SATURATION,
GST_VA_FILTER_PROP_AUTO_BRIGHTNESS,
GST_VA_FILTER_PROP_AUTO_CONTRAST,
+ GST_VA_FILTER_PROP_DISABLE_PASSTHROUGH,
GST_VA_FILTER_PROP_LAST
};
VPP_CONVERT_DIRECTION = 1 << 3,
VPP_CONVERT_FEATURE = 1 << 4,
VPP_CONVERT_CROP = 1 << 5,
+ VPP_CONVERT_DUMMY = 1 << 6,
};
extern GRecMutex GST_VA_SHARED_LOCK;
self->auto_contrast = g_value_get_boolean (value);
g_atomic_int_set (&self->rebuild_filters, TRUE);
break;
+ case GST_VA_FILTER_PROP_DISABLE_PASSTHROUGH:{
+ gboolean disable_passthrough = g_value_get_boolean (value);
+ if (disable_passthrough)
+ self->op_flags |= VPP_CONVERT_DUMMY;
+ else
+ self->op_flags &= ~VPP_CONVERT_DUMMY;
+ break;
+ }
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
case GST_VA_FILTER_PROP_AUTO_CONTRAST:
g_value_set_boolean (value, self->auto_contrast);
break;
+ case GST_VA_FILTER_PROP_DISABLE_PASSTHROUGH:
+ g_value_set_boolean (value, (self->op_flags & VPP_CONVERT_DUMMY));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;