Deleted patches 0, 10, 11, 12, 13 and 14 .

deleted: 0550-bomb-commit-of-gstreamer-videocapture-and-videowrite.patch
deleted: 0552-eliminated-warnings.patch
deleted: 0587-Fix-build-with-gstreamer-0.10.28.patch
deleted: 0865-gstreamer-cleaning-up-resources.patch
deleted: 0871-allow-for-arbitraty-number-of-sources-and-sinks.patch
deleted: opencv-pkgcmake.patch
This commit is contained in:
Sérgio Basto 2015-05-13 16:43:54 +01:00
parent d7da354e29
commit 33e994221b
6 changed files with 0 additions and 2254 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +0,0 @@
From 921675c4e233d8f9e78786550d549e9e05ffeb2a Mon Sep 17 00:00:00 2001
From: Dirk Van Haerenborgh <vhdirk@gmail.com>
Date: Thu, 21 Mar 2013 16:11:53 +0100
Subject: [PATCH 0552/3152] eliminated warnings
---
modules/highgui/src/cap_gstreamer.cpp | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/modules/highgui/src/cap_gstreamer.cpp b/modules/highgui/src/cap_gstreamer.cpp
index b1a2ca0..9ef0a3f 100644
--- a/modules/highgui/src/cap_gstreamer.cpp
+++ b/modules/highgui/src/cap_gstreamer.cpp
@@ -83,7 +83,8 @@ static cv::Mutex gst_initializer_mutex;
/*!
* \brief The gst_initializer class
* Initializes gstreamer once in the whole process
- */class gst_initializer
+ */
+class gst_initializer
{
public:
static void init()
@@ -1007,9 +1008,9 @@ void CvVideoWriter_GStreamer::init()
*/
void CvVideoWriter_GStreamer::close()
{
- if (pipeline) {
- GstFlowReturn ret;
- ret = gst_app_src_end_of_stream(GST_APP_SRC(source));
+ if (pipeline)
+ {
+ gst_app_src_end_of_stream(GST_APP_SRC(source));
//wait for EOS to trickle down the pipeline. This will let all elements finish properly
GstBus* bus = gst_element_get_bus(pipeline);
--
1.9.3

View File

@ -1,100 +0,0 @@
From 6377922716f37b00e4f8f5eab87a8fbcb16422e5 Mon Sep 17 00:00:00 2001
From: Andrey Kamaev <andrey.kamaev@itseez.com>
Date: Tue, 26 Mar 2013 12:27:39 +0400
Subject: [PATCH 0587/3152] Fix build with gstreamer 0.10.28
---
modules/highgui/src/cap_gstreamer.cpp | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/modules/highgui/src/cap_gstreamer.cpp b/modules/highgui/src/cap_gstreamer.cpp
index 9ef0a3f..b8c7f4f 100644
--- a/modules/highgui/src/cap_gstreamer.cpp
+++ b/modules/highgui/src/cap_gstreamer.cpp
@@ -56,9 +56,15 @@
#include <gst/app/gstappsink.h>
#include <gst/app/gstappsrc.h>
#include <gst/riff/riff-media.h>
-#include <gst/pbutils/encoding-profile.h>
#include <gst/pbutils/missing-plugins.h>
+
+#define VERSION_NUM(major, minor, micro) (major * 1000000 + minor * 1000 + micro)
+#define FULL_GST_VERSION VERSION_NUM(GST_VERSION_MAJOR, GST_VERSION_MINOR, GST_VERSION_MICRO)
+
+#if FULL_GST_VERSION >= VERSION_NUM(0,10,32)
+#include <gst/pbutils/encoding-profile.h>
//#include <gst/base/gsttypefindhelper.h>
+#endif
#ifdef NDEBUG
@@ -1114,9 +1120,12 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
GstCaps* caps = NULL;
GstCaps* videocaps = NULL;
+
+#if FULL_GST_VERSION >= VERSION_NUM(0,10,32)
GstCaps* containercaps = NULL;
GstEncodingContainerProfile* containerprofile = NULL;
GstEncodingVideoProfile* videoprofile = NULL;
+#endif
#if GST_VERSION_MAJOR == 0
GstIterator *it = NULL;
@@ -1178,16 +1187,21 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
if (!mime) {
CV_ERROR( CV_StsUnsupportedFormat, "Gstreamer Opencv backend does not support this file type.");
}
+
+#if FULL_GST_VERSION >= VERSION_NUM(0,10,32)
containercaps = gst_caps_from_string(mime);
//create encodebin profile
containerprofile = gst_encoding_container_profile_new("container", "container", containercaps, NULL);
videoprofile = gst_encoding_video_profile_new(videocaps, NULL, NULL, 1);
gst_encoding_container_profile_add_profile(containerprofile, (GstEncodingProfile *) videoprofile);
+#endif
//create pipeline elements
encodebin = gst_element_factory_make("encodebin", NULL);
+#if FULL_GST_VERSION >= VERSION_NUM(0,10,32)
g_object_set(G_OBJECT(encodebin), "profile", containerprofile, NULL);
+#endif
source = gst_element_factory_make("appsrc", NULL);
file = gst_element_factory_make("filesink", NULL);
g_object_set(G_OBJECT(file), "location", filename, NULL);
@@ -1218,6 +1232,7 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
}
else
{
+#if FULL_GST_VERSION >= VERSION_NUM(0,10,29)
input_pix_fmt = GST_VIDEO_FORMAT_GRAY8;
bufsize = frameSize.width * frameSize.height;
@@ -1236,6 +1251,9 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
NULL);
caps = gst_caps_fixate(caps);
#endif
+#else
+ CV_Assert(!"Gstreamer 0.10.29 or newer is required for grayscale input");
+#endif
}
gst_app_src_set_caps(GST_APP_SRC(source), caps);
@@ -1296,11 +1314,13 @@ bool CvVideoWriter_GStreamer::writeFrame( const IplImage * image )
CV_ERROR(CV_StsUnsupportedFormat, "cvWriteFrame() needs images with depth = IPL_DEPTH_8U and nChannels = 3.");
}
}
+#if FULL_GST_VERSION >= VERSION_NUM(0,10,29)
else if (input_pix_fmt == GST_VIDEO_FORMAT_GRAY8) {
if (image->nChannels != 1 || image->depth != IPL_DEPTH_8U) {
CV_ERROR(CV_StsUnsupportedFormat, "cvWriteFrame() needs images with depth = IPL_DEPTH_8U and nChannels = 1.");
}
}
+#endif
else {
assert(false);
}
--
1.9.3

