GstCaps * gst_opencv_caps_from_cv_image_type (int cv_type) { GstCaps *caps = gst_caps_new_empty (); switch (cv_type) { case CV_8UC1: gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_GRAY8)); break; case CV_8UC3: gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_RGB)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_BGR)); break; case CV_8UC4: gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_RGBx)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_xRGB)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_BGRx)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_xBGR)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_RGBA)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_ARGB)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_BGRA)); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_ABGR)); break; case CV_16UC1: gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_GRAY16 ("1234"))); gst_caps_append (caps, gst_caps_from_string (GST_VIDEO_CAPS_GRAY16 ("4321"))); break; } return caps; }
GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS (GST_VIDEO_CAPS_ABGR "; " GST_VIDEO_CAPS_ARGB "; " GST_VIDEO_CAPS_BGR "; " GST_VIDEO_CAPS_BGRA "; " GST_VIDEO_CAPS_BGRx "; " GST_VIDEO_CAPS_RGB "; " GST_VIDEO_CAPS_RGBA "; " GST_VIDEO_CAPS_RGBx "; " GST_VIDEO_CAPS_YUV ("AYUV") "; " GST_VIDEO_CAPS_xBGR "; " GST_VIDEO_CAPS_xRGB "; " GST_VIDEO_CAPS_GRAY8 "; " GST_VIDEO_CAPS_GRAY16 ("BIG_ENDIAN") "; " GST_VIDEO_CAPS_GRAY16 ("LITTLE_ENDIAN") ) ); static GstStaticPadTemplate gst_geometric_transform_sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS (GST_VIDEO_CAPS_ABGR "; " GST_VIDEO_CAPS_ARGB "; " GST_VIDEO_CAPS_BGR "; " GST_VIDEO_CAPS_BGRA "; " GST_VIDEO_CAPS_BGRx "; " GST_VIDEO_CAPS_RGB "; " GST_VIDEO_CAPS_RGBA "; "
GST_STATIC_CAPS (GST_VIDEO_CAPS_BGRx), GST_STATIC_CAPS (GST_VIDEO_CAPS_xBGR), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("Y444")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("v308")), GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB), GST_STATIC_CAPS (GST_VIDEO_CAPS_BGR), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("Y42B")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("YUY2")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("YVYU")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("UYVY")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("YV12")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("Y41B")), GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB_16), GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB_15), GST_STATIC_CAPS (GST_VIDEO_CAPS_GRAY16 ("BYTE_ORDER")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("Y16 ")), GST_STATIC_CAPS (GST_VIDEO_CAPS_GRAY8), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("Y800")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("Y8 ")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("GREY")), GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AY64")), GST_STATIC_CAPS (GST_VIDEO_CAPS_ARGB_64) }; #define GST_TYPE_VIDEO_SCALE_METHOD (gst_video_scale_method_get_type()) static GType gst_video_scale_method_get_type (void) { static GType video_scale_method_type = 0;
#include "gstopencvutils.h" #include "gstcvsobel.h" GST_DEBUG_CATEGORY_STATIC (gst_cv_sobel_debug); #define GST_CAT_DEFAULT gst_cv_sobel_debug static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS (GST_VIDEO_CAPS_GRAY8) ); static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS (GST_VIDEO_CAPS_GRAY16("1234")) ); /* Filter signals and args */ enum { /* FILL ME */ LAST_SIGNAL }; enum { PROP_0, PROP_X_ORDER, PROP_Y_ORDER, PROP_APERTURE_SIZE };