summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-support/opencv/opencv/27691.patch44
-rw-r--r--meta-oe/recipes-support/opencv/opencv_4.12.0.bb3
2 files changed, 46 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/opencv/opencv/27691.patch b/meta-oe/recipes-support/opencv/opencv/27691.patch
new file mode 100644
index 0000000000..c8c23c93aa
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv/27691.patch
@@ -0,0 +1,44 @@
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.12.0.bb
index 86af1ebc43..5462c4f8da 100644
--- a/meta-oe/recipes-support/opencv/opencv_4.12.0.bb
+++ b/meta-oe/recipes-support/opencv/opencv_4.12.0.bb
@@ -33,6 +33,7 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=ht
33 file://download.patch \ 33 file://download.patch \
34 file://0001-Make-ts-module-external.patch \ 34 file://0001-Make-ts-module-external.patch \
35 file://0008-Do-not-embed-build-directory-in-binaries.patch \ 35 file://0008-Do-not-embed-build-directory-in-binaries.patch \
36 file://27691.patch \
36 " 37 "
37SRC_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"
38 39
@@ -106,7 +107,7 @@ PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
106PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," 107PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
107PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," 108PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
108PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," 109PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
109PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," 110PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,"
110PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," 111PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
111PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," 112PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
112PACKAGECONFIG[openvino] = "-DWITH_OPENVINO=ON,-DWITH_OPENVINO=OFF,openvino-inference-engine,openvino-inference-engine" 113PACKAGECONFIG[openvino] = "-DWITH_OPENVINO=ON,-DWITH_OPENVINO=OFF,openvino-inference-engine,openvino-inference-engine"