aboutsummaryrefslogtreecommitdiff
path: root/package/opencv3
diff options
context:
space:
mode:
Diffstat (limited to 'package/opencv3')
-rw-r--r--package/opencv3/0001-Fix-build-of-grfmt_jpeg2000-cpp.patch37
-rw-r--r--package/opencv3/0002-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-growth-on-gcc-10.patch53
-rw-r--r--package/opencv3/Config.in9
-rw-r--r--package/opencv3/opencv3.hash4
-rw-r--r--package/opencv3/opencv3.mk33
5 files changed, 36 insertions, 100 deletions
diff --git a/package/opencv3/0001-Fix-build-of-grfmt_jpeg2000-cpp.patch b/package/opencv3/0001-Fix-build-of-grfmt_jpeg2000-cpp.patch
deleted file mode 100644
index e54fab852a..0000000000
--- a/package/opencv3/0001-Fix-build-of-grfmt_jpeg2000-cpp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f66fc199a20882c546fa31142e9c0f5a8b3cf983 Mon Sep 17 00:00:00 2001
-From: Florian Jung <flo@windfis.ch>
-Date: Wed, 29 Jul 2020 18:51:55 +0200
-Subject: [PATCH] Fix build of grfmt_jpeg2000.cpp
-
-libjasper has recently changed `jas_matrix_get` from a macro to an inline function
-(389951d071 in https://github.com/jasper-software/jasper), causing the build to fail.
-
-[Retrieved from:
-https://github.com/opencv/opencv/commit/f66fc199a20882c546fa31142e9c0f5a8b3cf983]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- modules/imgcodecs/src/grfmt_jpeg2000.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules/imgcodecs/src/grfmt_jpeg2000.cpp b/modules/imgcodecs/src/grfmt_jpeg2000.cpp
-index fe69f80c86f..0f4d28d6f4d 100644
---- a/modules/imgcodecs/src/grfmt_jpeg2000.cpp
-+++ b/modules/imgcodecs/src/grfmt_jpeg2000.cpp
-@@ -377,7 +377,7 @@ bool Jpeg2KDecoder::readComponent8u( uchar *data, void *_buffer,
-
- for( y = 0; y < yend - ystart; )
- {
-- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 );
-+ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 );
- uchar* dst = data + (y - yoffset) * step - xoffset;
-
- if( xstep == 1 )
-@@ -443,7 +443,7 @@ bool Jpeg2KDecoder::readComponent16u( unsigned short *data, void *_buffer,
-
- for( y = 0; y < yend - ystart; )
- {
-- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 );
-+ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 );
- ushort* dst = data + (y - yoffset) * step - xoffset;
-
- if( xstep == 1 )
diff --git a/package/opencv3/0002-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-growth-on-gcc-10.patch b/package/opencv3/0002-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-growth-on-gcc-10.patch
deleted file mode 100644
index 321c2e51f9..0000000000
--- a/package/opencv3/0002-carotene-Replace-ipcp-unit-growth-with-ipa-cp-unit-growth-on-gcc-10.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 2bd94884752b9840d434f80b1c4b83176f7063e3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Jan 2020 08:52:00 -0800
-Subject: [PATCH] carotene: Replace ipcp-unit-growth with ipa-cp-unit-growth on
- gcc >= 10
-
-gcc 10+ has renamed this option, therefore check for gcc version before
-deciding which name to use for opt parameter
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Retrieved from:
-https://github.com/opencv/opencv/commit/2bd94884752b9840d434f80b1c4b83176f7063e3]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- 3rdparty/carotene/CMakeLists.txt | 7 +++++--
- 3rdparty/carotene/hal/CMakeLists.txt | 6 +++++-
- 2 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/3rdparty/carotene/CMakeLists.txt b/3rdparty/carotene/CMakeLists.txt
-index bfa9368d79d..528fcf62e15 100644
---- a/3rdparty/carotene/CMakeLists.txt
-+++ b/3rdparty/carotene/CMakeLists.txt
-@@ -20,8 +20,11 @@ if(CMAKE_COMPILER_IS_GNUCC)
- # - matchTemplate about 5-10%
- # - goodFeaturesToTrack 10-20%
- # - cornerHarris 30% for some cases
--
-- set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
-+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0.0")
-+ set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
-+ else()
-+ set_source_files_properties(${carotene_sources} COMPILE_FLAGS "--param ipa-cp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
-+ endif()
- endif()
-
- add_library(carotene_objs OBJECT
-diff --git a/3rdparty/carotene/hal/CMakeLists.txt b/3rdparty/carotene/hal/CMakeLists.txt
-index 819954de137..b94d8511e8a 100644
---- a/3rdparty/carotene/hal/CMakeLists.txt
-+++ b/3rdparty/carotene/hal/CMakeLists.txt
-@@ -88,7 +88,11 @@ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${carotene_defs})
- # matchTemplate about 5-10%
- # goodFeaturesToTrack 10-20%
- # cornerHarris 30% for some cases
-- set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
-+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0.0")
-+ set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
-+ else()
-+ set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipa-cp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
-+ endif()
- # set_source_files_properties(impl.cpp $<TARGET_OBJECTS:carotene_objs> COMPILE_FLAGS "--param ipcp-unit-growth=100000 --param inline-unit-growth=100000 --param large-stack-frame-growth=5000")
- endif()
-
diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in
index 22dcb67f3a..b9ea033f13 100644
--- a/package/opencv3/Config.in
+++ b/package/opencv3/Config.in
@@ -5,7 +5,6 @@ menuconfig BR2_PACKAGE_OPENCV3
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS # include dlfcn.h
- depends on !BR2_PACKAGE_OPENCV
select BR2_PACKAGE_ZLIB
help
OpenCV (Open Source Computer Vision) is a library of
@@ -313,6 +312,14 @@ config BR2_PACKAGE_OPENCV3_WITH_V4L
If the package libv4l is enabled, its support is
automatically enabled.
+config BR2_PACKAGE_OPENCV3_WITH_WEBP
+ bool "webp support"
+ select BR2_PACKAGE_WEBP
+ help
+ Enable WebP support.
+
+ Use shared libwebp from the target system.
+
comment "Install options"
config BR2_PACKAGE_OPENCV3_INSTALL_DATA
diff --git a/package/opencv3/opencv3.hash b/package/opencv3/opencv3.hash
index 4953d01a1c..04eed67cfe 100644
--- a/package/opencv3/opencv3.hash
+++ b/package/opencv3/opencv3.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 b7ea364de7273cfb3b771a0d9c111b8b8dfb42ff2bcd2d84681902fb8f49892a opencv3-3.4.9.tar.gz
-sha256 c3596f2f886631ac49af2c9a201ca559f850bb5726bdc25eacbe2369a70caad9 LICENSE
+sha256 70230049194ae03ed8bfaab6cd1388569aa1b5c482d8b50d3af1cd2ae5a0b95d opencv3-3.4.13.tar.gz
+sha256 a5a7cf90fe5ac9763baad852cf69cf9d9b89bff934a679fdc5c8fcecaeba9a25 LICENSE
diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk
index 1ab5cf1efd..b1b86ba71d 100644
--- a/package/opencv3/opencv3.mk
+++ b/package/opencv3/opencv3.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OPENCV3_VERSION = 3.4.9
+OPENCV3_VERSION = 3.4.13
OPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION))
OPENCV3_INSTALL_STAGING = YES
OPENCV3_LICENSE = BSD-3-Clause
@@ -13,6 +13,11 @@ OPENCV3_SUPPORTS_IN_SOURCE_BUILD = NO
OPENCV3_CXXFLAGS = $(TARGET_CXXFLAGS)
+# Uses __atomic_fetch_add_4
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+OPENCV3_CXXFLAGS += -latomic
+endif
+
# Fix c++11 build with missing std::exception_ptr
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y)
OPENCV3_CXXFLAGS += -DCV__EXCEPTION_PTR=0
@@ -41,6 +46,7 @@ endif
# OpenCV build options
OPENCV3_CONF_OPTS += \
-DBUILD_WITH_STATIC_CRT=OFF \
+ -DENABLE_CCACHE=OFF \
-DENABLE_COVERAGE=OFF \
-DENABLE_FAST_MATH=ON \
-DENABLE_IMPL_COLLECTION=OFF \
@@ -48,7 +54,7 @@ OPENCV3_CONF_OPTS += \
-DENABLE_OMIT_FRAME_POINTER=ON \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DENABLE_PROFILING=OFF \
- -DOPENCV3_WARNINGS_ARE_ERRORS=OFF
+ -DOPENCV_WARNINGS_ARE_ERRORS=OFF
# OpenCV link options
OPENCV3_CONF_OPTS += \
@@ -218,7 +224,6 @@ OPENCV3_CONF_OPTS += \
-DWITH_VA=OFF \
-DWITH_VA_INTEL=OFF \
-DWITH_VTK=OFF \
- -DWITH_WEBP=OFF \
-DWITH_XINE=OFF
OPENCV3_DEPENDENCIES += host-pkgconf zlib
@@ -282,7 +287,9 @@ OPENCV3_CONF_OPTS += -DWITH_PNG=OFF
endif
ifeq ($(BR2_PACKAGE_OPENCV3_WITH_PROTOBUF),y)
+# protobuf needs c++11 (since 3.6.0)
OPENCV3_CONF_OPTS += \
+ -DENABLE_CXX11=ON \
-DPROTOBUF_UPDATE_FILES=ON \
-DWITH_PROTOBUF=ON
OPENCV3_DEPENDENCIES += protobuf
@@ -313,6 +320,13 @@ else
OPENCV3_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
endif
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_WEBP),y)
+OPENCV3_CONF_OPTS += -DWITH_WEBP=ON
+OPENCV3_DEPENDENCIES += webp
+else
+OPENCV3_CONF_OPTS += -DWITH_WEBP=OFF
+endif
+
ifeq ($(BR2_PACKAGE_OPENCV3_LIB_PYTHON),y)
OPENCV3_CONF_OPTS += \
-DBUILD_opencv_python2=OFF \
@@ -334,16 +348,21 @@ OPENCV3_CONF_OPTS += \
endif
# Installation hooks:
-define OPENCV3_CLEAN_INSTALL_DOC
- $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc
+define OPENCV3_CLEAN_INSTALL_LICENSE
+ $(RM) -fr $(TARGET_DIR)/usr/share/licenses/opencv3
endef
-OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_DOC
+OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_LICENSE
define OPENCV3_CLEAN_INSTALL_CMAKE
- $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCVConfig*.cmake
+ $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCV*.cmake
endef
OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_CMAKE
+define OPENCV3_CLEAN_INSTALL_VALGRIND
+ $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/valgrind*
+endef
+OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_VALGRIND
+
ifneq ($(BR2_PACKAGE_OPENCV3_INSTALL_DATA),y)
define OPENCV3_CLEAN_INSTALL_DATA
$(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/haarcascades \