From cf86df2d007d65e0163cf464cf97d8fe300283db Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Wed, 8 Sep 2010 00:08:44 -0300 Subject: [PATCH] opencv: Adds new plugin opencv Moves opencv plugin from http://github.com/Elleo/gst-opencv into -bad module. --- configure.ac | 30 ++ docs/plugins/Makefile.am | 12 + .../plugins/gst-plugins-bad-plugins-docs.sgml | 12 + .../gst-plugins-bad-plugins-sections.txt | 176 +++++++++ docs/plugins/gst-plugins-bad-plugins.args | 370 ++++++++++++++++-- .../plugins/gst-plugins-bad-plugins.hierarchy | 319 +-------------- .../gst-plugins-bad-plugins.interfaces | 38 +- .../gst-plugins-bad-plugins.prerequisites | 4 +- docs/plugins/inspect/plugin-opencv.xml | 265 +++++++++++++ ext/Makefile.am | 8 + ext/opencv/Makefile.am | 2 +- 11 files changed, 874 insertions(+), 362 deletions(-) create mode 100644 docs/plugins/inspect/plugin-opencv.xml diff --git a/configure.ac b/configure.ac index 7adea3551f..8084a0734d 100644 --- a/configure.ac +++ b/configure.ac @@ -1223,6 +1223,35 @@ AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [ AC_SUBST(OFA_LIBS) ]) +dnl *** opencv *** +translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true) +AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [ + PKG_CHECK_MODULES(OPENCV, opencv >= 2.0.0 libswscale >= 0.7 , [ + AC_PROG_CXX + AC_LANG_CPLUSPLUS + OLD_CPPFLAGS=$CPPFLAGS + CPPFLAGS=$OPENCV_CFLAGS + AC_CHECK_HEADER(highgui.h, HAVE_HIGHGUI="yes", HAVE_HIGHGUI="no") + AC_CHECK_HEADER(cvaux.h, HAVE_CVAUX="yes", HAVE_CVAUX="no") + CPPFLAGS=$OLD_CPPFLAGS + AC_LANG_C + if test "x$HAVE_HIGHGUI" = "xno"; then + AC_MSG_RESULT(highgui.h could not be found.) + HAVE_OPENCV="no" + elif test "x$HAVE_CVAUX" = "xno"; then + AC_MSG_RESULT(cvaux.h could not be found.) + HAVE_OPENCV="no" + else + HAVE_OPENCV="yes" + fi + ], [ + HAVE_OPENCV="no" + AC_MSG_RESULT(no) + ]) + AC_SUBST(OPENCV_CFLAGS) + AC_SUBST(OPENCV_LIBS) +]) + dnl *** rsvg *** translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true) AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [ @@ -1809,6 +1838,7 @@ ext/mythtv/Makefile ext/nas/Makefile ext/neon/Makefile ext/ofa/Makefile +ext/opencv/Makefile ext/rsvg/Makefile ext/resindvd/Makefile ext/rtmp/Makefile diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 2bfa2f0ca0..246f20dbaa 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -117,6 +117,18 @@ EXTRA_HFILES = \ $(top_srcdir)/ext/mpeg2enc/gstmpeg2enc.hh \ $(top_srcdir)/ext/mplex/gstmplex.hh \ $(top_srcdir)/ext/mythtv/gstmythtvsrc.h \ + $(top_srcdir)/ext/opencv/gstcvdilate.h \ + $(top_srcdir)/ext/opencv/gstcverode.h \ + $(top_srcdir)/ext/opencv/gstcvequalizehist.h \ + $(top_srcdir)/ext/opencv/gstcvlaplace.h \ + $(top_srcdir)/ext/opencv/gstcvsmooth.h \ + $(top_srcdir)/ext/opencv/gstcvsobel.h \ + $(top_srcdir)/ext/opencv/gstedgedetect.h \ + $(top_srcdir)/ext/opencv/gstfaceblur.h \ + $(top_srcdir)/ext/opencv/gstfacedetect.h \ + $(top_srcdir)/ext/opencv/gstpyramidsegment.h \ + $(top_srcdir)/ext/opencv/gsttemplatematch.h \ + $(top_srcdir)/ext/opencv/gsttextwrite.h \ $(top_srcdir)/ext/sdl/sdlaudiosink.h \ $(top_srcdir)/ext/sdl/sdlvideosink.h \ $(top_srcdir)/ext/theora/theoradec.h \ diff --git a/docs/plugins/gst-plugins-bad-plugins-docs.sgml b/docs/plugins/gst-plugins-bad-plugins-docs.sgml index 3fb741e09b..8550dd22d0 100644 --- a/docs/plugins/gst-plugins-bad-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-bad-plugins-docs.sgml @@ -33,6 +33,12 @@ + + + + + + @@ -50,8 +56,11 @@ + + + @@ -87,6 +96,7 @@ + @@ -104,6 +114,8 @@ + + diff --git a/docs/plugins/gst-plugins-bad-plugins-sections.txt b/docs/plugins/gst-plugins-bad-plugins-sections.txt index 12dfedf907..f0ad19caf2 100644 --- a/docs/plugins/gst-plugins-bad-plugins-sections.txt +++ b/docs/plugins/gst-plugins-bad-plugins-sections.txt @@ -244,6 +244,96 @@ GST_TYPE_COLOR_EFFECTS gst_color_effects_get_type +
+element-cvdilate +cvdilate +GstCvDilate + +GstCvDilateClass +GST_CV_DILATE +GST_CV_DILATE_CLASS +GST_IS_CV_DILATE +GST_IS_CV_DILATE_CLASS +GST_TYPE_CV_DILATE +gst_cv_dilate_get_type +gst_cv_dilate_plugin_init +
+ +
+element-cverode +cverode +GstCvErode + +GstCvErodeClass +GST_CV_ERODE +GST_CV_ERODE_CLASS +GST_IS_CV_ERODE +GST_IS_CV_ERODE_CLASS +GST_TYPE_CV_ERODE +gst_cv_erode_get_type +gst_cv_erode_plugin_init +
+ +
+element-cvequalizehist +cvequalizehist +GstCvEqualizeHist + +GstCvEqualizeHistClass +GST_CV_EQUALIZE_HIST +GST_CV_EQUALIZE_HIST_CLASS +GST_IS_CV_EQUALIZE_HIST +GST_IS_CV_EQUALIZE_HIST_CLASS +GST_TYPE_CV_EQUALIZE_HIST +gst_cv_equalize_hist_get_type +gst_cv_equalize_hist_plugin_init +
+ +
+element-cvlaplace +cvlaplace +GstCvLaplace + +GstCvLaplaceClass +GST_CV_LAPLACE +GST_CV_LAPLACE_CLASS +GST_IS_CV_LAPLACE +GST_IS_CV_LAPLACE_CLASS +GST_TYPE_CV_LAPLACE +gst_cv_laplace_get_type +gst_cv_laplace_plugin_init +
+ +
+element-cvsmooth +cvsmooth +GstCvSmooth + +GstCvSmoothClass +GST_CV_SMOOTH +GST_CV_SMOOTH_CLASS +GST_IS_CV_SMOOTH +GST_IS_CV_SMOOTH_CLASS +GST_TYPE_CV_SMOOTH +gst_cv_smooth_get_type +gst_cv_smooth_plugin_init +
+ +
+element-cvsobel +cvsobel +GstCvSobel + +GstCvSobelClass +GST_CV_SOBEL +GST_CV_SOBEL_CLASS +GST_IS_CV_SOBEL +GST_IS_CV_SOBEL_CLASS +GST_TYPE_CV_SOBEL +gst_cv_sobel_get_type +gst_cv_sobel_plugin_init +
+
element-dataurisrc dataurisrc @@ -512,6 +602,21 @@ DVD_SPU_UNLOCK SPU_STATE_FLAGS_MASK
+
+element-edgedetect +edgedetect +Gstedgedetect + +GstedgedetectClass +GST_EDGEDETECT +GST_EDGEDETECT_CLASS +GST_IS_EDGEDETECT +GST_IS_EDGEDETECT_CLASS +GST_TYPE_EDGEDETECT +gst_edgedetect_get_type +gst_edgedetect_plugin_init +
+
element-exclusion exclusion @@ -554,6 +659,35 @@ GST_FAAD_CLASS GST_IS_FAAD_CLASS gst_faad_get_type
+
+ +element-faceblur +faceblur +Gstfaceblur + +GstfaceblurClass +GST_FACEBLUR +GST_FACEBLUR_CLASS +GST_TYPE_FACEBLUR +GST_IS_FACEBLUR +GST_IS_FACEBLUR_CLASS +gst_faceblur_get_type +gst_faceblur_plugin_init +
+ +element-facedetect +facedetect +Gstfacedetect + +GstfacedetectClass +GST_FACEDETECT +GST_FACEDETECT_CLASS +GST_TYPE_FACEDETECT +GST_IS_FACEDETECT +GST_IS_FACEDETECT_CLASS +gst_facedetect_get_type +gst_facedetect_plugin_init +
element-festival @@ -1117,6 +1251,20 @@ gst_pinch_get_type gst_pinch_plugin_init
+element-pyramidsegment +pyramidsegment +Gstpyramidsegment + +GstpyramidsegmentClass +GST_PYRAMIDSEGMENT +GST_PYRAMIDSEGMENT_CLASS +GST_TYPE_PYRAMIDSEGMENT +GST_IS_PYRAMIDSEGMENT +GST_IS_PYRAMIDSEGMENT_CLASS +gst_pyramidsegment_get_type +gst_pyramidsegment_plugin_init + +
element-rtpdtmfdepay rtpdtmfdepay @@ -1366,6 +1514,34 @@ gst_stretch_get_type gst_stretch_plugin_init
+element-templatematch +templatematch +GstTemplateMatch + +GstTemplateMatchClass +GST_TEMPLATEMATCH +GST_TEMPLATEMATCH_CLASS +GST_TYPE_TEMPLATEMATCH +GST_IS_TEMPLATEMATCH +GST_IS_TEMPLATEMATCH_CLASS +gst_templatematch_get_type +gst_templatematch_plugin_init + + +element-textwrite +textwrite +Gsttextwrite + +GsttextwriteClass +GST_textwrite +GST_textwrite_CLASS +GST_TYPE_textwrite +GST_IS_textwrite +GST_IS_textwrite_CLASS +gst_textwrite_get_type +gst_textwrite_plugin_init + +
element-theoradecexp theoradecexp diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args index c41eee8d71..4717bb9aa1 100644 --- a/docs/plugins/gst-plugins-bad-plugins.args +++ b/docs/plugins/gst-plugins-bad-plugins.args @@ -41,7 +41,7 @@ GstXvidEnc::averaging-period gint -[G_MAXULONG,100] +[-1,100] rw Averaging Period [CBR] Number of frames for which XviD averages bitrate. @@ -91,7 +91,7 @@ GstXvidEnc::buffer gint ->= G_MAXULONG +>= -1 rw Buffer Size [CBR] Size of the video buffers. @@ -121,7 +121,7 @@ GstXvidEnc::container-frame-overhead gint -[G_MAXULONG,100] +[-1,100] rw Container Frame Overhead [PASS2] Average container overhead per frame. @@ -151,7 +151,7 @@ GstXvidEnc::flow-control-strength gint -[G_MAXULONG,100] +[-1,100] rw Flow Control Strength [PASS2] Overflow control strength per frame. @@ -211,7 +211,7 @@ GstXvidEnc::keyframe-reduction gint -[G_MAXULONG,100] +[-1,100] rw Keyframe Reduction [PASS2] Keyframe size reduction in % of those within threshold. @@ -221,7 +221,7 @@ GstXvidEnc::keyframe-threshold gint -[G_MAXULONG,100] +[-1,100] rw Keyframe Threshold [PASS2] Distance between keyframes not to be subject to reduction. @@ -281,7 +281,7 @@ GstXvidEnc::max-overflow-degradation gint -[G_MAXULONG,100] +[-1,100] rw Max Overflow Degradation [PASS2] Amount in % that flow control can decrease frame size compared to ideal curve. @@ -291,7 +291,7 @@ GstXvidEnc::max-overflow-improvement gint -[G_MAXULONG,100] +[-1,100] rw Max Overflow Improvement [PASS2] Amount in % that flow control can increase frame size compared to ideal curve. @@ -421,7 +421,7 @@ GstXvidEnc::reaction-delay-factor gint -[G_MAXULONG,100] +[-1,100] rw Reaction Delay Factor [CBR] Reaction delay factor. @@ -1731,7 +1731,7 @@ GstDvbSrc::diseqc-source gint -[G_MAXULONG,7] +[-1,7] rw diseqc source DISEqC selected source (-1 disabled) (DVB-S). @@ -17175,7 +17175,7 @@ rw Path where to search for RealPlayer codecs Path where to search for RealPlayer codecs. -"/usr/lib64/win32:/usr/lib64/codecs:/usr/local/lib64/win32:/usr/local/lib64/codecs" +"/usr/lib/win32:/usr/lib/codecs:/usr/local/RealPlayer/codecs:/usr/local/lib/win32:/usr/local/lib/codecs" @@ -17215,7 +17215,7 @@ rw Path where to search for RealPlayer codecs Path where to search for RealPlayer codecs. -"/usr/lib64/win32:/usr/lib64/codecs:/usr/local/lib64/win32:/usr/local/lib64/codecs" +"/usr/lib/win32:/usr/lib/codecs:/usr/local/RealPlayer/codecs:/usr/local/lib/win32:/usr/local/lib/codecs" @@ -17871,7 +17871,7 @@ DvbBaseBin::diseqc-source gint -[G_MAXULONG,7] +[-1,7] rw diseqc source DISEqC selected source (-1 disabled) (DVB-S). @@ -22066,7 +22066,7 @@ GstDCCPClientSrc::sockfd gint ->= G_MAXULONG +>= -1 rw Socket fd The socket file descriptor. @@ -22106,7 +22106,7 @@ GstDCCPServerSink::sockfd gint ->= G_MAXULONG +>= -1 rw Socket fd The client socket file descriptor. @@ -22166,7 +22166,7 @@ GstDCCPClientSink::sockfd gint ->= G_MAXULONG +>= -1 rw Socket fd The socket file descriptor. @@ -22226,7 +22226,7 @@ GstDCCPServerSrc::sockfd gint ->= G_MAXULONG +>= -1 rw Socket fd The client socket file descriptor. @@ -22286,7 +22286,7 @@ GstMpegTSDemux::program-number gint ->= G_MAXULONG +>= -1 rw Program Number Program number to demux for (-1 to ignore). @@ -22346,7 +22346,7 @@ GstPcapParse::dst-port gint -[G_MAXULONG,65535] +[-1,65535] rw Destination port Destination port to restrict to. @@ -22366,7 +22366,7 @@ GstPcapParse::src-port gint -[G_MAXULONG,65535] +[-1,65535] rw Source port Source port to restrict to. @@ -23166,7 +23166,7 @@ GstRTPDTMFSrc::seqnum-offset gint ->= G_MAXULONG +>= -1 rw Sequence number Offset Offset to add to all outgoing seqnum (-1 = random). @@ -23196,7 +23196,7 @@ GstRTPDTMFSrc::timestamp-offset gint ->= G_MAXULONG +>= -1 rw Timestamp Offset Offset to add to all outgoing timestamps (-1 = random). @@ -23246,7 +23246,7 @@ GstRTPMux::seqnum-offset gint ->= G_MAXULONG +>= -1 rw Sequence number Offset Offset to add to all outgoing seqnum (-1 = random). @@ -23266,7 +23266,7 @@ GstRTPMux::timestamp-offset gint ->= G_MAXULONG +>= -1 rw Timestamp Offset Offset to add to all outgoing timestamps (-1 = random). @@ -45946,7 +45946,7 @@ GstVideoMaxRate::average-period guint64 -[1,G_MAXLONG] +[1,G_MAXINT64] rw Period over which to average Period over which to average the framerate (in ns). @@ -46303,3 +46303,323 @@ FALSE + +Gsttextwrite::colorB +gint +[0,255] +rw +color -Blue +Sets the color -B. +0 + + + +Gsttextwrite::colorG +gint +[0,255] +rw +color -Green +Sets the color -G. +0 + + + +Gsttextwrite::colorR +gint +[0,255] +rw +color -Red +Sets the color -R. +0 + + + +Gsttextwrite::height +gdouble +[1,5] +rw +Height +Sets the height of fonts. +1 + + + +Gsttextwrite::text +gchar* + +rw +text +Text to be display. +"" + + + +Gsttextwrite::thickness +gint +>= 0 +rw +font thickness +Sets the Thickness of Font. +2 + + + +Gsttextwrite::width +gdouble +[1,5] +rw +Width +Sets the width of fonts. +1 + + + +Gsttextwrite::xpos +gint +>= 0 +rw +horizontal position +Sets the Horizontal position. +50 + + + +Gsttextwrite::ypos +gint +>= 0 +rw +vertical position +Sets the Vertical position. +50 + + + +GstTemplateMatch::display +gboolean + +rw +Display +Sets whether the detected template should be highlighted in the output. +TRUE + + + +GstTemplateMatch::method +gint +[0,5] +rw +Method +Specifies the way the template must be compared with image regions. 0=SQDIFF, 1=SQDIFF_NORMED, 2=CCOR, 3=CCOR_NORMED, 4=CCOEFF, 5=CCOEFF_NORMED. +3 + + + +GstTemplateMatch::template +gchar* + +rw +Template +Filename of template image. +NULL + + + +Gstpyramidsegment::level +gint +[0,4] +rw +Level +Maximum level of the pyramid segmentation. +4 + + + +Gstpyramidsegment::silent +gboolean + +rw +Silent +Produce verbose output ?. +FALSE + + + +Gstpyramidsegment::threshold1 +gdouble +[0,1000] +rw +Threshold1 +Error threshold for establishing links. +50 + + + +Gstpyramidsegment::threshold2 +gdouble +[0,1000] +rw +Threshold2 +Error threshold for segment clustering. +60 + + + +Gstfacedetect::display +gboolean + +rw +Display +Sets whether the detected faces should be highlighted in the output. +TRUE + + + +Gstfacedetect::profile +gchar* + +rw +Profile +Location of Haar cascade file to use for face detection. +"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml" + + + +Gstfaceblur::profile +gchar* + +rw +Profile +Location of Haar cascade file to use for face blurion. +"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml" + + + +Gstedgedetect::aperture +gint +[3,7] +rw +Aperture +Aperture size for Sobel operator (Must be either 3, 5 or 7. +3 + + + +Gstedgedetect::mask +gboolean + +rw +Mask +Sets whether the detected edges should be used as a mask on the original input or not. +TRUE + + + +Gstedgedetect::threshold1 +gint +[0,1000] +rw +Threshold1 +Threshold value for canny edge detection. +50 + + + +Gstedgedetect::threshold2 +gint +[0,1000] +rw +Threshold2 +Second threshold value for canny edge detection. +150 + + + +GstCvSobel::aperture-size +gint +[1,7] +rw +aperture size +Size of the extended Sobel Kernel (1, 3, 5 or 7). +3 + + + +GstCvSobel::x-order +gint +>= -1 +rw +x order +Order of the derivative x. +1 + + + +GstCvSobel::y-order +gint +>= -1 +rw +y order +Order of the derivative y. +0 + + + +GstCvSmooth::param1 +gint +>= 1 +rw +param1 (aperture width) +The aperture width (Must be positive and odd).Check cvSmooth OpenCV docs: http://opencv.willowgarage.com/documentation/image_filtering.html#cvSmooth. +3 + + + +GstCvSmooth::param2 +gint +>= 0 +rw +param2 (aperture height) +The aperture height, if zero, the width is used.(Must be positive and odd or zero, unuset in median and bilateral types). Check cvSmooth OpenCV docs: http://opencv.willowgarage.com/documentation/image_filtering.html#cvSmooth. +0 + + + +GstCvSmooth::param3 +gdouble +>= 0 +rw +param3 (gaussian standard deviation or color sigma +If type is gaussian, this means the standard deviation.If type is bilateral, this means the color-sigma. If zero, Default values are used.Check cvSmooth OpenCV docs: http://opencv.willowgarage.com/documentation/image_filtering.html#cvSmooth. +0 + + + +GstCvSmooth::param4 +gdouble +>= 0 +rw +param4 (spatial sigma, bilateral only) +Only used in bilateral type, means the spatial-sigma.Check cvSmooth OpenCV docs: http://opencv.willowgarage.com/documentation/image_filtering.html#cvSmooth. +0 + + + +GstCvSmooth::type +GstCvSmoothTypeType + +rw +type +Smooth Type. +CV Gaussian + + + +GstCvLaplace::aperture-size +gint +[1,7] +rw +aperture size +Size of the extended Laplace Kernel (1, 3, 5 or 7). +3 + + diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy index 71e387d438..c8888c2908 100644 --- a/docs/plugins/gst-plugins-bad-plugins.hierarchy +++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy @@ -3,14 +3,11 @@ GObject GstObject GstBus GstClock - GstSystemClock - GstAudioClock GstElement ADPCMDec ADPCMEnc GstAiffMux GstAiffParse - GstAmrWbEnc GstAsfMux GstAsfParse GstAssRender @@ -28,50 +25,27 @@ GObject GstRtpAsfPay GstBaseSink AlsaSPDIFSink - GstBaseAudioSink - GstAudioSink - GstApExSink - GstNasSink - GstSDLAudioSink - GstJackAudioSink GstChecksumSink GstDCCPClientSink GstDCCPServerSink GstFBDEVSink - GstSFSink GstShmSink GstVideoSink GstDfbVideoSink - GstSDLVideoSink - VdpSink GstBaseSrc GstDTMFSrc GstDataURISrc GstPushSrc - GstBaseAudioSrc - GstJackAudioSrc GstDCCPClientSrc GstDCCPServerSrc - GstDc1394 GstDvbSrc GstMMS - GstMythtvSrc - GstNeonhttpSrc GstRfbSrc GstShmSrc GstVCDSrc - frei0r-src-ising0r - frei0r-src-lissajous0r - frei0r-src-nois0r - frei0r-src-onecol0r - frei0r-src-partik0l - frei0r-src-plasma GstRTPDTMFSrc - GstSFSrc GstBaseTransform GstAudioFilter - GstBPMDetect - GstOFA GstStereo GstBayer2RGB GstCogScale @@ -109,93 +83,29 @@ GObject GstMarble GstMirror GstSquare + GstOpencvVideoFilter + GstCvDilateErode + GstCvDilate + GstCvErode + GstCvEqualizeHist + GstCvLaplace + GstCvSmooth + GstCvSobel + Gstfacedetect GstSolarize GstVideoAnalyse GstVideoDetect GstVideoMark - GstZBar - frei0r-filter-3-point-color-balance - frei0r-filter-3dflippo - frei0r-filter-b - frei0r-filter-baltan - frei0r-filter-bluescreen0r - frei0r-filter-brightness - frei0r-filter-bw0r - frei0r-filter-cartoon - frei0r-filter-color-distance - frei0r-filter-contrast0r - frei0r-filter-curves - frei0r-filter-dealygrab - frei0r-filter-delay0r - frei0r-filter-distort0r - frei0r-filter-edgeglow - frei0r-filter-equaliz0r - frei0r-filter-flippo - frei0r-filter-g - frei0r-filter-gamma - frei0r-filter-glow - frei0r-filter-hueshift0r - frei0r-filter-invert0r - frei0r-filter-k-means-clustering - frei0r-filter-lens-correction - frei0r-filter-letterb0xed - frei0r-filter-levels - frei0r-filter-luminance - frei0r-filter-mask0mate - frei0r-filter-nervous - frei0r-filter-nosync0r - frei0r-filter-perspective - frei0r-filter-pixeliz0r - frei0r-filter-primaries - frei0r-filter-r - frei0r-filter-rgb-parade - frei0r-filter-saturat0r - frei0r-filter-scale0tilt - frei0r-filter-scanline0r - frei0r-filter-sobel - frei0r-filter-squareblur - frei0r-filter-tehroxx0r - frei0r-filter-threelay0r - frei0r-filter-threshold0r - frei0r-filter-tint0r - frei0r-filter-transparency - frei0r-filter-twolay0r - frei0r-filter-vectorscope - frei0r-filter-vertigo - frei0r-filter-water - frei0r-filter-white-balance GstVideoMaxRate - GstBaseVideoCodec - GstBaseVideoDecoder - GstSchroDec - GstVP8Dec - GstBaseVideoEncoder - GstDiracEnc - GstSchroEnc - GstVP8Enc - GstBaseVideoParse - GstSchroParse GstBin DvbBaseBin GstAutoConvert GstFPSDisplaySink - GstGSettingsSwitchSink - GstGSettingsAudioSink - GstGSettingsVideoSink - GstGSettingsSwitchSrc - GstGSettingsAudioSrc - GstGSettingsVideoSrc GstPipeline GstCameraBin GstQTMoovRecover GstSDPDemux - RsnDvdBin - GstBz2dec - GstBz2enc - GstCDAudio GstCDXAParse - GstCeltDec - GstCeltEnc GstDVDSpu GstDtsDec GstFaac @@ -203,8 +113,6 @@ GObject GstFestival GstFreeze GstGPPMux - GstGSMDec - GstGSMEnc GstH264Parse GstId3BaseMux GstId3Mux @@ -218,29 +126,21 @@ GObject GstKateEnc GstKateParse GstKateTag - GstKateTiger GstLiveAdder GstMJ2Mux GstMP4Mux GstMSE GstMXFDemux GstMXFMux - GstMimDec - GstMimEnc - GstModPlug - GstMpeg2enc GstMpeg4VParse GstMpegPSDemux GstMpegTSDemux - GstMplex - GstMusepackDec GstMveDemux GstMveMux GstNsfDec GstNuvDemux GstOutputSelector GstPcapParse - GstPitch GstPnmdec GstPnmenc GstQTMux @@ -256,213 +156,28 @@ GObject GstSegmentClip GstAudioSegmentClip GstVideoSegmentClip - GstSignalProcessor - ladspa-Chorus1 - ladspa-Chorus2 - ladspa-G2reverb - ladspa-Mvchpf-1 - ladspa-Mvclpf-1 - ladspa-Mvclpf-2 - ladspa-Mvclpf-3 - ladspa-Mvclpf-4 - ladspa-Phaser1 - ladspa-Phaser1+LFO - ladspa-TripleChorus - ladspa-alias - ladspa-allpass-c - ladspa-allpass-l - ladspa-allpass-n - ladspa-amPitchshift - ladspa-amp - ladspa-amp-mono - ladspa-amp-stereo - ladspa-analogueOsc - ladspa-artificialLatency - ladspa-autoPhaser - ladspa-bandpass-a-iir - ladspa-bandpass-iir - ladspa-bodeShifter - ladspa-bodeShifterCV - ladspa-butthigh-iir - ladspa-buttlow-iir - ladspa-bwxover-iir - ladspa-chebstortion - ladspa-comb - ladspa-comb-c - ladspa-comb-l - ladspa-comb-n - ladspa-combSplitter - ladspa-const - ladspa-crossoverDist - ladspa-dcRemove - ladspa-decay - ladspa-decimator - ladspa-declip - ladspa-delay-5s - ladspa-delay-c - ladspa-delay-l - ladspa-delay-n - ladspa-delayorama - ladspa-diode - ladspa-divider - ladspa-dj-eq - ladspa-dj-eq-mono - ladspa-djFlanger - ladspa-dysonCompress - ladspa-fadDelay - ladspa-fastLookaheadLimiter - ladspa-flanger - ladspa-fmOsc - ladspa-foldover - ladspa-fourByFourPole - ladspa-foverdrive - ladspa-freqTracker - ladspa-gate - ladspa-giantFlange - ladspa-gong - ladspa-gongBeater - ladspa-gsm - ladspa-gverb - ladspa-hardLimiter - ladspa-harmonicGen - ladspa-hermesFilter - ladspa-highpass-iir - ladspa-hilbert - ladspa-hpf - ladspa-imp - ladspa-impulse-fc - ladspa-inv - ladspa-karaoke - ladspa-lcrDelay - ladspa-lfoPhaser - ladspa-lowpass-iir - ladspa-lpf - ladspa-lsFilter - ladspa-matrixMSSt - ladspa-matrixSpatialiser - ladspa-matrixStMS - ladspa-mbeq - ladspa-modDelay - ladspa-multivoiceChorus - ladspa-noise-white - ladspa-notch-iir - ladspa-pitchScale - ladspa-pitchScaleHQ - ladspa-plate - ladspa-pointerCastDistortion - ladspa-rateShifter - ladspa-retroFlange - ladspa-revdelay - ladspa-ringmod-1i1o1l - ladspa-ringmod-2i1o - ladspa-satanMaximiser - ladspa-sc1 - ladspa-sc2 - ladspa-sc3 - ladspa-sc4 - ladspa-sc4m - ladspa-se4 - ladspa-shaper - ladspa-sifter - ladspa-sinCos - ladspa-sine-faaa - ladspa-sine-faac - ladspa-sine-fcaa - ladspa-sine-fcac - ladspa-singlePara - ladspa-sinusWavewrapper - ladspa-smoothDecimate - ladspa-split - ladspa-stepMuxer - ladspa-surroundEncoder - ladspa-svf - ladspa-tap-autopan - ladspa-tap-chorusflanger - ladspa-tap-deesser - ladspa-tap-doubler - ladspa-tap-dynamics-m - ladspa-tap-dynamics-st - ladspa-tap-equalizer - ladspa-tap-equalizer-bw - ladspa-tap-limiter - ladspa-tap-pinknoise - ladspa-tap-pitch - ladspa-tap-reflector - ladspa-tap-reverb - ladspa-tap-rotspeak - ladspa-tap-sigmoid - ladspa-tap-stereo-echo - ladspa-tap-tremolo - ladspa-tap-tubewarmth - ladspa-tap-vibrato - ladspa-tapeDelay - ladspa-transient - ladspa-triplePara - ladspa-valve - ladspa-valveRect - ladspa-vynil - ladspa-waveTerrain - ladspa-xfade - ladspa-xfade4 - ladspa-zm1 GstSirenDec GstSirenEnc GstSpeed GstSrtEnc - GstTRM + GstTemplateMatch GstTtaDec GstTtaParse GstVMncDec GstValve GstVcdParse - GstVdpVideoPostProcess - GstWildmidi GstXvidDec GstXvidEnc + Gstedgedetect + Gstfaceblur + Gstpyramidsegment + Gsttextwrite MpegPsMux MpegTSParse MpegTsMux MpegVideoParse - SatBaseVideoDecoder - GstVdpDecoder - GstVdpH264Dec - GstVdpMpeg4Dec - GstVdpMpegDec - frei0r-mixer-addition - frei0r-mixer-alpha-injection - frei0r-mixer-alphaatop - frei0r-mixer-alphain - frei0r-mixer-alphaout - frei0r-mixer-alphaover - frei0r-mixer-alphaxor - frei0r-mixer-blend - frei0r-mixer-burn - frei0r-mixer-color-only - frei0r-mixer-composition - frei0r-mixer-darken - frei0r-mixer-difference - frei0r-mixer-divide - frei0r-mixer-dodge - frei0r-mixer-grain-extract - frei0r-mixer-grain-merge - frei0r-mixer-hardlight - frei0r-mixer-hue - frei0r-mixer-lighten - frei0r-mixer-multiply - frei0r-mixer-overlay - frei0r-mixer-rgb - frei0r-mixer-saturation - frei0r-mixer-screen - frei0r-mixer-softlight - frei0r-mixer-subtract - frei0r-mixer-uv-map - frei0r-mixer-value - frei0r-mixer-xfade0r GstPad - GstVdpOutputSrcPad - GstVdpVideoSrcPad GstPadTemplate - GstSignalProcessorPadTemplate GstPlugin GstPluginFeature GstElementFactory @@ -470,13 +185,9 @@ GObject GstTypeFindFactory GstRegistry GstRingBuffer - GstAudioSinkRingBuffer - GstJackAudioSinkRingBuffer - GstJackAudioSrcRingBuffer GstTask GstTaskPool GstSignalObject - GstVdpDevice MpegTsPatInfo MpegTsPmtInfo GInterface @@ -484,11 +195,9 @@ GInterface GstChildProxy GstColorBalance GstImplementsInterface - GstMixer GstNavigation GstPhotography GstPreset GstTagSetter GstURIHandler - GstXOverlay MXFDescriptiveMetadataFrameworkInterface diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces index 1ebc1ce135..a135859ace 100644 --- a/docs/plugins/gst-plugins-bad-plugins.interfaces +++ b/docs/plugins/gst-plugins-bad-plugins.interfaces @@ -1,43 +1,25 @@ GstBin GstChildProxy GstPipeline GstChildProxy -GstCameraBin GstChildProxy GstImplementsInterface GstColorBalance GstTagSetter GstPhotography GstQTMoovRecover GstChildProxy -GstGSettingsSwitchSink GstChildProxy -GstGSettingsAudioSink GstChildProxy -GstGSettingsVideoSink GstChildProxy -GstGSettingsSwitchSrc GstChildProxy -GstGSettingsAudioSrc GstChildProxy -GstGSettingsVideoSrc GstChildProxy -RsnDvdBin GstChildProxy GstURIHandler +GstCameraBin GstChildProxy GstImplementsInterface GstColorBalance GstTagSetter GstPhotography DvbBaseBin GstChildProxy GstURIHandler -GstAutoConvert GstChildProxy GstSDPDemux GstChildProxy +GstAutoConvert GstChildProxy GstFPSDisplaySink GstChildProxy -GstMpeg2enc GstPreset -GstSDLVideoSink GstImplementsInterface GstXOverlay GstNavigation -GstDfbVideoSink GstImplementsInterface GstNavigation GstColorBalance -VdpSink GstImplementsInterface GstNavigation GstXOverlay -GstApExSink GstImplementsInterface GstMixer -GstCeltEnc GstTagSetter GstPreset -GstCDAudio GstURIHandler -GstMythtvSrc GstURIHandler -GstMMS GstURIHandler -GstNeonhttpSrc GstURIHandler -GstVCDSrc GstURIHandler -GstDataURISrc GstURIHandler -GstAmrWbEnc GstPreset -GstMetadataMux GstTagSetter -GstFaac GstPreset GstXvidEnc GstPreset -GstDiracEnc GstPreset -GstVP8Enc GstTagSetter GstPreset +GstDfbVideoSink GstImplementsInterface GstNavigation GstColorBalance GstKateEnc GstTagSetter GstKateTag GstTagSetter -GstJifMux GstTagSetter +GstMMS GstURIHandler +GstVCDSrc GstURIHandler +GstDataURISrc GstURIHandler +GstMetadataMux GstTagSetter +GstFaac GstPreset +GstAsfMux GstTagSetter GstId3BaseMux GstTagSetter GstId3Mux GstTagSetter +GstJifMux GstTagSetter GstQTMux GstTagSetter GstMP4Mux GstTagSetter GstGPPMux GstTagSetter GstMJ2Mux GstTagSetter -GstAsfMux GstTagSetter diff --git a/docs/plugins/gst-plugins-bad-plugins.prerequisites b/docs/plugins/gst-plugins-bad-plugins.prerequisites index c5365a7e60..e9203c1765 100644 --- a/docs/plugins/gst-plugins-bad-plugins.prerequisites +++ b/docs/plugins/gst-plugins-bad-plugins.prerequisites @@ -1,8 +1,6 @@ GstChildProxy GstObject GstImplementsInterface GstElement -GstXOverlay GstImplementsInterface GstElement -GstTagSetter GstElement GstColorBalance GstImplementsInterface GstElement -GstMixer GstImplementsInterface GstElement +GstTagSetter GstElement GstPhotography GstImplementsInterface GstElement MXFDescriptiveMetadataFrameworkInterface MXFDescriptiveMetadata diff --git a/docs/plugins/inspect/plugin-opencv.xml b/docs/plugins/inspect/plugin-opencv.xml new file mode 100644 index 0000000000..cecc91d8b0 --- /dev/null +++ b/docs/plugins/inspect/plugin-opencv.xml @@ -0,0 +1,265 @@ + + opencv + GStreamer OpenCV Plugins + ../../ext/opencv/.libs/libgstopencv.so + libgstopencv.so + 0.10.20.1 + LGPL + gst-plugins-bad + OpenCv + http://opencv.willowgarage.com + + + cvdilate + cvdilate + Transform/Effect/Video + Applies cvDilate OpenCV function to the image + Thiago Santos<thiago.sousa.santos@collabora.co.uk> + + + sink + sink + always +
video/x-raw-rgb, depth=(int)24, bpp=(int)24; video/x-raw-gray
+
+ + src + source + always +
video/x-raw-rgb, depth=(int)24, bpp=(int)24; video/x-raw-gray
+
+
+
+ + cvequalizehist + cvequalizehist + Transform/Effect/Video + Applies cvEqualizeHist OpenCV function to the image + Thiago Santos<thiago.sousa.santos@collabora.co.uk> + + + sink + sink + always +
video/x-raw-gray, depth=(int)8, bpp=(int)8
+
+ + src + source + always +
video/x-raw-gray, depth=(int)8, bpp=(int)8
+
+
+
+ + cverode + cverode + Transform/Effect/Video + Applies cvErode OpenCV function to the image + Thiago Santos<thiago.sousa.santos@collabora.co.uk> + + + sink + sink + always +
video/x-raw-rgb, depth=(int)24, bpp=(int)24; video/x-raw-gray
+
+ + src + source + always +
video/x-raw-rgb, depth=(int)24, bpp=(int)24; video/x-raw-gray
+
+
+
+ + cvlaplace + cvlaplace + Transform/Effect/Video + Applies cvLaplace OpenCV function to the image + Thiago Santos<thiago.sousa.santos@collabora.co.uk> + + + sink + sink + always +
video/x-raw-gray, depth=(int)8, bpp=(int)8
+
+ + src + source + always +
video/x-raw-gray, depth=(int)16, bpp=(int)16, endianness=(int)4321
+
+
+
+ + cvsmooth + cvsmooth + Transform/Effect/Video + Applies cvSmooth OpenCV function to the image + Thiago Santos<thiago.sousa.santos@collabora.co.uk> + + + sink + sink + always +
video/x-raw-rgb, depth=(int)24, bpp=(int)24; video/x-raw-gray, depth=(int)8, bpp=(int)8
+
+ + src + source + always +
video/x-raw-rgb, depth=(int)24, bpp=(int)24; video/x-raw-gray, depth=(int)8, bpp=(int)8
+
+
+
+ + cvsobel + cvsobel + Transform/Effect/Video + Applies cvSobel OpenCV function to the image + Thiago Santos<thiago.sousa.santos@collabora.co.uk> + + + sink + sink + always +
video/x-raw-gray, depth=(int)8, bpp=(int)8
+
+ + src + source + always +
video/x-raw-gray, depth=(int)16, bpp=(int)16, endianness=(int)4321
+
+
+
+ + edgedetect + edgedetect + Filter/Effect/Video + Performs canny edge detection on videos and images. + Michael Sheldon <mike@mikeasoft.com> + + + sink + sink + always +
video/x-raw-rgb
+
+ + src + source + always +
video/x-raw-rgb
+
+
+
+ + faceblur + faceblur + Filter/Effect/Video + Blurs faces in images and videos + Michael Sheldon <mike@mikeasoft.com> + + + sink + sink + always +
video/x-raw-rgb
+
+ + src + source + always +
video/x-raw-rgb
+
+
+
+ + facedetect + facedetect + Filter/Effect/Video + Performs face detection on videos and images, providing detected positions via bus messages + Michael Sheldon <mike@mikeasoft.com> + + + sink + sink + always +
video/x-raw-rgb
+
+ + src + source + always +
video/x-raw-rgb
+
+
+
+ + pyramidsegment + pyramidsegment + Filter/Effect/Video + Applies pyramid segmentation to a video or image. + Michael Sheldon <mike@mikeasoft.com> + + + sink + sink + always +
video/x-raw-rgb
+
+ + src + source + always +
video/x-raw-rgb
+
+
+
+ + templatematch + templatematch + Filter/Effect/Video + Performs template matching on videos and images, providing detected positions via bus messages + Noam Lewis <jones.noamle@gmail.com> + + + sink + sink + always +
video/x-raw-rgb
+
+ + src + source + always +
video/x-raw-rgb
+
+
+
+ + textwrite + textwrite + Filter/Effect/Video + Performs text writing to the video + sreerenj<bsreerenj@gmail.com> + + + sink + sink + always +
video/x-raw-rgb
+
+ + src + source + always +
ANY
+
+
+
+
+
\ No newline at end of file diff --git a/ext/Makefile.am b/ext/Makefile.am index b3509bbf57..9af726a8d6 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -256,6 +256,12 @@ else OFA_DIR= endif +if USE_OPENCV +OPENCV_DIR=opencv +else +OPENCV_DIR= +endif + if USE_RSVG RSVG_DIR=rsvg else @@ -424,6 +430,7 @@ SUBDIRS=\ $(NAS_DIR) \ $(NEON_DIR) \ $(OFA_DIR) \ + $(OPENCV_DIR) \ $(RSVG_DIR) \ $(SCHRO_DIR) \ $(SDL_DIR) \ @@ -479,6 +486,7 @@ DIST_SUBDIRS = \ nas \ neon \ ofa \ + opencv \ rsvg \ resindvd \ schroedinger \ diff --git a/ext/opencv/Makefile.am b/ext/opencv/Makefile.am index 0d226c332c..c62389b173 100644 --- a/ext/opencv/Makefile.am +++ b/ext/opencv/Makefile.am @@ -11,7 +11,7 @@ libgstopencv_la_SOURCES = gstopencv.c gstopencvvideofilter.c gstopencvutils.c # add other _CFLAGS and _LIBS as needed libgstopencv_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) $(OPENCV_CFLAGS) \ $(GSTPB_BASE_CFLAGS) \ - -I${top_srcdir}/src \ + -I${top_srcdir}/ext \ -I${top_srcdir}/ext/opencv/basicfilters \ -I${top_srcdir}/ext/opencv/edgedetect \ -I${top_srcdir}/ext/opencv/faceblur \