static void gst_video_scale_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_set_details_simple (element_class, "Video scaler", "Filter/Converter/Video/Scaler", "Resizes video", "Wim Taymans <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_video_scale_sink_template_factory ()); gst_element_class_add_pad_template (element_class, gst_video_scale_src_template_factory ()); }
static void gst_video_scale_class_init (GstVideoScaleClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *element_class = (GstElementClass *) klass; GstBaseTransformClass *trans_class = (GstBaseTransformClass *) klass; GstVideoFilterClass *filter_class = (GstVideoFilterClass *) klass; gobject_class->finalize = (GObjectFinalizeFunc) gst_video_scale_finalize; gobject_class->set_property = gst_video_scale_set_property; gobject_class->get_property = gst_video_scale_get_property; g_object_class_install_property (gobject_class, PROP_METHOD, g_param_spec_enum ("method", "method", "method", GST_TYPE_VIDEO_SCALE_METHOD, DEFAULT_PROP_METHOD, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_ADD_BORDERS, g_param_spec_boolean ("add-borders", "Add Borders", "Add black borders if necessary to keep the display aspect ratio", DEFAULT_PROP_ADD_BORDERS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SHARPNESS, g_param_spec_double ("sharpness", "Sharpness", "Sharpness of filter", 0.5, 1.5, DEFAULT_PROP_SHARPNESS, G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SHARPEN, g_param_spec_double ("sharpen", "Sharpen", "Sharpening", 0.0, 1.0, DEFAULT_PROP_SHARPEN, G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_DITHER, g_param_spec_boolean ("dither", "Dither", "Add dither (only used for Lanczos method)", DEFAULT_PROP_DITHER, G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); #if 0 /* I am hiding submethod for now, since it's poorly named, poorly * documented, and will probably just get people into trouble. */ g_object_class_install_property (gobject_class, PROP_SUBMETHOD, g_param_spec_int ("submethod", "submethod", "submethod", 0, 3, DEFAULT_PROP_SUBMETHOD, G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); #endif g_object_class_install_property (gobject_class, PROP_ENVELOPE, g_param_spec_double ("envelope", "Envelope", "Size of filter envelope", 1.0, 5.0, DEFAULT_PROP_ENVELOPE, G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_GAMMA_DECODE, g_param_spec_boolean ("gamma-decode", "Gamma Decode", "Decode gamma before scaling", DEFAULT_PROP_GAMMA_DECODE, G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_set_static_metadata (element_class, "Video scaler", "Filter/Converter/Video/Scaler", "Resizes video", "Wim Taymans <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_video_scale_sink_template_factory ()); gst_element_class_add_pad_template (element_class, gst_video_scale_src_template_factory ()); trans_class->transform_caps = GST_DEBUG_FUNCPTR (gst_video_scale_transform_caps); trans_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_video_scale_fixate_caps); trans_class->src_event = GST_DEBUG_FUNCPTR (gst_video_scale_src_event); filter_class->set_info = GST_DEBUG_FUNCPTR (gst_video_scale_set_info); filter_class->transform_frame = GST_DEBUG_FUNCPTR (gst_video_scale_transform_frame); }