View File

@ -1,72 +0,0 @@
From 6d66d11046bb526d508e9543ecc37cfee91f4435 Mon Sep 17 00:00:00 2001
From: Dirk Van Haerenborgh <dirk.vanhaerenborgh@hogent.be>
Date: Wed, 12 Jun 2013 16:58:16 +0200
Subject: [PATCH 0865/3152] gstreamer: cleaning up resources
---
modules/highgui/src/cap_gstreamer.cpp | 42 +++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/modules/highgui/src/cap_gstreamer.cpp b/modules/highgui/src/cap_gstreamer.cpp
index b8f4eb8..a347a74 100644
--- a/modules/highgui/src/cap_gstreamer.cpp
+++ b/modules/highgui/src/cap_gstreamer.cpp
@@ -1030,6 +1030,19 @@ void CvVideoWriter_GStreamer::close()
handleMessage(pipeline);
gst_object_unref (GST_OBJECT (pipeline));
+
+ if (source)
+ gst_object_unref (GST_OBJECT (source));
+
+ if (encodebin)
+ gst_object_unref (GST_OBJECT (encodebin));
+
+ if (file)
+ gst_object_unref (GST_OBJECT (file));
+
+ if (buffer)
+ gst_object_unref (GST_OBJECT (buffer));
+
}
}
@@ -1155,6 +1168,35 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
source = gst_bin_get_by_name(GST_BIN(encodebin), "appsrc0");
}
+// GstIterator *it = gst_bin_iterate_sources (GST_BIN(encodebin));
+
+
+// gboolean done = FALSE;
+// GstElement *item = NULL;
+
+// while (!done) {
+// switch (gst_iterator_next (it, &item)) {
+// case GST_ITERATOR_OK:
+// source = item;
+// gst_object_unref (item);
+// done = TRUE;
+// break;
+// case GST_ITERATOR_RESYNC:
+// gst_iterator_resync (it);
+// break;
+// case GST_ITERATOR_ERROR:
+// done = TRUE;
+// break;
+// case GST_ITERATOR_DONE:
+// done = TRUE;
+// break;
+// }
+// }
+// gst_iterator_free (it);
+
+
+
+
if (!source){
CV_ERROR(CV_StsError, "GStreamer: cannot find appsrc in manual pipeline\n");
return false;
--
1.9.3

View File

@ -1,165 +0,0 @@
From 30f7f9717f1f0a8c11ba88d4f04b0c7cf26bba70 Mon Sep 17 00:00:00 2001
From: Dirk Van Haerenborgh <dirk.vanhaerenborgh@hogent.be>
Date: Thu, 13 Jun 2013 11:16:33 +0200
Subject: [PATCH 0871/3152] allow for arbitraty number of sources and sinks
---
modules/highgui/src/cap_gstreamer.cpp | 110 ++++++++++++++++++++--------------
1 file changed, 65 insertions(+), 45 deletions(-)
diff --git a/modules/highgui/src/cap_gstreamer.cpp b/modules/highgui/src/cap_gstreamer.cpp
index a347a74..4d4dc71 100644
--- a/modules/highgui/src/cap_gstreamer.cpp
+++ b/modules/highgui/src/cap_gstreamer.cpp
@@ -651,17 +651,47 @@ bool CvCapture_GStreamer::open( int type, const char* filename )
if(manualpipeline)
{
+ GstIterator *it = NULL;
#if GST_VERSION_MAJOR == 0
- GstIterator *it = gst_bin_iterate_sinks(GST_BIN(uridecodebin));
+ it = gst_bin_iterate_sinks(GST_BIN(uridecodebin));
if(gst_iterator_next(it, (gpointer *)&sink) != GST_ITERATOR_OK) {
CV_ERROR(CV_StsError, "GStreamer: cannot find appsink in manual pipeline\n");
return false;
}
#else
- sink = gst_bin_get_by_name(GST_BIN(uridecodebin), "opencvsink");
- if (!sink){
- sink = gst_bin_get_by_name(GST_BIN(uridecodebin), "appsink0");
+ it = gst_bin_iterate_sinks (GST_BIN(uridecodebin));
+
+ gboolean done = FALSE;
+ GstElement *element = NULL;
+ gchar* name = NULL;
+ GValue value = G_VALUE_INIT;
+
+ while (!done) {
+ switch (gst_iterator_next (it, &value)) {
+ case GST_ITERATOR_OK:
+ element = GST_ELEMENT (g_value_get_object (&value));
+ name = gst_element_get_name(element);
+ if (name){
+ if(strstr(name, "opencvsink") != NULL || strstr(name, "appsink") != NULL) {
+ sink = GST_ELEMENT ( gst_object_ref (element) );
+ done = TRUE;
+ }
+ g_free(name);
+ }
+ g_value_unset (&value);
+
+ break;
+ case GST_ITERATOR_RESYNC:
+ gst_iterator_resync (it);
+ break;
+ case GST_ITERATOR_ERROR:
+ case GST_ITERATOR_DONE:
+ done = TRUE;
+ break;
+ }
}
+ gst_iterator_free (it);
+
if (!sink){
CV_ERROR(CV_StsError, "GStreamer: cannot find appsink in manual pipeline\n");
@@ -1034,15 +1064,8 @@ void CvVideoWriter_GStreamer::close()
if (source)
gst_object_unref (GST_OBJECT (source));
- if (encodebin)
- gst_object_unref (GST_OBJECT (encodebin));
-
if (file)
gst_object_unref (GST_OBJECT (file));
-
- if (buffer)
- gst_object_unref (GST_OBJECT (buffer));
-
}
}
@@ -1140,9 +1163,7 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
GstEncodingVideoProfile* videoprofile = NULL;
#endif
-#if GST_VERSION_MAJOR == 0
GstIterator *it = NULL;
-#endif
// we first try to construct a pipeline from the given string.
// if that fails, we assume it is an ordinary filename
@@ -1163,39 +1184,38 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
return false;
}
#else
- source = gst_bin_get_by_name(GST_BIN(encodebin), "opencvsrc");
- if (!source){
- source = gst_bin_get_by_name(GST_BIN(encodebin), "appsrc0");
+ it = gst_bin_iterate_sources (GST_BIN(encodebin));
+
+ gboolean done = FALSE;
+ GstElement *element = NULL;
+ gchar* name = NULL;
+ GValue value = G_VALUE_INIT;
+
+ while (!done) {
+ switch (gst_iterator_next (it, &value)) {
+ case GST_ITERATOR_OK:
+ element = GST_ELEMENT (g_value_get_object (&value));
+ name = gst_element_get_name(element);
+ if (name){
+ if(strstr(name, "opencvsrc") != NULL || strstr(name, "appsrc") != NULL) {
+ source = GST_ELEMENT ( gst_object_ref (element) );
+ done = TRUE;
+ }
+ g_free(name);
+ }
+ g_value_unset (&value);
+
+ break;
+ case GST_ITERATOR_RESYNC:
+ gst_iterator_resync (it);
+ break;
+ case GST_ITERATOR_ERROR:
+ case GST_ITERATOR_DONE:
+ done = TRUE;
+ break;
+ }
}
-
-// GstIterator *it = gst_bin_iterate_sources (GST_BIN(encodebin));
-
-
-// gboolean done = FALSE;
-// GstElement *item = NULL;
-
-// while (!done) {
-// switch (gst_iterator_next (it, &item)) {
-// case GST_ITERATOR_OK:
-// source = item;
-// gst_object_unref (item);
-// done = TRUE;
-// break;
-// case GST_ITERATOR_RESYNC:
-// gst_iterator_resync (it);
-// break;
-// case GST_ITERATOR_ERROR:
-// done = TRUE;
-// break;
-// case GST_ITERATOR_DONE:
-// done = TRUE;
-// break;
-// }
-// }
-// gst_iterator_free (it);
-
-
-
+ gst_iterator_free (it);
if (!source){
CV_ERROR(CV_StsError, "GStreamer: cannot find appsrc in manual pipeline\n");
--
1.9.3

View File

@ -1,34 +0,0 @@
diff -up opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake.pkgcmake opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake
--- opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake.pkgcmake 2013-11-06 15:26:39.000000000 +0100
+++ opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake 2013-11-13 23:19:49.414798348 +0100
@@ -10,7 +10,7 @@
# -------------------------------------------------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
-set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
+set(libdir "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
if(CMAKE_BUILD_TYPE MATCHES "Release")
@@ -35,7 +35,7 @@ ocv_list_reverse(OpenCV_LIB_COMPONENTS)
ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
#build the list of components
-set(OpenCV_LIB_COMPONENTS_ "")
+set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
foreach(CVLib ${OpenCV_LIB_COMPONENTS})
get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
get_filename_component(libname "${libpath}" NAME)
@@ -50,8 +50,10 @@ foreach(CVLib ${OpenCV_LIB_COMPONENTS})
else()
set(installDir "${OPENCV_LIB_INSTALL_PATH}")
endif()
-
- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
+ string(REPLACE "libopencv" "-lopencv" libname "${libname}")
+ string(REPLACE ".so" "" libname "${libname}")
+ string(REPLACE ".dylib" "" libname "${libname}")
+ set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${libname}")
endforeach()
# add extra dependencies required for OpenCV