diff options
| -rw-r--r-- | meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch | 55 | ||||
| -rw-r--r-- | meta-oe/recipes-support/opencv/opencv/27691.patch | 44 | ||||
| -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 @@ | |||
| 1 | From b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Smorkalov <alexander.smorkalov@xperience.ai> | ||
| 3 | Date: Mon, 8 Sep 2025 14:52:58 +0300 | ||
| 4 | Subject: [PATCH] Renamed templated BlocksCompensator::feed method to exclude | ||
| 5 | claches with base class pure virtual method. | ||
| 6 | |||
| 7 | Upstream-Status: Backport [https://github.com/opencv/opencv/commit/b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b] | ||
| 8 | Signed-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 | |||
| 14 | diff --git a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp | ||
| 15 | index 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: | ||
| 27 | diff --git a/modules/stitching/src/exposure_compensate.cpp b/modules/stitching/src/exposure_compensate.cpp | ||
| 28 | index 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 @@ | |||
| 1 | From 90c444abd387ffa70b2e72a34922903a2f0f4f5a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Smorkalov <alexander.smorkalov@opencv.ai> | ||
| 3 | Date: Wed, 20 Aug 2025 10:53:51 +0300 | ||
| 4 | Subject: [PATCH] FFmpeg 8.0 support. | ||
| 5 | |||
| 6 | Upstream-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 | |||
| 11 | diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp | ||
| 12 | index 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 | ||
| 11 | DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" | 11 | DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" |
| 12 | 12 | ||
| 13 | SRCREV_opencv = "49486f61fb25722cbcf586b7f4320921d46fb38e" | 13 | SRCREV_opencv = "fe38fc608f6acb8b68953438a62305d8318f4fcd" |
| 14 | SRCREV_contrib = "d943e1d61c8bc556a13783e1546ee7c1a9e0b1cf" | 14 | SRCREV_contrib = "d99ad2a188210cc35067c2e60076eed7c2442bc3" |
| 15 | SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" | 15 | SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" |
| 16 | SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" | 16 | SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" |
| 17 | SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" | 17 | SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" |
| 18 | SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" | 18 | SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" |
| 19 | SRCREV_fastcv = "2265e79b3b9a8512a9c615b8c4d0244e88f45a9d" | 19 | SRCREV_fastcv = "9e8d42b6d7e769548d70b2e5674e263b056de8b4" |
| 20 | # kleidicv must match version of OpenCV | ||
| 21 | SRCREV_kleidicv = "1e8fe7008c2292657b9689d70ea5d30db0e57767" | ||
| 20 | 22 | ||
| 21 | 23 | SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv_kleidicv" | |
| 22 | SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv" | 24 | SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=${PV} \ |
| 23 | SRC_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 | " |
| 39 | SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" | 38 | SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib" |
| 39 | SRC_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 | |||
| 84 | LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" | 85 | LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" |
| 85 | LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" | 86 | LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" |
| 86 | 87 | ||
| 87 | EXTRA_OECMAKE:append:x86 = " -DX86=ON" | 88 | EXTRA_OECMAKE:append:x86 = " -DX86=ON" |
| 89 | EXTRA_OECMAKE:append:aarch64 = " -DKLEIDICV_SOURCE_PATH=${S}/3rdparty/kleidicv" | ||
| 88 | 90 | ||
| 89 | PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l samples tbb \ | 91 | PACKAGECONFIG ??= "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)}" |
