summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0001-FROMLIST-Switch-to-static-instance-of-FastCV-on-Linux.patch87
-rw-r--r--meta-oe/recipes-support/opencv/opencv_4.11.0.bb8
2 files changed, 93 insertions, 2 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-FROMLIST-Switch-to-static-instance-of-FastCV-on-Linux.patch b/meta-oe/recipes-support/opencv/opencv/0001-FROMLIST-Switch-to-static-instance-of-FastCV-on-Linux.patch
new file mode 100644
index 0000000000..dd3c9a7a82
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv/0001-FROMLIST-Switch-to-static-instance-of-FastCV-on-Linux.patch
@@ -0,0 +1,87 @@
1From e517347450636012e5f7a65a504e4ac9e1224c50 Mon Sep 17 00:00:00 2001
2From: Alexander Smorkalov <alexander.smorkalov@opencv.ai>
3Date: Thu, 13 Feb 2025 09:17:08 +0300
4Subject: [PATCH] FROMLIST: Switch to static instance of FastCV on Linux.
5
6Signed-off-by: Alexander Smorkalov <alexander.smorkalov@opencv.ai>
7Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/26917]
8---
9 3rdparty/fastcv/fastcv.cmake | 7 ++++---
10 cmake/OpenCVFindLibsPerf.cmake | 21 +++++++++++++++------
11 2 files changed, 19 insertions(+), 9 deletions(-)
12
13diff --git a/3rdparty/fastcv/fastcv.cmake b/3rdparty/fastcv/fastcv.cmake
14index b8172705ca..5c81c11300 100644
15--- a/3rdparty/fastcv/fastcv.cmake
16+++ b/3rdparty/fastcv/fastcv.cmake
17@@ -1,7 +1,7 @@
18 function(download_fastcv root_dir)
19
20 # Commit SHA in the opencv_3rdparty repo
21- set(FASTCV_COMMIT "dc5d58018f3af915a8d209386d2c58c0501c0f2c")
22+ set(FASTCV_COMMIT "f4413cc2ab7233fdfc383a4cded402c072677fb0")
23
24 # Define actual FastCV versions
25 if(ANDROID)
26@@ -16,14 +16,15 @@ function(download_fastcv root_dir)
27 endif()
28 elseif(UNIX AND NOT APPLE AND NOT IOS AND NOT XROS)
29 if(AARCH64)
30- set(FCV_PACKAGE_NAME "fastcv_linux_aarch64_2024_12_11.tgz")
31- set(FCV_PACKAGE_HASH "7b33ad833e6f15ab6d4ec64fa3c17acd")
32+ set(FCV_PACKAGE_NAME "fastcv_linux_aarch64_2025_02_12.tgz")
33+ set(FCV_PACKAGE_HASH "33ac2a59cf3e7d6402eee2e010de1202")
34 else()
35 message("FastCV: fastcv lib for 32-bit Linux is not supported for now!")
36 endif()
37 endif(ANDROID)
38
39 # Download Package
40+
41 set(OPENCV_FASTCV_URL "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${FASTCV_COMMIT}/fastcv/")
42
43 ocv_download( FILENAME ${FCV_PACKAGE_NAME}
44diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake
45index c2380e6ce5..c5fb628c44 100644
46--- a/cmake/OpenCVFindLibsPerf.cmake
47+++ b/cmake/OpenCVFindLibsPerf.cmake
48@@ -181,7 +181,14 @@ endif(WITH_KLEIDICV)
49 if(WITH_FASTCV)
50 if((EXISTS ${FastCV_INCLUDE_PATH}) AND (EXISTS ${FastCV_LIB_PATH}))
51 message(STATUS "Use external FastCV ${FastCV_INCLUDE_PATH}, ${FastCV_LIB_PATH}")
52- set(HAVE_FASTCV TRUE CACHE BOOL "FastCV status")
53+ find_library(FASTCV_LIBRARY NAMES "fastcv"
54+ PATHS "${FastCV_LIB_PATH}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
55+ mark_as_advanced(FASTCV_LIBRARY)
56+ if (FASTCV_LIBRARY)
57+ set(HAVE_FASTCV TRUE CACHE BOOL "FastCV status")
58+ else()
59+ set(HAVE_FASTCV FALSE CACHE BOOL "FastCV status")
60+ endif()
61 else()
62 include("${OpenCV_SOURCE_DIR}/3rdparty/fastcv/fastcv.cmake")
63 set(FCV_ROOT_DIR "${OpenCV_BINARY_DIR}/3rdparty/fastcv")
64@@ -190,13 +197,15 @@ if(WITH_FASTCV)
65 set(FastCV_INCLUDE_PATH "${FCV_ROOT_DIR}/inc" CACHE PATH "FastCV includes directory")
66 set(FastCV_LIB_PATH "${FCV_ROOT_DIR}/libs" CACHE PATH "FastCV library directory")
67 ocv_install_3rdparty_licenses(FastCV "${OpenCV_BINARY_DIR}/3rdparty/fastcv/LICENSE")
68- install(FILES "${FastCV_LIB_PATH}/libfastcvopt.so"
69- DESTINATION "${OPENCV_LIB_INSTALL_PATH}" COMPONENT "bin")
70+ if(ANDROID)
71+ set(FASTCV_LIBRARY "${FastCV_LIB_PATH}/libfastcvopt.so" CACHE PATH "FastCV library")
72+ install(FILES "${FASTCV_LIBRARY}" DESTINATION "${OPENCV_LIB_INSTALL_PATH}" COMPONENT "bin")
73+ else()
74+ set(FASTCV_LIBRARY "${FastCV_LIB_PATH}/libfastcv.a" CACHE PATH "FastCV library")
75+ install(FILES "${FASTCV_LIBRARY}" DESTINATION "${OPENCV_LIB_INSTALL_PATH}" COMPONENT "dev")
76+ endif()
77 else()
78 set(HAVE_FASTCV FALSE CACHE BOOL "FastCV status")
79 endif()
80 endif()
81- if(HAVE_FASTCV)
82- set(FASTCV_LIBRARY "${FastCV_LIB_PATH}/libfastcvopt.so" CACHE PATH "FastCV library")
83- endif()
84 endif(WITH_FASTCV)
85--
862.34.1
87
diff --git a/meta-oe/recipes-support/opencv/opencv_4.11.0.bb b/meta-oe/recipes-support/opencv/opencv_4.11.0.bb
index 1613b6a3ed..61dc681a39 100644
--- a/meta-oe/recipes-support/opencv/opencv_4.11.0.bb
+++ b/meta-oe/recipes-support/opencv/opencv_4.11.0.bb
@@ -16,15 +16,17 @@ SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
16SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" 16SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
17SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" 17SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
18SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" 18SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
19SRCREV_fastcv = "f4413cc2ab7233fdfc383a4cded402c072677fb0"
19 20
20 21
21SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" 22SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv"
22SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https \ 23SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https \
23 git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=4.x;protocol=https \ 24 git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=4.x;protocol=https \
24 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \ 25 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \
25 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \ 26 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \
26 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \ 27 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \
27 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \ 28 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \
29 git://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250212;destsuffix=git/fastcv;name=fastcv;protocol=https \
28 file://0003-To-fix-errors-as-following.patch \ 30 file://0003-To-fix-errors-as-following.patch \
29 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ 31 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
30 file://0001-Dont-use-isystem.patch \ 32 file://0001-Dont-use-isystem.patch \
@@ -32,6 +34,7 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=ht
32 file://0001-Make-ts-module-external.patch \ 34 file://0001-Make-ts-module-external.patch \
33 file://0008-Do-not-embed-build-directory-in-binaries.patch \ 35 file://0008-Do-not-embed-build-directory-in-binaries.patch \
34 file://0001-core-fixed-VSX-intrinsics-implementation.patch \ 36 file://0001-core-fixed-VSX-intrinsics-implementation.patch \
37 file://0001-FROMLIST-Switch-to-static-instance-of-FastCV-on-Linux.patch \
35 " 38 "
36SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" 39SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
37 40
@@ -61,6 +64,7 @@ do_unpack_extra() {
61 cache data ${S}/face/*.dat 64 cache data ${S}/face/*.dat
62 cache wechat_qrcode ${S}/wechat_qrcode/*.caffemodel 65 cache wechat_qrcode ${S}/wechat_qrcode/*.caffemodel
63 cache wechat_qrcode ${S}/wechat_qrcode/*.prototxt 66 cache wechat_qrcode ${S}/wechat_qrcode/*.prototxt
67 cache fastcv ${S}/fastcv/fastcv/*.tgz
64} 68}
65addtask unpack_extra after do_unpack before do_patch 69addtask unpack_extra after do_unpack before do_patch
66 70
@@ -71,7 +75,6 @@ EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${S}/contrib/modules \
71 -DENABLE_PRECOMPILED_HEADERS=OFF \ 75 -DENABLE_PRECOMPILED_HEADERS=OFF \
72 -DCMAKE_SKIP_RPATH=ON \ 76 -DCMAKE_SKIP_RPATH=ON \
73 -DWITH_IPP=OFF \ 77 -DWITH_IPP=OFF \
74 -DWITH_FASTCV=OFF \
75 -DOPENCV_GENERATE_PKGCONFIG=ON \ 78 -DOPENCV_GENERATE_PKGCONFIG=ON \
76 -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ 79 -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
77 -DOPENCV_ALLOW_DOWNLOADS=OFF \ 80 -DOPENCV_ALLOW_DOWNLOADS=OFF \
@@ -122,6 +125,7 @@ PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
122PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," 125PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
123PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," 126PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
124PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," 127PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
128PACKAGECONFIG[fastcv] = "-DWITH_FASTCV=ON ,-DWITH_FASTCV=OFF,,"
125 129
126inherit pkgconfig cmake setuptools3-base python3native 130inherit pkgconfig cmake setuptools3-base python3native
127 131