diff --git a/gst/geometrictransform/gstcircle.c b/gst/geometrictransform/gstcircle.c index 78e428ee8b..5b63e30e3d 100644 --- a/gst/geometrictransform/gstcircle.c +++ b/gst/geometrictransform/gstcircle.c @@ -142,7 +142,7 @@ gst_circle_base_init (gpointer gclass) gst_element_class_set_details_simple (element_class, "circle", "Transform/Effect/Video", - "Applies 'circle' geometric transform to the image", + "Warps the picture into an arc shaped form", "Thiago Santos"); } @@ -190,17 +190,17 @@ gst_circle_class_init (GstCircleClass * klass) g_object_class_install_property (gobject_class, PROP_ANGLE, g_param_spec_double ("angle", "angle", - "angle", + "Angle at which the arc starts in radians", -G_MAXDOUBLE, G_MAXDOUBLE, DEFAULT_ANGLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SPREAD_ANGLE, g_param_spec_double ("spread-angle", "spread angle", - "spread angle", + "Length of the arc in radians", -G_MAXDOUBLE, G_MAXDOUBLE, DEFAULT_SPREAD_ANGLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_HEIGHT, g_param_spec_int ("height", "height", - "height", + "Height of the arc", 0, G_MAXINT, DEFAULT_HEIGHT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); diff --git a/gst/geometrictransform/gstgeometrictransform.c b/gst/geometrictransform/gstgeometrictransform.c index 0795e34627..29bd31aced 100644 --- a/gst/geometrictransform/gstgeometrictransform.c +++ b/gst/geometrictransform/gstgeometrictransform.c @@ -50,13 +50,6 @@ enum PROP_OFF_EDGE_PIXELS }; -enum -{ - GST_GT_OFF_EDGES_PIXELS_IGNORE = 0, - GST_GT_OFF_EDGES_PIXELS_CLAMP, - GST_GT_OFF_EDGES_PIXELS_WRAP -}; - #define GST_GT_OFF_EDGES_PIXELS_METHOD_TYPE ( \ gst_geometric_transform_off_edges_pixels_method_get_type()) static GType @@ -308,12 +301,15 @@ gst_geometric_transform_class_init (gpointer klass, gpointer class_data) g_param_spec_enum ("off-edge-pixels", "Off edge pixels", "What to do with off edge pixels", GST_GT_OFF_EDGES_PIXELS_METHOD_TYPE, DEFAULT_OFF_EDGE_PIXELS, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT)); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); } static void gst_geometric_transform_init (GTypeInstance * instance, gpointer g_class) { + GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM (instance); + + gt->off_edge_pixels = DEFAULT_OFF_EDGE_PIXELS; } GType diff --git a/gst/geometrictransform/gstgeometrictransform.h b/gst/geometrictransform/gstgeometrictransform.h index 066799f4f2..1f9b582e27 100644 --- a/gst/geometrictransform/gstgeometrictransform.h +++ b/gst/geometrictransform/gstgeometrictransform.h @@ -38,6 +38,13 @@ G_BEGIN_DECLS #define GST_GEOMETRIC_TRANSFORM_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_GEOMETRIC_TRANSFORM,GstGeometricTransformClass)) +enum +{ + GST_GT_OFF_EDGES_PIXELS_IGNORE = 0, + GST_GT_OFF_EDGES_PIXELS_CLAMP, + GST_GT_OFF_EDGES_PIXELS_WRAP +}; + typedef struct _GstGeometricTransform GstGeometricTransform; typedef struct _GstGeometricTransformClass GstGeometricTransformClass; diff --git a/gst/geometrictransform/gstkaleidoscope.c b/gst/geometrictransform/gstkaleidoscope.c index 92699fcb5c..15c8eb1800 100644 --- a/gst/geometrictransform/gstkaleidoscope.c +++ b/gst/geometrictransform/gstkaleidoscope.c @@ -207,8 +207,8 @@ gst_kaleidoscope_class_init (GstKaleidoscopeClass * klass) -G_MAXDOUBLE, G_MAXDOUBLE, DEFAULT_ANGLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SIDES, - g_param_spec_int ("sides", "sides", "number of sides", - 0, G_MAXINT, DEFAULT_SIDES, + g_param_spec_int ("sides", "sides", "Number of sides of the kaleidoscope", + 2, G_MAXINT, DEFAULT_SIDES, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gstgt_class->map_func = kaleidoscope_map; @@ -217,6 +217,9 @@ gst_kaleidoscope_class_init (GstKaleidoscopeClass * klass) static void gst_kaleidoscope_init (GstKaleidoscope * filter, GstKaleidoscopeClass * gclass) { + GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM (filter); + + gt->off_edge_pixels = GST_GT_OFF_EDGES_PIXELS_CLAMP; filter->angle = DEFAULT_ANGLE; filter->angle2 = DEFAULT_ANGLE2; filter->sides = DEFAULT_SIDES; diff --git a/gst/geometrictransform/gstpinch.c b/gst/geometrictransform/gstpinch.c index 3c5ccb116c..39dbf63a82 100644 --- a/gst/geometrictransform/gstpinch.c +++ b/gst/geometrictransform/gstpinch.c @@ -188,7 +188,7 @@ gst_pinch_class_init (GstPinchClass * klass) g_object_class_install_property (gobject_class, PROP_INTENSITY, g_param_spec_double ("intensity", "intensity", "intensity of the pinch effect", - 0.0, G_MAXDOUBLE, DEFAULT_INTENSITY, + -1.0, 1.0, DEFAULT_INTENSITY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gstgt_class->map_func = pinch_map; @@ -197,6 +197,9 @@ gst_pinch_class_init (GstPinchClass * klass) static void gst_pinch_init (GstPinch * filter, GstPinchClass * gclass) { + GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM (filter); + + gt->off_edge_pixels = GST_GT_OFF_EDGES_PIXELS_CLAMP; filter->intensity = DEFAULT_INTENSITY; } diff --git a/gst/geometrictransform/gstsphere.c b/gst/geometrictransform/gstsphere.c index 719416ecca..0ada5dda6a 100644 --- a/gst/geometrictransform/gstsphere.c +++ b/gst/geometrictransform/gstsphere.c @@ -208,6 +208,9 @@ gst_sphere_class_init (GstSphereClass * klass) static void gst_sphere_init (GstSphere * filter, GstSphereClass * gclass) { + GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM (filter); + + gt->off_edge_pixels = GST_GT_OFF_EDGES_PIXELS_CLAMP; filter->refraction = DEFAULT_REFRACTION; } diff --git a/gst/geometrictransform/gsttwirl.c b/gst/geometrictransform/gsttwirl.c index 209f245df2..1e1b989a1c 100644 --- a/gst/geometrictransform/gsttwirl.c +++ b/gst/geometrictransform/gsttwirl.c @@ -66,7 +66,7 @@ enum PROP_ANGLE }; -#define DEFAULT_ANGLE 0 +#define DEFAULT_ANGLE (G_PI) GST_BOILERPLATE (GstTwirl, gst_twirl, GstCircleGeometricTransform, GST_TYPE_CIRCLE_GEOMETRIC_TRANSFORM); @@ -124,7 +124,7 @@ gst_twirl_base_init (gpointer gclass) gst_element_class_set_details_simple (element_class, "twirl", "Transform/Effect/Video", - "Applies 'twirl' geometric transform to the image", + "Twists the image from the center out", "Thiago Santos"); } @@ -175,7 +175,8 @@ gst_twirl_class_init (GstTwirlClass * klass) g_object_class_install_property (gobject_class, PROP_ANGLE, g_param_spec_double ("angle", "angle", - "angle in radians of the twirl effect", + "This is the angle in radians by which pixels at the " + "nearest edge of the image will move", -G_MAXDOUBLE, G_MAXDOUBLE, DEFAULT_ANGLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); @@ -185,6 +186,9 @@ gst_twirl_class_init (GstTwirlClass * klass) static void gst_twirl_init (GstTwirl * filter, GstTwirlClass * gclass) { + GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM (filter); + + gt->off_edge_pixels = GST_GT_OFF_EDGES_PIXELS_CLAMP; filter->angle = DEFAULT_ANGLE; } diff --git a/gst/geometrictransform/gstwaterripple.c b/gst/geometrictransform/gstwaterripple.c index 46c42d57f9..81eb08b4ee 100644 --- a/gst/geometrictransform/gstwaterripple.c +++ b/gst/geometrictransform/gstwaterripple.c @@ -140,7 +140,7 @@ gst_water_ripple_base_init (gpointer gclass) gst_element_class_set_details_simple (element_class, "waterripple", "Transform/Effect/Video", - "Applies 'water_ripple' geometric transform to the image", + "Creates a water ripple effect on the image", "Thiago Santos"); } @@ -216,6 +216,9 @@ gst_water_ripple_class_init (GstWaterRippleClass * klass) static void gst_water_ripple_init (GstWaterRipple * filter, GstWaterRippleClass * gclass) { + GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM (filter); + + gt->off_edge_pixels = GST_GT_OFF_EDGES_PIXELS_CLAMP; filter->amplitude = DEFAULT_AMPLITUDE; filter->phase = DEFAULT_PHASE; filter->wavelength = DEFAULT_WAVELENGTH;