summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch55
-rw-r--r--meta-oe/recipes-support/opencv/opencv/27691.patch44
-rw-r--r--meta-oe/recipes-support/opencv/opencv_4.13.0.bb (renamed from meta-oe/recipes-support/opencv/opencv_4.12.0.bb)22
3 files changed, 12 insertions, 109 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch b/meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch
deleted file mode 100644
index ec2bb2d100..0000000000
--- a/meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1From b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b Mon Sep 17 00:00:00 2001
2From: Alexander Smorkalov <alexander.smorkalov@xperience.ai>
3Date: Mon, 8 Sep 2025 14:52:58 +0300
4Subject: [PATCH] Renamed templated BlocksCompensator::feed method to exclude
5 claches with base class pure virtual method.
6
7Upstream-Status: Backport [https://github.com/opencv/opencv/commit/b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b]
8Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
9---
10 .../opencv2/stitching/detail/exposure_compensate.hpp | 2 +-
11 modules/stitching/src/exposure_compensate.cpp | 6 +++---
12 2 files changed, 4 insertions(+), 4 deletions(-)
13
14diff --git a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
15index dea76c957b..2954f32ca3 100644
16--- a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
17+++ b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
18@@ -187,7 +187,7 @@ public:
19
20 protected:
21 template<class Compensator>
22- void feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
23+ void feedWithStrategy(const std::vector<Point> &corners, const std::vector<UMat> &images,
24 const std::vector<std::pair<UMat,uchar> > &masks);
25
26 private:
27diff --git a/modules/stitching/src/exposure_compensate.cpp b/modules/stitching/src/exposure_compensate.cpp
28index 59542d95ba..f7c33fa4ef 100644
29--- a/modules/stitching/src/exposure_compensate.cpp
30+++ b/modules/stitching/src/exposure_compensate.cpp
31@@ -460,7 +460,7 @@ void ChannelsCompensator::setMatGains(std::vector<Mat>& umv)
32
33
34 template<class Compensator>
35-void BlocksCompensator::feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
36+void BlocksCompensator::feedWithStrategy(const std::vector<Point> &corners, const std::vector<UMat> &images,
37 const std::vector<std::pair<UMat,uchar> > &masks)
38 {
39 CV_Assert(corners.size() == images.size() && images.size() == masks.size());
40@@ -605,13 +605,13 @@ void BlocksCompensator::setMatGains(std::vector<Mat>& umv)
41 void BlocksGainCompensator::feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
42 const std::vector<std::pair<UMat,uchar> > &masks)
43 {
44- BlocksCompensator::feed<GainCompensator>(corners, images, masks);
45+ BlocksCompensator::feedWithStrategy<GainCompensator>(corners, images, masks);
46 }
47
48 void BlocksChannelsCompensator::feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
49 const std::vector<std::pair<UMat,uchar> > &masks)
50 {
51- BlocksCompensator::feed<ChannelsCompensator>(corners, images, masks);
52+ BlocksCompensator::feedWithStrategy<ChannelsCompensator>(corners, images, masks);
53 }
54
55
diff --git a/meta-oe/recipes-support/opencv/opencv/27691.patch b/meta-oe/recipes-support/opencv/opencv/27691.patch
deleted file mode 100644
index c8c23c93aa..0000000000
--- a/meta-oe/recipes-support/opencv/opencv/27691.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 90c444abd387ffa70b2e72a34922903a2f0f4f5a Mon Sep 17 00:00:00 2001
2From: Alexander Smorkalov <alexander.smorkalov@opencv.ai>
3Date: Wed, 20 Aug 2025 10:53:51 +0300
4Subject: [PATCH] FFmpeg 8.0 support.
5
6Upstream-Status: Backport [https://github.com/opencv/opencv/commit/86df53155411b3ade57d0213bf8dd63006bf248f]
7---
8 modules/videoio/src/cap_ffmpeg_impl.hpp | 14 ++++++++++++++
9 1 file changed, 14 insertions(+)
10
11diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
12index 489dbe565d3d..5780b4c11361 100644
13--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
14+++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
15@@ -685,7 +685,10 @@ void CvCapture_FFMPEG::close()
16 if( video_st )
17 {
18 #ifdef CV_FFMPEG_CODECPAR
19+// avcodec_close removed in FFmpeg release 8.0
20+# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
21 avcodec_close( context );
22+# endif
23 #endif
24 video_st = NULL;
25 }
26@@ -2005,7 +2008,18 @@ void CvCapture_FFMPEG::get_rotation_angle()
27 rotation_angle = 0;
28 #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(57, 68, 100)
29 const uint8_t *data = 0;
30+ // av_stream_get_side_data removed in FFmpeg release 8.0
31+# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
32 data = av_stream_get_side_data(video_st, AV_PKT_DATA_DISPLAYMATRIX, NULL);
33+# else
34+ AVPacketSideData* sd = video_st->codecpar->coded_side_data;
35+ int nb_sd = video_st->codecpar->nb_coded_side_data;
36+ if (sd && nb_sd > 0)
37+ {
38+ const AVPacketSideData* mtx = av_packet_side_data_get(sd, nb_sd, AV_PKT_DATA_DISPLAYMATRIX);
39+ data = mtx->data;
40+ }
41+# endif
42 if (data)
43 {
44 rotation_angle = -cvRound(av_display_rotation_get((const int32_t*)data));
diff --git a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb b/meta-oe/recipes-support/opencv/opencv_4.13.0.bb
index b8e83cd6be..3f4dc23da2 100644
--- a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb
+++ b/meta-oe/recipes-support/opencv/opencv_4.13.0.bb
@@ -10,33 +10,33 @@ ARM_INSTRUCTION_SET:armv5 = "arm"
10 10
11DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" 11DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
12 12
13SRCREV_opencv = "49486f61fb25722cbcf586b7f4320921d46fb38e" 13SRCREV_opencv = "fe38fc608f6acb8b68953438a62305d8318f4fcd"
14SRCREV_contrib = "d943e1d61c8bc556a13783e1546ee7c1a9e0b1cf" 14SRCREV_contrib = "d99ad2a188210cc35067c2e60076eed7c2442bc3"
15SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" 15SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
16SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" 16SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
17SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" 17SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
18SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" 18SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
19SRCREV_fastcv = "2265e79b3b9a8512a9c615b8c4d0244e88f45a9d" 19SRCREV_fastcv = "9e8d42b6d7e769548d70b2e5674e263b056de8b4"
20# kleidicv must match version of OpenCV
21SRCREV_kleidicv = "1e8fe7008c2292657b9689d70ea5d30db0e57767"
20 22
21 23SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv_kleidicv"
22SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv" 24SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=${PV} \
23SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https \ 25 git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https;tag=${PV} \
24 git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https \
25 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/boostdesc;name=boostdesc;protocol=https \ 26 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/boostdesc;name=boostdesc;protocol=https \
26 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vgg;name=vgg;protocol=https \ 27 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vgg;name=vgg;protocol=https \
27 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/face;name=face;protocol=https \ 28 git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/face;name=face;protocol=https \
28 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/wechat_qrcode;name=wechat-qrcode;protocol=https \ 29 git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/wechat_qrcode;name=wechat-qrcode;protocol=https \
29 git://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250606;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/fastcv;name=fastcv;protocol=https \ 30 git://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250715;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/fastcv;name=fastcv;protocol=https \
30 file://0003-To-fix-errors-as-following.patch \ 31 file://0003-To-fix-errors-as-following.patch \
31 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ 32 file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
32 file://0001-Dont-use-isystem.patch \ 33 file://0001-Dont-use-isystem.patch \
33 file://download.patch \ 34 file://download.patch \
34 file://0001-Make-ts-module-external.patch \ 35 file://0001-Make-ts-module-external.patch \
35 file://0008-Do-not-embed-build-directory-in-binaries.patch \ 36 file://0008-Do-not-embed-build-directory-in-binaries.patch \
36 file://27691.patch \
37 file://0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch \
38 " 37 "
39SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" 38SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
39SRC_URI:append:aarch64 = " git://gitlab.arm.com/kleidi/kleidicv;branch=main;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/3rdparty/kleidicv;name=kleidicv;protocol=https"
40 40
41 41
42# OpenCV wants to download more files during configure. We download these in 42# OpenCV wants to download more files during configure. We download these in
@@ -81,10 +81,12 @@ EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${S}/contrib/modules \
81 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DCPU_DISPATCH=SSE,SSE2,SSE3,SSSE3,SSE41", "", d)} \ 81 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DCPU_DISPATCH=SSE,SSE2,SSE3,SSSE3,SSE41", "", d)} \
82 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DCPU_DISPATCH=SSE,SSE2,SSE3,SSSE3,SSE41,SSE42", "", d)} \ 82 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DCPU_DISPATCH=SSE,SSE2,SSE3,SSSE3,SSE41,SSE42", "", d)} \
83" 83"
84
84LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" 85LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
85LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" 86LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
86 87
87EXTRA_OECMAKE:append:x86 = " -DX86=ON" 88EXTRA_OECMAKE:append:x86 = " -DX86=ON"
89EXTRA_OECMAKE:append:aarch64 = " -DKLEIDICV_SOURCE_PATH=${S}/3rdparty/kleidicv"
88 90
89PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l samples tbb \ 91PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l samples tbb \
90 ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}" 92 ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"