Message ID | 20201017131043.3070011-1-fontaine.fabrice@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/freeswitch: add opencv3 optional dependency | expand |
Fabrice, All, On 2020-10-17 15:10 +0200, Fabrice Fontaine spake thusly: > opencv3 is an optional dependency since version 1.8.1 and > https://github.com/signalwire/freeswitch/commit/6483ab8b65886465863584e8dcfee57084030b9c > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Applied to master, thanks. Regards, Yann E. MORIN. > --- > ...ions-mod_cv-mod_cv.cpp-fix-build-wit.patch | 44 +++++++++++++++++++ > package/freeswitch/Config.in | 3 ++ > package/freeswitch/freeswitch.mk | 5 +++ > 3 files changed, 52 insertions(+) > create mode 100644 package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch > > diff --git a/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch b/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch > new file mode 100644 > index 0000000000..cd0a3ab4c2 > --- /dev/null > +++ b/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch > @@ -0,0 +1,44 @@ > +From 575409a14e62f73e83309daf8ff6642a235f250c Mon Sep 17 00:00:00 2001 > +From: Fabrice Fontaine <fontaine.fabrice@gmail.com> > +Date: Fri, 16 Oct 2020 23:06:36 +0200 > +Subject: [PATCH] src/mod/applications/mod_cv/mod_cv.cpp: fix build with opencv > + 3.4.9 > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +Use cvScalar instead of CV_RGB to avoid the following build failure with > +opencv 3.4.9: > + > +mod_cv.cpp:693:24: error: conversion from ‘cv::Scalar {aka cv::Scalar_<double>}’ to non-scalar type ‘CvScalar’ requested > + CvScalar col = CV_RGB((float)255 * object_neighbors / max_neighbors, 0, 0); > + ^ > + > +Indeed, CV_RGB is defined as cv::Scalar instead of cvScalar since > +version 3.4.2 and > +https://github.com/opencv/opencv/commit/7f9253ea0a9fe2635926379420002dbf0c3fce0f > + > +It should be noted that CV_RGB(r,g,b) = cvScalar(b,g,r,0) > + > +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > +[Upstream status: https://github.com/signalwire/freeswitch/pull/914] > +--- > + src/mod/applications/mod_cv/mod_cv.cpp | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/src/mod/applications/mod_cv/mod_cv.cpp b/src/mod/applications/mod_cv/mod_cv.cpp > +index 582f925abf..bbec755e91 100644 > +--- a/src/mod/applications/mod_cv/mod_cv.cpp > ++++ b/src/mod/applications/mod_cv/mod_cv.cpp > +@@ -690,7 +690,7 @@ void detectAndDraw(cv_context_t *context) > + //printf("WTF %d\n", object_neighbors); > + //cout << "Detected " << object_neighbors << " object neighbors" << endl; > + const int rect_height = cvRound((float)img.rows * object_neighbors / max_neighbors); > +- CvScalar col = CV_RGB((float)255 * object_neighbors / max_neighbors, 0, 0); > ++ CvScalar col = cvScalar(0, 0, (float)255 * object_neighbors / max_neighbors, 0); > + rectangle(img, cvPoint(0, img.rows), cvPoint(img.cols/10, img.rows - rect_height), col, -1); > + > + parse_stats(&context->nestDetected, nestedObjects.size(), context->skip); > +-- > +2.28.0 > + > diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in > index fc8b4bf7e7..a2bb6f4fb0 100644 > --- a/package/freeswitch/Config.in > +++ b/package/freeswitch/Config.in > @@ -14,6 +14,9 @@ config BR2_PACKAGE_FREESWITCH > select BR2_PACKAGE_OPENCV_LIB_HIGHGUI if BR2_PACKAGE_OPENCV > select BR2_PACKAGE_OPENCV_LIB_IMGPROC if BR2_PACKAGE_OPENCV > select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV > + select BR2_PACKAGE_OPENCV3_LIB_HIGHGUI if BR2_PACKAGE_OPENCV3 > + select BR2_PACKAGE_OPENCV3_LIB_IMGPROC if BR2_PACKAGE_OPENCV3 > + select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT if BR2_PACKAGE_OPENCV3 > select BR2_PACKAGE_OPENSSL > select BR2_PACKAGE_PCRE > select BR2_PACKAGE_SOFIA_SIP > diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk > index fe10bc1fa1..e4438e5f04 100644 > --- a/package/freeswitch/freeswitch.mk > +++ b/package/freeswitch/freeswitch.mk > @@ -279,6 +279,11 @@ FREESWITCH_DEPENDENCIES += opencv > FREESWITCH_ENABLED_MODULES += applications/mod_cv > endif > > +ifeq ($(BR2_PACKAGE_OPENCV3),y) > +FREESWITCH_DEPENDENCIES += opencv3 > +FREESWITCH_ENABLED_MODULES += applications/mod_cv > +endif > + > ifeq ($(BR2_PACKAGE_POSTGRESQL),y) > FREESWITCH_CONF_ENV += \ > ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config > -- > 2.28.0 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
diff --git a/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch b/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch new file mode 100644 index 0000000000..cd0a3ab4c2 --- /dev/null +++ b/package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch @@ -0,0 +1,44 @@ +From 575409a14e62f73e83309daf8ff6642a235f250c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine <fontaine.fabrice@gmail.com> +Date: Fri, 16 Oct 2020 23:06:36 +0200 +Subject: [PATCH] src/mod/applications/mod_cv/mod_cv.cpp: fix build with opencv + 3.4.9 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use cvScalar instead of CV_RGB to avoid the following build failure with +opencv 3.4.9: + +mod_cv.cpp:693:24: error: conversion from ‘cv::Scalar {aka cv::Scalar_<double>}’ to non-scalar type ‘CvScalar’ requested + CvScalar col = CV_RGB((float)255 * object_neighbors / max_neighbors, 0, 0); + ^ + +Indeed, CV_RGB is defined as cv::Scalar instead of cvScalar since +version 3.4.2 and +https://github.com/opencv/opencv/commit/7f9253ea0a9fe2635926379420002dbf0c3fce0f + +It should be noted that CV_RGB(r,g,b) = cvScalar(b,g,r,0) + +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> +[Upstream status: https://github.com/signalwire/freeswitch/pull/914] +--- + src/mod/applications/mod_cv/mod_cv.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mod/applications/mod_cv/mod_cv.cpp b/src/mod/applications/mod_cv/mod_cv.cpp +index 582f925abf..bbec755e91 100644 +--- a/src/mod/applications/mod_cv/mod_cv.cpp ++++ b/src/mod/applications/mod_cv/mod_cv.cpp +@@ -690,7 +690,7 @@ void detectAndDraw(cv_context_t *context) + //printf("WTF %d\n", object_neighbors); + //cout << "Detected " << object_neighbors << " object neighbors" << endl; + const int rect_height = cvRound((float)img.rows * object_neighbors / max_neighbors); +- CvScalar col = CV_RGB((float)255 * object_neighbors / max_neighbors, 0, 0); ++ CvScalar col = cvScalar(0, 0, (float)255 * object_neighbors / max_neighbors, 0); + rectangle(img, cvPoint(0, img.rows), cvPoint(img.cols/10, img.rows - rect_height), col, -1); + + parse_stats(&context->nestDetected, nestedObjects.size(), context->skip); +-- +2.28.0 + diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in index fc8b4bf7e7..a2bb6f4fb0 100644 --- a/package/freeswitch/Config.in +++ b/package/freeswitch/Config.in @@ -14,6 +14,9 @@ config BR2_PACKAGE_FREESWITCH select BR2_PACKAGE_OPENCV_LIB_HIGHGUI if BR2_PACKAGE_OPENCV select BR2_PACKAGE_OPENCV_LIB_IMGPROC if BR2_PACKAGE_OPENCV select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV + select BR2_PACKAGE_OPENCV3_LIB_HIGHGUI if BR2_PACKAGE_OPENCV3 + select BR2_PACKAGE_OPENCV3_LIB_IMGPROC if BR2_PACKAGE_OPENCV3 + select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT if BR2_PACKAGE_OPENCV3 select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PCRE select BR2_PACKAGE_SOFIA_SIP diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index fe10bc1fa1..e4438e5f04 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -279,6 +279,11 @@ FREESWITCH_DEPENDENCIES += opencv FREESWITCH_ENABLED_MODULES += applications/mod_cv endif +ifeq ($(BR2_PACKAGE_OPENCV3),y) +FREESWITCH_DEPENDENCIES += opencv3 +FREESWITCH_ENABLED_MODULES += applications/mod_cv +endif + ifeq ($(BR2_PACKAGE_POSTGRESQL),y) FREESWITCH_CONF_ENV += \ ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config
opencv3 is an optional dependency since version 1.8.1 and https://github.com/signalwire/freeswitch/commit/6483ab8b65886465863584e8dcfee57084030b9c Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- ...ions-mod_cv-mod_cv.cpp-fix-build-wit.patch | 44 +++++++++++++++++++ package/freeswitch/Config.in | 3 ++ package/freeswitch/freeswitch.mk | 5 +++ 3 files changed, 52 insertions(+) create mode 100644 package/freeswitch/0001-src-mod-applications-mod_cv-mod_cv.cpp-fix-build-wit.patch