diff mbox series

回复: [oe][meta-oe][PATCH] opencv: upgrade 4.12.0 -> 4.13.0

Message ID TY3PR01MB10110BE3ECADF721A0B5A4E399B82A@TY3PR01MB10110.jpnprd01.prod.outlook.com
State New
Headers show
Series 回复: [oe][meta-oe][PATCH] opencv: upgrade 4.12.0 -> 4.13.0 | expand

Commit Message

Yiding Liu (Fujitsu) Jan. 9, 2026, 5:01 a.m. UTC
Hi Khem

   I compare opencv 4.12.0 and 4.13.0, the default option about kleidicv is different.
  1. Compare of CMakeCache.txt file.
       In 4.12.0
        WITH_KLEIDICV:BOOL=OFF
      In 4.13.0
        WITH_KLEIDICV:BOOL=ON

   So in 4.13.0, KLEIDICV will be configured and kleidicv is not in Depends which result in configure fails.

  2. Compare of CMakeLists.txt file.
      In 4.12.0
          OCV_OPTION(WITH_KLEIDICV "Use KleidiCV library for ARM platforms" (ANDROID AND AARCH64 AND NOT CV_DISABLE_OPTIMIZATION)
      In 4.13.0
          OCV_OPTION(WITH_KLEIDICV "Use KleidiCV library for ARM platforms" (NOT CV_DISABLE_OPTIMIZATION)
          VISIBLE_IF (AARCH64 AND (ANDROID OR UNIX)))

      In 4.12.0, the condition “ANDROID” is not meeted, so WITH_KLEIDICV is OFF.
      In 4.13.0, the condition "ANDROID OR UNIX" is meeted, so WITH_KLEIDICV is ON.

  3. Which should I do next
      kleidicv is not in meta-oe now.
      Should I add a new recipe for kleidicv in meta-oe or just make WITH_KLEIDICV = OFF when using AARCH64?

     By the way, if add a new recipe for kleidicv, the version of kleidicv should match opencv. e.g opencv 4.13.0 needs  kleidicv 0.7.0.
     How to resolve this problem?


________________________________
发件人: Khem Raj <raj.khem@gmail.com>
发送时间: 2026年1月9日 04:40
收件人: Liu, Yiding/刘 乙丁 <liuyd.fnst@fujitsu.com>
抄送: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org>
主题: Re: [oe][meta-oe][PATCH] opencv: upgrade 4.12.0 -> 4.13.0

it fails to configure/build on qemurarm64/musl targets


| -- Found TBB (cmake): /mnt/stash/tmp/work/cortexa57-yoe-linux-musl/opencv/4.13.0/recipe-sysroot/usr/lib/libtbb.so.12.17
| -- KLEIDICV: Downloading kleidicv-0.7.0.tar.gz from https://gitlab.arm.com/kleidi/kleidicv/-/archive/0.7.0/kleidicv-0.7.0.tar.gz
| CMake Error at cmake/OpenCVDownload.cmake:210 (message):
|   Not going to download kleidicv-0.7.0.tar.gz
| Call Stack (most recent call first):
|   hal/kleidicv/kleidicv.cmake:8 (ocv_download)
|   cmake/OpenCVFindLibsPerf.cmake:179 (download_kleidicv)
|   CMakeLists.txt:817 (include)
|
|


On Wed, Jan 7, 2026 at 1:58 AM Yiding Liu (Fujitsu) via lists.openembedded.org<http://lists.openembedded.org> <liuyd.fnst=fujitsu.com@lists.openembedded.org<mailto:fujitsu.com@lists.openembedded.org>> wrote:
1.Change Logs
  https://github.com/opencv/opencv/wiki/OpenCV-Change-Logs#version4130

2.Remove following patches as they have been merged in upstream.
  27691.patch
  0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch

Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com<mailto:liuyd.fnst@fujitsu.com>>
---
 ...d-BlocksCompensator-feed-method-to-e.patch | 55 -------------------
 .../recipes-support/opencv/opencv/27691.patch | 44 ---------------
 .../{opencv_4.12.0.bb<http://opencv_4.12.0.bb> => opencv_4.13.0.bb<http://opencv_4.13.0.bb>}    | 14 ++---
 3 files changed, 6 insertions(+), 107 deletions(-)
 delete mode 100644 meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch
 delete mode 100644 meta-oe/recipes-support/opencv/opencv/27691.patch
 rename meta-oe/recipes-support/opencv/{opencv_4.12.0.bb<http://opencv_4.12.0.bb> => opencv_4.13.0.bb<http://opencv_4.13.0.bb>} (96%)

--
2.43.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#123195): https://lists.openembedded.org/g/openembedded-devel/message/123195
Mute This Topic: https://lists.openembedded.org/mt/117131696/1997914
Group Owner: openembedded-devel+owner@lists.openembedded.org<mailto:openembedded-devel%2Bowner@lists.openembedded.org>
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com<mailto:raj.khem@gmail.com>]
-=-=-=-=-=-=-=-=-=-=-=-

Comments

Khem Raj Jan. 9, 2026, 5:03 a.m. UTC | #1
On Thu, Jan 8, 2026 at 9:02 PM Yiding Liu (Fujitsu) <liuyd.fnst@fujitsu.com>
wrote:

> Hi Khem
>
>    I compare opencv 4.12.0 and 4.13.0, the default option about kleidicv
> is different.
>   1. Compare of CMakeCache.txt file.
>        In 4.12.0
>         WITH_KLEIDICV:BOOL=OFF
>       In 4.13.0
>         WITH_KLEIDICV:BOOL=ON
>
>    So in 4.13.0, KLEIDICV will be configured and kleidicv is not in
> Depends which result in configure fails.
>
>   2. Compare of CMakeLists.txt file.
>       In 4.12.0
>           OCV_OPTION(WITH_KLEIDICV "Use KleidiCV library for ARM
> platforms" (ANDROID AND AARCH64 AND NOT CV_DISABLE_OPTIMIZATION)
>       In 4.13.0
>           OCV_OPTION(WITH_KLEIDICV "Use KleidiCV library for ARM
> platforms" (NOT CV_DISABLE_OPTIMIZATION)
>           VISIBLE_IF (AARCH64 AND (ANDROID OR UNIX)))
>
>       In 4.12.0, the condition “ANDROID” is not meeted, so WITH_KLEIDICV
> is OFF.
>       In 4.13.0, the condition "ANDROID OR UNIX" is meeted, so
> WITH_KLEIDICV is ON.
>
>   3. Which should I do next
>       kleidicv is not in meta-oe now.
>       Should I add a new recipe for kleidicv in meta-oe or just make
> WITH_KLEIDICV = OFF when using AARCH64?
>

Can we build kleidicv along with openCV ?

>
>
     By the way, if add a new recipe for kleidicv, the version of kleidicv
> should match opencv. e.g opencv 4.13.0 needs  kleidicv 0.7.0.
>      How to resolve this problem?
>
>
> ------------------------------
> *发件人:* Khem Raj <raj.khem@gmail.com>
> *发送时间:* 2026年1月9日 04:40
> *收件人:* Liu, Yiding/刘 乙丁 <liuyd.fnst@fujitsu.com>
> *抄送:* openembedded-devel@lists.openembedded.org <
> openembedded-devel@lists.openembedded.org>
> *主题:* Re: [oe][meta-oe][PATCH] opencv: upgrade 4.12.0 -> 4.13.0
>
> it fails to configure/build on qemurarm64/musl targets
>
> | -- Found TBB (cmake): /mnt/stash/tmp/work/cortexa57-yoe-linux-musl/opencv/4.13.0/recipe-sysroot/usr/lib/libtbb.so.12.17
> | -- KLEIDICV: Downloading kleidicv-0.7.0.tar.gz from https://gitlab.arm.com/kleidi/kleidicv/-/archive/0.7.0/kleidicv-0.7.0.tar.gz
> | CMake Error at cmake/OpenCVDownload.cmake:210 (message):
> |   Not going to download kleidicv-0.7.0.tar.gz
> | Call Stack (most recent call first):
> |   hal/kleidicv/kleidicv.cmake:8 (ocv_download)
> |   cmake/OpenCVFindLibsPerf.cmake:179 (download_kleidicv)
> |   CMakeLists.txt:817 (include)
> |
> |
>
>
>
> On Wed, Jan 7, 2026 at 1:58 AM Yiding Liu (Fujitsu) via
> lists.openembedded.org <liuyd.fnst=fujitsu.com@lists.openembedded.org>
> wrote:
>
> 1.Change Logs
>   https://github.com/opencv/opencv/wiki/OpenCV-Change-Logs#version4130
>
> 2.Remove following patches as they have been merged in upstream.
>   27691.patch
>   0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch
>
> Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
> ---
>  ...d-BlocksCompensator-feed-method-to-e.patch | 55 -------------------
>  .../recipes-support/opencv/opencv/27691.patch | 44 ---------------
>  .../{opencv_4.12.0.bb => opencv_4.13.0.bb}    | 14 ++---
>  3 files changed, 6 insertions(+), 107 deletions(-)
>  delete mode 100644
> meta-oe/recipes-support/opencv/opencv/0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch
>  delete mode 100644 meta-oe/recipes-support/opencv/opencv/27691.patch
>  rename meta-oe/recipes-support/opencv/{opencv_4.12.0.bb =>
> opencv_4.13.0.bb} (96%)
>
> 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 @@
> -From b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b Mon Sep 17 00:00:00 2001
> -From: Alexander Smorkalov <alexander.smorkalov@xperience.ai>
> -Date: Mon, 8 Sep 2025 14:52:58 +0300
> -Subject: [PATCH] Renamed templated BlocksCompensator::feed method to
> exclude
> - claches with base class pure virtual method.
> -
> -Upstream-Status: Backport [
> https://github.com/opencv/opencv/commit/b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b
> ]
> -Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ----
> - .../opencv2/stitching/detail/exposure_compensate.hpp        | 2 +-
> - modules/stitching/src/exposure_compensate.cpp               | 6 +++---
> - 2 files changed, 4 insertions(+), 4 deletions(-)
> -
> -diff --git
> a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
> b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
> -index dea76c957b..2954f32ca3 100644
> ----
> a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
> -+++
> b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
> -@@ -187,7 +187,7 @@ public:
> -
> - protected:
> -     template<class Compensator>
> --    void feed(const std::vector<Point> &corners, const std::vector<UMat>
> &images,
> -+    void feedWithStrategy(const std::vector<Point> &corners, const
> std::vector<UMat> &images,
> -               const std::vector<std::pair<UMat,uchar> > &masks);
> -
> - private:
> -diff --git a/modules/stitching/src/exposure_compensate.cpp
> b/modules/stitching/src/exposure_compensate.cpp
> -index 59542d95ba..f7c33fa4ef 100644
> ---- a/modules/stitching/src/exposure_compensate.cpp
> -+++ b/modules/stitching/src/exposure_compensate.cpp
> -@@ -460,7 +460,7 @@ void
> ChannelsCompensator::setMatGains(std::vector<Mat>& umv)
> -
> -
> - template<class Compensator>
> --void BlocksCompensator::feed(const std::vector<Point> &corners, const
> std::vector<UMat> &images,
> -+void BlocksCompensator::feedWithStrategy(const std::vector<Point>
> &corners, const std::vector<UMat> &images,
> -                              const std::vector<std::pair<UMat,uchar> >
> &masks)
> - {
> -     CV_Assert(corners.size() == images.size() && images.size() ==
> masks.size());
> -@@ -605,13 +605,13 @@ void
> BlocksCompensator::setMatGains(std::vector<Mat>& umv)
> - void BlocksGainCompensator::feed(const std::vector<Point> &corners,
> const std::vector<UMat> &images,
> -                                  const std::vector<std::pair<UMat,uchar>
> > &masks)
> - {
> --    BlocksCompensator::feed<GainCompensator>(corners, images, masks);
> -+    BlocksCompensator::feedWithStrategy<GainCompensator>(corners,
> images, masks);
> - }
> -
> - void BlocksChannelsCompensator::feed(const std::vector<Point> &corners,
> const std::vector<UMat> &images,
> -                                      const
> std::vector<std::pair<UMat,uchar> > &masks)
> - {
> --    BlocksCompensator::feed<ChannelsCompensator>(corners, images, masks);
> -+    BlocksCompensator::feedWithStrategy<ChannelsCompensator>(corners,
> images, masks);
> - }
> -
> -
> 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 @@
> -From 90c444abd387ffa70b2e72a34922903a2f0f4f5a Mon Sep 17 00:00:00 2001
> -From: Alexander Smorkalov <alexander.smorkalov@opencv.ai>
> -Date: Wed, 20 Aug 2025 10:53:51 +0300
> -Subject: [PATCH] FFmpeg 8.0 support.
> -
> -Upstream-Status: Backport [
> https://github.com/opencv/opencv/commit/86df53155411b3ade57d0213bf8dd63006bf248f
> ]
> ----
> - modules/videoio/src/cap_ffmpeg_impl.hpp | 14 ++++++++++++++
> - 1 file changed, 14 insertions(+)
> -
> -diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp
> b/modules/videoio/src/cap_ffmpeg_impl.hpp
> -index 489dbe565d3d..5780b4c11361 100644
> ---- a/modules/videoio/src/cap_ffmpeg_impl.hpp
> -+++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
> -@@ -685,7 +685,10 @@ void CvCapture_FFMPEG::close()
> -     if( video_st )
> -     {
> - #ifdef CV_FFMPEG_CODECPAR
> -+// avcodec_close removed in FFmpeg release 8.0
> -+# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
> -         avcodec_close( context );
> -+# endif
> - #endif
> -         video_st = NULL;
> -     }
> -@@ -2005,7 +2008,18 @@ void CvCapture_FFMPEG::get_rotation_angle()
> -     rotation_angle = 0;
> - #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(57, 68, 100)
> -     const uint8_t *data = 0;
> -+    // av_stream_get_side_data removed in FFmpeg release 8.0
> -+# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
> -     data = av_stream_get_side_data(video_st, AV_PKT_DATA_DISPLAYMATRIX,
> NULL);
> -+# else
> -+    AVPacketSideData* sd = video_st->codecpar->coded_side_data;
> -+    int nb_sd = video_st->codecpar->nb_coded_side_data;
> -+    if (sd && nb_sd > 0)
> -+    {
> -+        const AVPacketSideData* mtx = av_packet_side_data_get(sd,
> nb_sd, AV_PKT_DATA_DISPLAYMATRIX);
> -+        data = mtx->data;
> -+    }
> -+# endif
> -     if (data)
> -     {
> -         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
> similarity index 96%
> rename from meta-oe/recipes-support/opencv/opencv_4.12.0.bb
> rename to meta-oe/recipes-support/opencv/opencv_4.13.0.bb
> index b8e83cd6be..315ee571c5 100644
> --- a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb
> +++ b/meta-oe/recipes-support/opencv/opencv_4.13.0.bb
> @@ -10,31 +10,29 @@ ARM_INSTRUCTION_SET:armv5 = "arm"
>
>  DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
>
> -SRCREV_opencv = "49486f61fb25722cbcf586b7f4320921d46fb38e"
> -SRCREV_contrib = "d943e1d61c8bc556a13783e1546ee7c1a9e0b1cf"
> +SRCREV_opencv = "fe38fc608f6acb8b68953438a62305d8318f4fcd"
> +SRCREV_contrib = "d99ad2a188210cc35067c2e60076eed7c2442bc3"
>  SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
>  SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
>  SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
>  SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
> -SRCREV_fastcv = "2265e79b3b9a8512a9c615b8c4d0244e88f45a9d"
> +SRCREV_fastcv = "9e8d42b6d7e769548d70b2e5674e263b056de8b4"
>
>
>  SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv"
> -SRC_URI = "git://
> github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https \
> -           git://
> github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https
> <http://github.com/opencv/opencv_contrib.git;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/contrib;name=contrib;branch=4.x;protocol=https>
>  \
> +SRC_URI = "git://
> github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=${PV}
> <http://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=$%7BPV%7D>
>  \
> +           git://
> github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https;tag=${PV}
> <http://github.com/opencv/opencv_contrib.git;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/contrib;name=contrib;branch=4.x;protocol=https;tag=$%7BPV%7D>
>  \
>             git://
> github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/boostdesc;name=boostdesc;protocol=https
> <http://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/boostdesc;name=boostdesc;protocol=https>
>  \
>             git://
> github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vgg;name=vgg;protocol=https
> <http://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/vgg;name=vgg;protocol=https>
>  \
>             git://
> github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/face;name=face;protocol=https
> <http://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/face;name=face;protocol=https>
>  \
>             git://
> github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/wechat_qrcode;name=wechat-qrcode;protocol=https
> <http://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/wechat_qrcode;name=wechat-qrcode;protocol=https>
>  \
> -           git://
> github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250606;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/fastcv;name=fastcv;protocol=https
> <http://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250606;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/fastcv;name=fastcv;protocol=https>
> \
> +           git://
> github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250715;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/fastcv;name=fastcv;protocol=https
> <http://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250715;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/fastcv;name=fastcv;protocol=https>
> \
>             file://0003-To-fix-errors-as-following.patch \
>
> file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
>             file://0001-Dont-use-isystem.patch \
>             file://download.patch \
>             file://0001-Make-ts-module-external.patch \
>             file://0008-Do-not-embed-build-directory-in-binaries.patch \
> -           file://27691.patch \
> -
> file://0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch \
>             "
>  SRC_URI:append:riscv64 = "
> file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
>
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#123195):
> https://lists.openembedded.org/g/openembedded-devel/message/123195
> Mute This Topic: https://lists.openembedded.org/mt/117131696/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

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 @@ 
-From b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b Mon Sep 17 00:00:00 2001
-From: Alexander Smorkalov <alexander.smorkalov@xperience.ai<mailto:alexander.smorkalov@xperience.ai>>
-Date: Mon, 8 Sep 2025 14:52:58 +0300
-Subject: [PATCH] Renamed templated BlocksCompensator::feed method to exclude
- claches with base class pure virtual method.
-
-Upstream-Status: Backport [https://github.com/opencv/opencv/commit/b28d9bef1d96d10e9a47d55a63d9f1443e6e3d2b]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com<mailto:peter.kjellerstedt@axis.com>>
----
- .../opencv2/stitching/detail/exposure_compensate.hpp        | 2 +-
- modules/stitching/src/exposure_compensate.cpp               | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
-index dea76c957b..2954f32ca3 100644
---- a/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
-+++ b/modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
-@@ -187,7 +187,7 @@ public:
-
- protected:
-     template<class Compensator>
--    void feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
-+    void feedWithStrategy(const std::vector<Point> &corners, const std::vector<UMat> &images,
-               const std::vector<std::pair<UMat,uchar> > &masks);
-
- private:
-diff --git a/modules/stitching/src/exposure_compensate.cpp b/modules/stitching/src/exposure_compensate.cpp
-index 59542d95ba..f7c33fa4ef 100644
---- a/modules/stitching/src/exposure_compensate.cpp
-+++ b/modules/stitching/src/exposure_compensate.cpp
-@@ -460,7 +460,7 @@ void ChannelsCompensator::setMatGains(std::vector<Mat>& umv)
-
-
- template<class Compensator>
--void BlocksCompensator::feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
-+void BlocksCompensator::feedWithStrategy(const std::vector<Point> &corners, const std::vector<UMat> &images,
-                              const std::vector<std::pair<UMat,uchar> > &masks)
- {
-     CV_Assert(corners.size() == images.size() && images.size() == masks.size());
-@@ -605,13 +605,13 @@ void BlocksCompensator::setMatGains(std::vector<Mat>& umv)
- void BlocksGainCompensator::feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
-                                  const std::vector<std::pair<UMat,uchar> > &masks)
- {
--    BlocksCompensator::feed<GainCompensator>(corners, images, masks);
-+    BlocksCompensator::feedWithStrategy<GainCompensator>(corners, images, masks);
- }
-
- void BlocksChannelsCompensator::feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
-                                      const std::vector<std::pair<UMat,uchar> > &masks)
- {
--    BlocksCompensator::feed<ChannelsCompensator>(corners, images, masks);
-+    BlocksCompensator::feedWithStrategy<ChannelsCompensator>(corners, images, masks);
- }
-
-
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 @@ 
-From 90c444abd387ffa70b2e72a34922903a2f0f4f5a Mon Sep 17 00:00:00 2001
-From: Alexander Smorkalov <alexander.smorkalov@opencv.ai<mailto:alexander.smorkalov@opencv.ai>>
-Date: Wed, 20 Aug 2025 10:53:51 +0300
-Subject: [PATCH] FFmpeg 8.0 support.
-
-Upstream-Status: Backport [https://github.com/opencv/opencv/commit/86df53155411b3ade57d0213bf8dd63006bf248f]
----
- modules/videoio/src/cap_ffmpeg_impl.hpp | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
-index 489dbe565d3d..5780b4c11361 100644
---- a/modules/videoio/src/cap_ffmpeg_impl.hpp
-+++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
-@@ -685,7 +685,10 @@ void CvCapture_FFMPEG::close()
-     if( video_st )
-     {
- #ifdef CV_FFMPEG_CODECPAR
-+// avcodec_close removed in FFmpeg release 8.0
-+# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
-         avcodec_close( context );
-+# endif
- #endif
-         video_st = NULL;
-     }
-@@ -2005,7 +2008,18 @@ void CvCapture_FFMPEG::get_rotation_angle()
-     rotation_angle = 0;
- #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(57, 68, 100)
-     const uint8_t *data = 0;
-+    // av_stream_get_side_data removed in FFmpeg release 8.0
-+# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
-     data = av_stream_get_side_data(video_st, AV_PKT_DATA_DISPLAYMATRIX, NULL);
-+# else
-+    AVPacketSideData* sd = video_st->codecpar->coded_side_data;
-+    int nb_sd = video_st->codecpar->nb_coded_side_data;
-+    if (sd && nb_sd > 0)
-+    {
-+        const AVPacketSideData* mtx = av_packet_side_data_get(sd,  nb_sd, AV_PKT_DATA_DISPLAYMATRIX);
-+        data = mtx->data;
-+    }
-+# endif
-     if (data)
-     {
-         rotation_angle = -cvRound(av_display_rotation_get((const int32_t*)data));
diff --git a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb<http://opencv_4.12.0.bb> b/meta-oe/recipes-support/opencv/opencv_4.13.0.bb<http://opencv_4.13.0.bb>
similarity index 96%
rename from meta-oe/recipes-support/opencv/opencv_4.12.0.bb<http://opencv_4.12.0.bb>
rename to meta-oe/recipes-support/opencv/opencv_4.13.0.bb<http://opencv_4.13.0.bb>
index b8e83cd6be..315ee571c5 100644
--- a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb<http://opencv_4.12.0.bb>
+++ b/meta-oe/recipes-support/opencv/opencv_4.13.0.bb<http://opencv_4.13.0.bb>
@@ -10,31 +10,29 @@  ARM_INSTRUCTION_SET:armv5 = "arm"

 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"

-SRCREV_opencv = "49486f61fb25722cbcf586b7f4320921d46fb38e"
-SRCREV_contrib = "d943e1d61c8bc556a13783e1546ee7c1a9e0b1cf"
+SRCREV_opencv = "fe38fc608f6acb8b68953438a62305d8318f4fcd"
+SRCREV_contrib = "d99ad2a188210cc35067c2e60076eed7c2442bc3"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
 SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
 SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
-SRCREV_fastcv = "2265e79b3b9a8512a9c615b8c4d0244e88f45a9d"
+SRCREV_fastcv = "9e8d42b6d7e769548d70b2e5674e263b056de8b4"


 SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_fastcv"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https<http://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https> \
-           git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https<http://github.com/opencv/opencv_contrib.git;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/contrib;name=contrib;branch=4.x;protocol=https> \
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=${PV}<http://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=$%7BPV%7D> \
+           git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https;tag=${PV}<http://github.com/opencv/opencv_contrib.git;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/contrib;name=contrib;branch=4.x;protocol=https;tag=$%7BPV%7D> \
            git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/boostdesc;name=boostdesc;protocol=https<http://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/boostdesc;name=boostdesc;protocol=https> \
            git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vgg;name=vgg;protocol=https<http://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/vgg;name=vgg;protocol=https> \
            git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/face;name=face;protocol=https<http://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/face;name=face;protocol=https> \
            git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/wechat_qrcode;name=wechat-qrcode;protocol=https<http://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/wechat_qrcode;name=wechat-qrcode;protocol=https> \
-           git://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250606;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/fastcv;name=fastcv;protocol=https<http://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250606;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/fastcv;name=fastcv;protocol=https>  \
+           git://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250715;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/fastcv;name=fastcv;protocol=https<http://github.com/opencv/opencv_3rdparty.git;branch=fastcv/4.x_20250715;destsuffix=$%7BBB_GIT_DEFAULT_DESTSUFFIX%7D/fastcv;name=fastcv;protocol=https>  \
            file://0003-To-fix-errors-as-following.patch \
            file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
            file://0001-Dont-use-isystem.patch \
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
            file://0008-Do-not-embed-build-directory-in-binaries.patch \
-           file://27691.patch \
-          file://0001-Renamed-templated-BlocksCompensator-feed-method-to-e.patch \
            "
 SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"