summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/itt/itt_3.26.1.bb (renamed from recipes-multimedia/itt/itt_3.23.0.bb)9
-rw-r--r--recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch44
-rw-r--r--recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch85
-rw-r--r--recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch109
-rw-r--r--recipes-multimedia/libva/intel-media-driver_25.1.4.bb (renamed from recipes-multimedia/libva/intel-media-driver_22.3.1.bb)6
-rw-r--r--recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch49
-rw-r--r--recipes-multimedia/mediasdk/intel-mediasdk_22.3.0.bb60
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch37
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch41
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch48
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch88
-rw-r--r--recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch90
-rw-r--r--recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch94
-rw-r--r--recipes-multimedia/onevpl/onevpl_2022.0.3.bb45
-rw-r--r--recipes-multimedia/vpl/files/0001-Add-cstdint-header-to-resolve-build-issue-with-gcc-1.patch34
-rw-r--r--recipes-multimedia/vpl/files/0001-Update-vpl-inspect-to-remove-ReportedStats.patch73
-rw-r--r--recipes-multimedia/vpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch25
-rw-r--r--recipes-multimedia/vpl/libvpl-tools_1.3.0.bb43
-rw-r--r--recipes-multimedia/vpl/libvpl_2.14.0.bb43
-rw-r--r--recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb (renamed from recipes-multimedia/onevpl/onevpl-intel-gpu_22.3.2.bb)17
20 files changed, 361 insertions, 679 deletions
diff --git a/recipes-multimedia/itt/itt_3.23.0.bb b/recipes-multimedia/itt/itt_3.26.1.bb
index 83ff3142..27b967f5 100644
--- a/recipes-multimedia/itt/itt_3.23.0.bb
+++ b/recipes-multimedia/itt/itt_3.26.1.bb
@@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c7
9 " 9 "
10 10
11SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" 11SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master"
12SRCREV = "96a01335dbc560b9224f52f0cc25c28ca0f1b564" 12SRCREV = "e535d565c88e4407f044719e2e9ec70c0b023d23"
13S = "${WORKDIR}/git"
14PE = "1" 13PE = "1"
15 14
16UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" 15UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
@@ -28,12 +27,6 @@ do_install() {
28 cp -r ${S}/include/* ${D}${includedir}/ittnotify 27 cp -r ${S}/include/* ${D}${includedir}/ittnotify
29 cp -r ${S}/src/ittnotify/*.h ${D}${includedir}/ittnotify 28 cp -r ${S}/src/ittnotify/*.h ${D}${includedir}/ittnotify
30 rm -r ${D}${includedir}/ittnotify/fortran/win32 29 rm -r ${D}${includedir}/ittnotify/fortran/win32
31 if [ "${TARGET_ARCH}" = "x86_64" ]; then
32 rm -r ${D}${includedir}/ittnotify/fortran/posix/x86
33 else
34 rm -r ${D}${includedir}/ittnotify/fortran/posix/x86_64
35 fi
36
37} 30}
38 31
39RDEPENDS:${PN}-dev:remove = "${PN} (= ${EXTENDPKGV})" 32RDEPENDS:${PN}-dev:remove = "${PN} (= ${EXTENDPKGV})"
diff --git a/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch b/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch
new file mode 100644
index 00000000..ffb5b747
--- /dev/null
+++ b/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch
@@ -0,0 +1,44 @@
1From 6132115dd2f1db55a6a5371618247dfaa334a035 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Wed, 11 Oct 2023 15:36:21 +0800
4Subject: [PATCH 3/7] Force ARGB surface to tile4 for ACM
5
6Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
7
8Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com>
9Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
10---
11 media_driver/linux/common/ddi/media_libva_util.cpp | 10 ++++++++++
12 1 file changed, 10 insertions(+)
13
14diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp
15index a4e12edfa..11634f66e 100755
16--- a/media_driver/linux/common/ddi/media_libva_util.cpp
17+++ b/media_driver/linux/common/ddi/media_libva_util.cpp
18@@ -521,6 +521,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
19 gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0;
20 }
21 }
22+
23 break;
24 case TILING_X:
25 gmmCustomParams.Flags.Info.TiledX = true;
26@@ -702,6 +703,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
27 }
28 }
29 }
30+ // There's no VAAPI interface for modifier query yet. As a workaround, always allocate
31+ // RGB surface as tile4.
32+ if ((format == Media_Format_A8R8G8B8 ||
33+ format == Media_Format_B10G10R10A2 |
34+ format == Media_Format_A8B8G8R8 ||
35+ format == Media_Format_X8R8G8B8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY))
36+ {
37+ gmmParams.Flags.Info.Tile4 = true;
38+ }
39 break;
40 case TILING_X:
41 gmmParams.Flags.Info.TiledX = true;
42--
432.43.0
44
diff --git a/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch b/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch
new file mode 100644
index 00000000..49e3ff13
--- /dev/null
+++ b/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch
@@ -0,0 +1,85 @@
1From a32b95e58fd3e34847e799b909e08dbe5c9dc692 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Fri, 2 Aug 2024 13:25:13 +0800
4Subject: [PATCH 4/7] Fix failed 4k videowalll test case and color corruption
5 of video composition in Gen12 platform
6
7Fix failed 4k video wall test case from 16CH video only show
81CH output and corruption observed on certain number of video
9composition when doing sample_multi_transcode in legacy path.
10
11platform: TGL/ADL/RPL
12
13Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1839]
14
15Signed-off-by: xupianch <xu.pian.chan@intel.com>
16Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
17---
18 .../common/vp/hal/vphal_render_composite.cpp | 9 ++++++++-
19 .../linux/common/vp/ddi/media_libva_vp.c | 18 +++++-------------
20 2 files changed, 13 insertions(+), 14 deletions(-)
21
22diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
23index 169030209..cc7c241c1 100644
24--- a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
25+++ b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
26@@ -6784,6 +6784,13 @@ bool CompositeState::BuildFilter(
27
28 for (i = 0; (i < (int)pCompParams->uSourceCount) && (iMaxFilterSize > 0); i++)
29 {
30+ if (i > 0)
31+ {
32+ if (!RECT1_CONTAINS_RECT2(pCompParams->pSource[0]->rcDst, pCompParams->pSource[i]->rcDst))
33+ {
34+ pFilter->forceToTargetColorSpace = true;
35+ }
36+ }
37 pSrc = pCompParams->pSource[i];
38
39 //--------------------------------
40@@ -8154,4 +8161,4 @@ bool CompositeState::IsSamplerIDForY(
41 return true;
42 }
43 return false;
44- }
45\ No newline at end of file
46+ }
47diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
48index 48a452315..4f0fc2c48 100644
49--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
50+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
51@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams(
52
53 // Background Colorfill
54 // According to libva definition, if alpha in output background color is zero, then colorfill is not needed
55- if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB)
56+ if ((pPipelineParam->output_background_color >> 24) != 0)
57 {
58 if (pVpHalRenderParams->pColorFillParams == nullptr)
59 {
60@@ -1157,18 +1157,10 @@ DdiVp_SetProcPipelineParams(
61
62 DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
63
64- if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0)
65- {
66- // set color space for sRGB output
67- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
68- }
69- else
70- {
71- // set background colorfill option
72- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
73- pVpHalRenderParams->pColorFillParams->bYCbCr = false;
74- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
75- }
76+ // set background colorfill option
77+ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
78+ pVpHalRenderParams->pColorFillParams->bYCbCr = false;
79+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
80 }else
81 {
82 MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
83--
842.43.0
85
diff --git a/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch b/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch
deleted file mode 100644
index 046778b2..00000000
--- a/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch
+++ /dev/null
@@ -1,109 +0,0 @@
1From c8457540aed1ab9424661087276fb788c0e3aabb Mon Sep 17 00:00:00 2001
2From: "Wang, Pingli" <pingli.wang@intel.com>
3Date: Wed, 23 Mar 2022 20:14:04 +0800
4Subject: [PATCH] Fixes #1354
5
6Fixes #1354. It is to fix the compiling issue for gcc12.0.1.
7[-Werror=address] [-Werror=dangling-pointer=][-Werror=alloc-size-larger-than=]
8
9Signed-off-by: Wang, Pingli <pingli.wang@intel.com>
10
11Upstream-Status: Backport
12Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
13---
14 .../agnostic/common/os/mos_utilities.h | 4 +--
15 .../codec/hal/codechal_encoder_base.cpp | 2 +-
16 .../common/codec/ddi/media_ddi_decode_vp8.cpp | 25 ++++++++-----------
17 .../agnostic/common/os/mos_utilities_next.h | 4 +--
18 4 files changed, 16 insertions(+), 19 deletions(-)
19
20diff --git a/media_common/agnostic/common/os/mos_utilities.h b/media_common/agnostic/common/os/mos_utilities.h
21index 7c395816f..d41a3a065 100644
22--- a/media_common/agnostic/common/os/mos_utilities.h
23+++ b/media_common/agnostic/common/os/mos_utilities.h
24@@ -181,10 +181,10 @@ _Ty* MOS_NewUtil(_Types&&... _Args)
25 template<class _Ty, class... _Types>
26 _Ty *MOS_NewArrayUtil(const char *functionName,
27 const char *filename,
28- int32_t line, int32_t numElements)
29+ int32_t line, size_t numElements)
30 #else
31 template<class _Ty, class... _Types>
32-_Ty* MOS_NewArrayUtil(int32_t numElements)
33+_Ty* MOS_NewArrayUtil(size_t numElements)
34 #endif
35 {
36 #if MOS_MESSAGES_ENABLED
37diff --git a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
38index 4bf869c60..e9b3575fd 100644
39--- a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
40+++ b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
41@@ -3891,6 +3891,7 @@ MOS_STATUS CodechalEncoderState::ReadCounterValue(uint16_t index, EncodeStatusRe
42 CODECHAL_ENCODE_FUNCTION_ENTER;
43 CODECHAL_ENCODE_CHK_NULL_RETURN(encodeStatusReport);
44 uint64_t *address2Counter = nullptr;
45+ uint32_t ctr[4] = { 0 };
46
47 if (m_hwInterface->GetCpInterface()->IsHwCounterIncrement(m_osInterface))
48 {
49@@ -3923,7 +3924,6 @@ MOS_STATUS CodechalEncoderState::ReadCounterValue(uint16_t index, EncodeStatusRe
50 else
51 {
52 //Report driver generated counter which was submitted to HW by command
53- uint32_t ctr[4] = { 0 };
54 eStatus = m_hwInterface->GetCpInterface()->GetCounterValue(ctr);
55 if (MOS_STATUS_SUCCESS == eStatus)
56 {
57diff --git a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
58index 72891d584..fac4c415d 100644
59--- a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
60+++ b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
61@@ -235,20 +235,17 @@ VAStatus DdiDecodeVP8::ParsePicParams(
62 codecPicParams->ucUvModeProbs[0] = picParam->uv_mode_probs[0];
63 codecPicParams->ucUvModeProbs[1] = picParam->uv_mode_probs[1];
64 codecPicParams->ucUvModeProbs[2] = picParam->uv_mode_probs[2];
65- if (codecPicParams->ucMvUpdateProb[0] && picParam->mv_probs[0])
66- {
67- MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[0],
68- sizeof(codecPicParams->ucMvUpdateProb[0]),
69- picParam->mv_probs[0],
70- sizeof(codecPicParams->ucMvUpdateProb[0]));
71- }
72- if (codecPicParams->ucMvUpdateProb[1] && picParam->mv_probs[1])
73- {
74- MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[1],
75- sizeof(codecPicParams->ucMvUpdateProb[1]),
76- picParam->mv_probs[1],
77- sizeof(codecPicParams->ucMvUpdateProb[1]));
78- }
79+
80+ MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[0],
81+ sizeof(codecPicParams->ucMvUpdateProb[0]),
82+ picParam->mv_probs[0],
83+ sizeof(codecPicParams->ucMvUpdateProb[0]));
84+
85+ MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[1],
86+ sizeof(codecPicParams->ucMvUpdateProb[1]),
87+ picParam->mv_probs[1],
88+ sizeof(codecPicParams->ucMvUpdateProb[1]));
89+
90 codecPicParams->ucP0EntropyCount = (8 - picParam->bool_coder_ctx.count) & 0x7; //hardware needs used bits not remaining bits in bool decoder
91 codecPicParams->ucP0EntropyValue = picParam->bool_coder_ctx.value;
92 codecPicParams->uiP0EntropyRange = picParam->bool_coder_ctx.range;
93diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.h b/media_softlet/agnostic/common/os/mos_utilities_next.h
94index 509f2de3d..b6069bbc8 100644
95--- a/media_softlet/agnostic/common/os/mos_utilities_next.h
96+++ b/media_softlet/agnostic/common/os/mos_utilities_next.h
97@@ -90,10 +90,10 @@ class MosUtilities
98 template<class _Ty, class... _Types>
99 static _Ty *MosNewArrayUtil(const char *functionName,
100 const char *filename,
101- int32_t line, int32_t numElements)
102+ int32_t line, size_t numElements)
103 #else
104 template<class _Ty, class... _Types>
105- static _Ty* MosNewArrayUtil(int32_t numElements)
106+ static _Ty* MosNewArrayUtil(size_t numElements)
107 #endif
108 {
109 #if (_DEBUG || _RELEASE_INTERNAL)
diff --git a/recipes-multimedia/libva/intel-media-driver_22.3.1.bb b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
index 4e64c1b6..d2ab0f43 100644
--- a/recipes-multimedia/libva/intel-media-driver_22.3.1.bb
+++ b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
@@ -19,11 +19,11 @@ REQUIRED_DISTRO_FEATURES = "opengl"
19DEPENDS += "libva gmmlib" 19DEPENDS += "libva gmmlib"
20 20
21SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ 21SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \
22 file://c8457540aed1ab9424661087276fb788c0e3aabb.patch \ 22 file://0003-Force-ARGB-surface-to-tile4-for-ACM.patch \
23 file://0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
23 " 24 "
24 25
25SRCREV = "6547f46584633a7619440b39b34908e13c8c857d" 26SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8"
26S = "${WORKDIR}/git"
27 27
28COMPATIBLE_HOST:x86-x32 = "null" 28COMPATIBLE_HOST:x86-x32 = "null"
29 29
diff --git a/recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch b/recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch
deleted file mode 100644
index 87c4e82e..00000000
--- a/recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From be7cec47777bd35c44a59f2af73f12ce9c26d65c Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Wed, 7 Oct 2020 09:33:06 +0800
4Subject: [PATCH] FindITT.cmake: fix detection of header/library
5
6Use find_library to check for the library so distributions installing to
7standard locations can also work in addition to custom paths specified
8using CMAKE_ITT_HOME.
9
10Also add ittnotify to PATH_SUFFIXES for header for cases when
11ittnotify.h is installed in /usr/include/ittnotify for example.
12
13Upstream-Status: Submitted
14
15Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
16---
17 builder/FindITT.cmake | 6 +++---
18 1 file changed, 3 insertions(+), 3 deletions(-)
19
20diff --git a/builder/FindITT.cmake b/builder/FindITT.cmake
21index ba2542c5..d96acf2e 100644
22--- a/builder/FindITT.cmake
23+++ b/builder/FindITT.cmake
24@@ -35,19 +35,19 @@ if( ENABLE_ITT )
25
26 find_path( ITT_INCLUDE_DIRS ittnotify.h
27 PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
28- PATH_SUFFIXES include )
29+ PATH_SUFFIXES include ittnotify)
30
31 # Unfortunately SEAPI and VTune uses different names for itt library:
32 # * SEAPI uses libittnotify${arch}.a
33 # * VTune uses libittnotify.a
34 # We are trying to check both giving preference to SEAPI name.
35- find_path( ITT_LIBRARY_DIRS libittnotify${arch}.a
36+ find_library( ITT_LIBRARY_DIRS ittnotify${arch}
37 PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
38 PATH_SUFFIXES lib64 )
39 if( NOT ITT_LIBRARY_DIRS MATCHES NOTFOUND )
40 set( ITT_LIBRARIES "ittnotify${arch}" )
41 else()
42- find_path( ITT_LIBRARY_DIRS libittnotify.a
43+ find_library( ITT_LIBRARY_DIRS ittnotify
44 PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
45 PATH_SUFFIXES lib64 )
46 if( NOT ITT_LIBRARY_PATH MATCHES NOTFOUND )
47--
482.26.2
49
diff --git a/recipes-multimedia/mediasdk/intel-mediasdk_22.3.0.bb b/recipes-multimedia/mediasdk/intel-mediasdk_22.3.0.bb
deleted file mode 100644
index 099d489a..00000000
--- a/recipes-multimedia/mediasdk/intel-mediasdk_22.3.0.bb
+++ /dev/null
@@ -1,60 +0,0 @@
1SUMMARY = "Intel(R) Media SDK for hardware accelerated media processing"
2DESCRIPTION = "Intel(R) Media SDK provides an API to access hardware-accelerated \
3video decode, encode and filtering on Intel® platforms with integrated graphics."
4
5HOMEPAGE = "https://github.com/Intel-Media-SDK/MediaSDK"
6BUGTRACKER = "https://github.com/Intel-Media-SDK/MediaSDK/issues"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=3cb331af679cd8f968bf799a9c55b46e"
10
11CVE_DETAILS = "intel:media_sdk"
12
13# Only for 64 bit until media-driver issues aren't fixed
14COMPATIBLE_HOST = '(x86_64).*-linux'
15COMPATIBLE_HOST:x86-x32 = "null"
16
17inherit features_check
18REQUIRED_DISTRO_FEATURES = "opengl"
19
20DEPENDS += "libdrm libva intel-media-driver"
21
22PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \
23 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \
24 samples \
25 itt \
26 "
27
28PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF"
29PACKAGECONFIG[itt] = "-DENABLE_ITT=ON, -DENABLE_ITT=OFF, itt"
30PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, ocl-icd opencl-clhpp opencl-headers"
31PACKAGECONFIG[samples] = "-DBUILD_SAMPLES=ON, -DBUILD_SAMPLES=OFF"
32PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native"
33
34SRC_URI = "git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;nobranch=1;lfs=0 \
35 file://0001-FindITT.cmake-fix-detection-of-header-library.patch \
36 "
37
38SRCREV = "f577d724de6cf8d040a113d337d4433b0f7478e2"
39S = "${WORKDIR}/git"
40
41UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$"
42
43inherit cmake pkgconfig
44
45EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include"
46
47do_install:append() {
48 mv ${D}${datadir}/mfx/samples ${D}${libdir}/mfx/samples
49}
50
51PACKAGE_BEFORE_PN = " ${PN}-samples"
52
53FILES:${PN} += " \
54 ${libdir}/mfx \
55 ${datadir}/mfx/plugins.cfg \
56 "
57
58FILES:${PN}-samples = "${libdir}/mfx/samples"
59
60INSANE_SKIP:${PN}-samples += "staticdev"
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch b/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch
deleted file mode 100644
index 14453279..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 72ceb46b43a7a74d20ced961aaff9366ccce53a9 Mon Sep 17 00:00:00 2001
2From: "Yew, Chang Ching" <chang.ching.yew@intel.com>
3Date: Mon, 24 Jan 2022 20:49:50 +0800
4Subject: [PATCH 1/5] Fix basename() build issue with musl_libc
5
6Upstream-Status: Submitted
7innersource PR #264
8
9Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
10---
11 tools/legacy/sample_common/src/vaapi_utils.cpp | 3 ++-
12 1 file changed, 2 insertions(+), 1 deletion(-)
13
14diff --git a/tools/legacy/sample_common/src/vaapi_utils.cpp b/tools/legacy/sample_common/src/vaapi_utils.cpp
15index 86193d17..db71d413 100644
16--- a/tools/legacy/sample_common/src/vaapi_utils.cpp
17+++ b/tools/legacy/sample_common/src/vaapi_utils.cpp
18@@ -7,6 +7,7 @@
19 #ifdef LIBVA_SUPPORT
20
21 #include "vaapi_utils.h"
22+ #include <libgen.h>
23 #include <dlfcn.h>
24 #include <stdexcept>
25
26@@ -24,7 +25,7 @@ namespace MfxLoader {
27
28 SimpleLoader::SimpleLoader(const char* name) {
29 dlerror();
30- so_handle = dlopen(name, RTLD_GLOBAL | RTLD_NOW);
31+ so_handle = dlopen(basename((char *)name), RTLD_GLOBAL | RTLD_NOW);
32 if (NULL == so_handle) {
33 std::cerr << dlerror() << std::endl;
34 throw std::runtime_error("Can't load library");
35--
362.34.1
37
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch
deleted file mode 100644
index 70e15a30..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From ff5325a437e625d2007568a71d7f403f16d4c367 Mon Sep 17 00:00:00 2001
2From: "Yew, Chang Ching" <chang.ching.yew@intel.com>
3Date: Thu, 10 Mar 2022 13:06:28 +0800
4Subject: [PATCH] sample_common: Fix missing UYUV fourcc enc input
5
6Fix regression with commit ae3e355
7
8Upstream-Status: Submitted
9innersource PR #383
10
11Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
12---
13 tools/legacy/sample_common/src/sample_utils.cpp | 12 ++++++------
14 1 file changed, 6 insertions(+), 6 deletions(-)
15
16diff --git a/tools/legacy/sample_common/src/sample_utils.cpp b/tools/legacy/sample_common/src/sample_utils.cpp
17index 0437dbdb..a8e25631 100644
18--- a/tools/legacy/sample_common/src/sample_utils.cpp
19+++ b/tools/legacy/sample_common/src/sample_utils.cpp
20@@ -114,12 +114,12 @@ mfxStatus CSmplYUVReader::Init(std::list<msdk_string> inputs,
21
22 if (MFX_FOURCC_NV12 != ColorFormat && MFX_FOURCC_YV12 != ColorFormat &&
23 MFX_FOURCC_I420 != ColorFormat && MFX_FOURCC_YUY2 != ColorFormat &&
24- MFX_FOURCC_RGB4 != ColorFormat && MFX_FOURCC_BGR4 != ColorFormat &&
25- MFX_FOURCC_P010 != ColorFormat && MFX_FOURCC_P210 != ColorFormat &&
26- MFX_FOURCC_AYUV != ColorFormat && MFX_FOURCC_A2RGB10 != ColorFormat &&
27- MFX_FOURCC_Y210 != ColorFormat && MFX_FOURCC_Y410 != ColorFormat &&
28- MFX_FOURCC_P016 != ColorFormat && MFX_FOURCC_Y216 != ColorFormat &&
29- MFX_FOURCC_I010 != ColorFormat) {
30+ MFX_FOURCC_UYVY != ColorFormat && MFX_FOURCC_RGB4 != ColorFormat &&
31+ MFX_FOURCC_BGR4 != ColorFormat && MFX_FOURCC_P010 != ColorFormat &&
32+ MFX_FOURCC_P210 != ColorFormat && MFX_FOURCC_AYUV != ColorFormat &&
33+ MFX_FOURCC_A2RGB10 != ColorFormat && MFX_FOURCC_Y210 != ColorFormat &&
34+ MFX_FOURCC_Y410 != ColorFormat && MFX_FOURCC_P016 != ColorFormat &&
35+ MFX_FOURCC_Y216 != ColorFormat && MFX_FOURCC_I010 != ColorFormat) {
36 return MFX_ERR_UNSUPPORTED;
37 }
38
39--
402.17.1
41
diff --git a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch b/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch
deleted file mode 100644
index eaf49405..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-sample_common-Fix-regression-of-missing-mutex-init.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From f6f9d62817d58909fe9eafa555b1638f165dc746 Mon Sep 17 00:00:00 2001
2From: "Yew, Chang Ching" <chang.ching.yew@intel.com>
3Date: Wed, 2 Mar 2022 07:56:57 +0800
4Subject: [PATCH] sample_common: Fix regression of missing mutex init
5
6Upstream-Status: Submitted
7innersource PR #377
8
9Signed-off-by: Yew, Chang Ching <chang.ching.yew@intel.com>
10---
11 tools/legacy/sample_common/src/vm/thread_linux.cpp | 14 ++++++++++++++
12 1 file changed, 14 insertions(+)
13
14diff --git a/tools/legacy/sample_common/src/vm/thread_linux.cpp b/tools/legacy/sample_common/src/vm/thread_linux.cpp
15index 819d811f..c17ce5bf 100644
16--- a/tools/legacy/sample_common/src/vm/thread_linux.cpp
17+++ b/tools/legacy/sample_common/src/vm/thread_linux.cpp
18@@ -22,6 +22,13 @@ MSDKSemaphore::MSDKSemaphore(mfxStatus& sts, mfxU32 count) : msdkSemaphoreHandle
19 // If pthread_cond_init reports an error m_semaphore was not allocated
20 throw std::bad_alloc();
21 }
22+ res = pthread_mutex_init(&m_mutex, NULL);
23+ if (res) {
24+ if (!pthread_cond_destroy(&m_semaphore)) {
25+ // do nothing
26+ }
27+ throw std::bad_alloc();
28+ }
29 }
30
31 MSDKSemaphore::~MSDKSemaphore(void) {
32@@ -97,6 +104,13 @@ MSDKEvent::MSDKEvent(mfxStatus& sts, bool manual, bool state) : msdkEventHandle(
33 //non-zero means something is wrong, throw bad_alloc
34 throw std::bad_alloc();
35 }
36+ res = pthread_mutex_init(&m_mutex, NULL);
37+ if (res) {
38+ if (!pthread_cond_destroy(&m_event)) {
39+ // do nothing
40+ }
41+ throw std::bad_alloc();
42+ }
43 }
44
45 MSDKEvent::~MSDKEvent(void) {
46--
472.17.1
48
diff --git a/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch b/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch
deleted file mode 100644
index 351c707d..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch
+++ /dev/null
@@ -1,88 +0,0 @@
1From 7f428b8d0ca95b43b70663c27b525c5d6f7bf28d Mon Sep 17 00:00:00 2001
2From: "Ung, Teng En" <teng.en.ung@intel.com>
3Date: Tue, 25 Jan 2022 16:36:19 +0800
4Subject: [PATCH 1/3] samples: Addin wayland-scanner auto generate on cmake.
5
6Upstream-Status: Submitted
7innersource PR #269
8---
9 tools/legacy/sample_common/CMakeLists.txt | 22 +++++++++++++++++++
10 tools/legacy/sample_misc/wayland/CMakeLists.txt | 29 +++++++++++++++++++++++++
11 2 files changed, 51 insertions(+)
12
13diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt
14index 24245cd..030ffee 100644
15--- a/tools/legacy/sample_common/CMakeLists.txt
16+++ b/tools/legacy/sample_common/CMakeLists.txt
17@@ -103,6 +103,28 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux)
18 target_include_directories(
19 sample_common
20 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../sample_misc/wayland/include)
21+
22+ find_program(WAYLAND_SCANNER_BIN "wayland-scanner")
23+ pkg_check_modules(PKG_WAYLAND_PROTCOLS "wayland-protocols>=1.15")
24+
25+ if(WAYLAND_SCANNER_BIN AND PKG_WAYLAND_PROTCOLS_FOUND)
26+ pkg_get_variable(WAYLAND_PROTOCOLS_PATH wayland-protocols pkgdatadir)
27+ if(WAYLAND_PROTOCOLS_PATH)
28+ find_file(
29+ WAYLAND_LINUX_DMABUF_XML_PATH linux-dmabuf-unstable-v1.xml
30+ PATHS ${WAYLAND_PROTOCOLS_PATH}/unstable/linux-dmabuf
31+ NO_DEFAULT_PATH)
32+ endif()
33+ endif()
34+
35+ if(WAYLAND_LINUX_DMABUF_XML_PATH)
36+ target_compile_definitions(
37+ sample_common PUBLIC WAYLAND_LINUX_DMABUF_SUPPORT)
38+ target_include_directories(
39+ sample_common
40+ PUBLIC ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland)
41+ endif()
42+
43 else()
44 message(
45 WARNING
46diff --git a/tools/legacy/sample_misc/wayland/CMakeLists.txt b/tools/legacy/sample_misc/wayland/CMakeLists.txt
47index cf91987..a2dffbb 100644
48--- a/tools/legacy/sample_misc/wayland/CMakeLists.txt
49+++ b/tools/legacy/sample_misc/wayland/CMakeLists.txt
50@@ -20,6 +20,35 @@ target_sources(
51 ${CMAKE_CURRENT_SOURCE_DIR}/src/listener_wayland.cpp
52 ${CMAKE_CURRENT_SOURCE_DIR}/src/wayland-drm-protocol.c)
53
54+if(WAYLAND_SCANNER_BIN AND PKG_WAYLAND_PROTCOLS_FOUND AND WAYLAND_LINUX_DMABUF_XML_PATH)
55+ execute_process(
56+ COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}"
57+ "client-header" "${WAYLAND_LINUX_DMABUF_XML_PATH}"
58+ "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.h"
59+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
60+ RESULT_VARIABLE WAYLAND_SCANNER_RESULT)
61+ if (WAYLAND_SCANNER_RESULT)
62+ message(FATAL_ERROR "Failed to generate linux-dmabuf-unstable-v1.h")
63+ endif()
64+
65+ execute_process(
66+ COMMAND "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}"
67+ "private-code" "${WAYLAND_LINUX_DMABUF_XML_PATH}"
68+ "tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c"
69+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
70+ RESULT_VARIABLE WAYLAND_SCANNER_RESULT)
71+ if (WAYLAND_SCANNER_RESULT)
72+ message(FATAL_ERROR "Failed to generate linux-dmabuf-unstable-v1.c")
73+ endif()
74+
75+ target_include_directories(
76+ vpl_wayland PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland)
77+ target_sources(
78+ vpl_wayland
79+ PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland/linux-dmabuf-unstable-v1.c)
80+endif()
81+
82+
83 target_link_libraries(vpl_wayland PRIVATE sample_common wayland-client va drm
84 drm_intel)
85
86--
872.7.4
88
diff --git a/recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch b/recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch
deleted file mode 100644
index d8a55352..00000000
--- a/recipes-multimedia/onevpl/onevpl/0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch
+++ /dev/null
@@ -1,90 +0,0 @@
1From 047b7865a69e26c9091b22dceceae1b609a3efbc Mon Sep 17 00:00:00 2001
2From: "Ung, Teng En" <teng.en.ung@intel.com>
3Date: Fri, 8 Oct 2021 14:19:40 +0000
4Subject: [PATCH 2/3] sample_misc: Addin basic wayland dmabuf support.
5
6Upstream-Status: Submitted
7innersource PR #269
8
9---
10 tools/legacy/sample_misc/wayland/include/class_wayland.h | 16 ++++++++++++++++
11 tools/legacy/sample_misc/wayland/src/class_wayland.cpp | 8 ++++++++
12 2 files changed, 24 insertions(+)
13
14diff --git a/tools/legacy/sample_misc/wayland/include/class_wayland.h b/tools/legacy/sample_misc/wayland/include/class_wayland.h
15index 29f724f..753b8b1 100644
16--- a/tools/legacy/sample_misc/wayland/include/class_wayland.h
17+++ b/tools/legacy/sample_misc/wayland/include/class_wayland.h
18@@ -19,6 +19,9 @@ extern "C" {
19 #include "sample_defs.h"
20 #include "vpl/mfxstructures.h"
21 #include "wayland-drm-client-protocol.h"
22+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
23+ #include "linux-dmabuf-unstable-v1.h"
24+#endif
25
26 typedef struct buffer wld_buffer;
27
28@@ -80,6 +83,11 @@ public:
29 struct wl_drm* GetDrm() {
30 return m_drm;
31 }
32+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
33+ struct zwp_linux_dmabuf_v1* GetDMABuf() {
34+ return m_dmabuf;
35+ }
36+#endif
37 struct wl_shm* GetShm() {
38 return m_shm;
39 };
40@@ -107,6 +115,11 @@ public:
41 void SetDrm(struct wl_drm* drm) {
42 m_drm = drm;
43 }
44+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
45+ void SetDMABuf(struct zwp_linux_dmabuf_v1* dmabuf) {
46+ m_dmabuf = dmabuf;
47+ }
48+#endif
49 void DrmHandleDevice(const char* device);
50 void DrmHandleAuthenticated();
51 void RegistryGlobal(struct wl_registry* registry,
52@@ -134,6 +147,9 @@ private:
53 struct wl_compositor* m_compositor;
54 struct wl_shell* m_shell;
55 struct wl_drm* m_drm;
56+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
57+ struct zwp_linux_dmabuf_v1* m_dmabuf;
58+#endif
59 struct wl_shm* m_shm;
60 struct wl_shm_pool* m_pool;
61 struct wl_surface* m_surface;
62diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
63index c5e3359..7eac204 100644
64--- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
65+++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
66@@ -37,6 +37,9 @@ Wayland::Wayland()
67 m_compositor(NULL),
68 m_shell(NULL),
69 m_drm(NULL),
70+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
71+ m_dmabuf(NULL),
72+#endif
73 m_shm(NULL),
74 m_pool(NULL),
75 m_surface(NULL),
76@@ -347,6 +350,11 @@ void Wayland::RegistryGlobal(struct wl_registry* registry,
77 m_drm = static_cast<wl_drm*>(wl_registry_bind(registry, name, &wl_drm_interface, 2));
78 wl_drm_add_listener(m_drm, &drm_listener, this);
79 }
80+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
81+ else if(0 == strcmp(interface, "zwp_linux_dmabuf_v1"))
82+ m_dmabuf = static_cast<zwp_linux_dmabuf_v1*>(
83+ wl_registry_bind(registry, name, &zwp_linux_dmabuf_v1_interface, version));
84+#endif
85 }
86
87 void Wayland::DrmHandleDevice(const char* name) {
88--
892.7.4
90
diff --git a/recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch b/recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch
deleted file mode 100644
index 50ed3ca7..00000000
--- a/recipes-multimedia/onevpl/onevpl/0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch
+++ /dev/null
@@ -1,94 +0,0 @@
1From e2b5041b272e0cb8b3c4c9d332b0bbc3dda05e69 Mon Sep 17 00:00:00 2001
2From: "Ung, Teng En" <teng.en.ung@intel.com>
3Date: Fri, 8 Oct 2021 14:38:45 +0000
4Subject: [PATCH 3/3] sample_misc: use wayland dmabuf to render nv12
5
6Upstream-Status: Submitted
7innersource PR #269
8
9---
10 .../sample_misc/wayland/src/class_wayland.cpp | 60 +++++++++++++++++-----
11 1 file changed, 47 insertions(+), 13 deletions(-)
12
13diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
14index 7eac204..68fcea4 100644
15--- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
16+++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
17@@ -13,6 +13,7 @@
18 #include <iostream>
19 extern "C" {
20 #include <drm.h>
21+#include <drm_fourcc.h>
22 #include <intel_bufmgr.h>
23 #include <xf86drm.h>
24 }
25@@ -292,20 +293,53 @@ struct wl_buffer* Wayland::CreatePrimeBuffer(uint32_t name,
26 int32_t offsets[3],
27 int32_t pitches[3]) {
28 struct wl_buffer* buffer = NULL;
29- if (NULL == m_drm)
30- return NULL;
31
32- buffer = wl_drm_create_prime_buffer(m_drm,
33- name,
34- width,
35- height,
36- format,
37- offsets[0],
38- pitches[0],
39- offsets[1],
40- pitches[1],
41- offsets[2],
42- pitches[2]);
43+#if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
44+ if (format == WL_DRM_FORMAT_NV12) {
45+ if(NULL == m_dmabuf)
46+ return NULL;
47+
48+ struct zwp_linux_buffer_params_v1 *dmabuf_params = NULL;
49+ int i = 0;
50+ uint64_t modifier = I915_FORMAT_MOD_Y_TILED;
51+
52+ dmabuf_params = zwp_linux_dmabuf_v1_create_params(m_dmabuf);
53+ for(i = 0; i < 2; i++) {
54+ zwp_linux_buffer_params_v1_add(dmabuf_params,
55+ name,
56+ i,
57+ offsets[i],
58+ pitches[i],
59+ modifier >> 32,
60+ modifier & 0xffffffff);
61+ }
62+
63+ buffer = zwp_linux_buffer_params_v1_create_immed(dmabuf_params,
64+ width,
65+ height,
66+ format,
67+ 0);
68+
69+ zwp_linux_buffer_params_v1_destroy(dmabuf_params);
70+ } else
71+#endif
72+ {
73+ if(NULL == m_drm)
74+ return NULL;
75+
76+ buffer = wl_drm_create_prime_buffer(m_drm,
77+ name,
78+ width,
79+ height,
80+ format,
81+ offsets[0],
82+ pitches[0],
83+ offsets[1],
84+ pitches[1],
85+ offsets[2],
86+ pitches[2]);
87+ }
88+
89 return buffer;
90 }
91
92--
932.7.4
94
diff --git a/recipes-multimedia/onevpl/onevpl_2022.0.3.bb b/recipes-multimedia/onevpl/onevpl_2022.0.3.bb
deleted file mode 100644
index 66be720f..00000000
--- a/recipes-multimedia/onevpl/onevpl_2022.0.3.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1SUMMARY = "oneAPI Video Processing Library"
2DESCRIPTION = "The oneAPI Video Processing Library (oneVPL) provides \
3a single video processing API for encode, decode, and video processing \
4that works across a wide range of accelerators."
5
6HOMEPAGE = "https://github.com/oneapi-src/oneVPL"
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \
9 file://third-party-programs.txt;md5=43ed11c52f754dafaa62e2cfdd2bac13"
10
11SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https;branch=master \
12 file://0001-Fix-basename-build-issue-with-musl_libc.patch \
13 file://0001-samples-Addin-wayland-scanner-auto-generate-on-cmake.patch \
14 file://0002-sample_misc-Addin-basic-wayland-dmabuf-support.patch \
15 file://0003-sample_misc-use-wayland-dmabuf-to-render-nv12.patch \
16 file://0001-sample_common-Fix-regression-of-missing-mutex-init.patch \
17 file://0001-sample_common-Fix-missing-UYUV-fourcc-enc-input.patch \
18 "
19SRCREV = "efc259f8b7ee5c334bca1a904a503186038bbbdd"
20S = "${WORKDIR}/git"
21
22inherit cmake
23DEPENDS += "libva pkgconfig-native"
24
25PACKAGECONFIG ??= "tools"
26PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols"
27
28do_install:append() {
29 mkdir -p ${D}${datadir}/oneVPL/samples
30 mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples
31}
32
33COMPATIBLE_HOST = '(x86_64).*-linux'
34
35PACKAGES += "${PN}-examples"
36
37FILES:${PN}-examples = "${datadir}/oneVPL/examples \
38 "
39
40FILES_SOLIBSDEV = ""
41FILES:${PN}-dev += "${libdir}/libvpl.so"
42
43FILES:${PN} += "${datadir} \
44 ${libdir}/oneVPL/libvpl_wayland.so \
45 "
diff --git a/recipes-multimedia/vpl/files/0001-Add-cstdint-header-to-resolve-build-issue-with-gcc-1.patch b/recipes-multimedia/vpl/files/0001-Add-cstdint-header-to-resolve-build-issue-with-gcc-1.patch
new file mode 100644
index 00000000..3158aef6
--- /dev/null
+++ b/recipes-multimedia/vpl/files/0001-Add-cstdint-header-to-resolve-build-issue-with-gcc-1.patch
@@ -0,0 +1,34 @@
1From a0fe1b898ba446fdd45ff7fdad18d442140df090 Mon Sep 17 00:00:00 2001
2From: Yogesh Tyagi <yogesh.tyagi@intel.com>
3Date: Sun, 11 May 2025 17:21:17 +0530
4Subject: [PATCH] Add cstdint header to resolve build issue with gcc-15
5
6Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
7
8Upstream-Status: Submitted [https://github.com/intel/libvpl-tools/pull/7]
9---
10 tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp | 3 ++-
11 1 file changed, 2 insertions(+), 1 deletion(-)
12
13diff --git a/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp
14index 29d4a99..91baf8b 100644
15--- a/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp
16+++ b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp
17@@ -5,6 +5,7 @@
18 ############################################################################*/
19
20 #include "sample_vpp_frc_adv.h"
21+#include <cstdint>
22 #include <math.h>
23 #include <algorithm>
24 #include "vm/strings_defs.h"
25@@ -179,4 +180,4 @@ mfxU64 FRCAdvancedChecker::GetExpectedPTS(mfxU32 frameNumber, mfxU64 timeOffset,
26
27 } // mfxU64 FRCAdvancedChecker::GetExpectedPTS( mfxU32 frameNumber, mfxU64 timeOffset, mfxU64 timeJump )
28
29-/* EOF */
30\ No newline at end of file
31+/* EOF */
32--
332.43.0
34
diff --git a/recipes-multimedia/vpl/files/0001-Update-vpl-inspect-to-remove-ReportedStats.patch b/recipes-multimedia/vpl/files/0001-Update-vpl-inspect-to-remove-ReportedStats.patch
new file mode 100644
index 00000000..8ccd7e46
--- /dev/null
+++ b/recipes-multimedia/vpl/files/0001-Update-vpl-inspect-to-remove-ReportedStats.patch
@@ -0,0 +1,73 @@
1From 39ec70e27cb6887d6b9e6abc231d1052f02c4d9b Mon Sep 17 00:00:00 2001
2From: "Yuan, Jenny" <jenny.yuan@intel.com>
3Date: Thu, 13 Feb 2025 11:54:46 -0800
4Subject: [PATCH] Update vpl-inspect to remove ReportedStats
5
6Since experimental API mfxEncoderDescription::encoder::ReportedStats is
7going to be removed, update vpl-inspect to remove ReportedStats field
8report.
9
10Upstream-Status: Backport [https://github.com/intel/libvpl-tools/commit/39ec70e27cb6887d6b9e6abc231d1052f02c4d9b]
11---
12 tools/cli/vpl-inspect/src/vpl-inspect.cpp | 38 -----------------------
13 1 file changed, 38 deletions(-)
14
15diff --git a/tools/cli/vpl-inspect/src/vpl-inspect.cpp b/tools/cli/vpl-inspect/src/vpl-inspect.cpp
16index e872316..b6e302f 100644
17--- a/tools/cli/vpl-inspect/src/vpl-inspect.cpp
18+++ b/tools/cli/vpl-inspect/src/vpl-inspect.cpp
19@@ -113,22 +113,6 @@ const char *_print_MediaAdapterType(mfxMediaAdapterType type) {
20 return "<unknown media adapter type>";
21 }
22
23-#ifdef ONEVPL_EXPERIMENTAL
24-const char *_print_EncodeStatsType(mfxU16 type) {
25- switch (type) {
26- STRING_OPTION(MFX_ENCODESTATS_LEVEL_BLK);
27- STRING_OPTION(MFX_ENCODESTATS_LEVEL_SLICE);
28- STRING_OPTION(MFX_ENCODESTATS_LEVEL_TILE);
29- STRING_OPTION(MFX_ENCODESTATS_LEVEL_FRAME);
30-
31- default:
32- break;
33- }
34-
35- return "<unknown encode stats type>";
36-}
37-#endif
38-
39 #ifdef ONEVPL_EXPERIMENTAL
40 const char *_print_SurfaceType(mfxSurfaceType type) {
41 switch (type) {
42@@ -549,28 +533,6 @@ int main(int argc, char *argv[]) {
43 "",
44 enc->Codecs[codec].BiDirectionalPrediction);
45
46-#ifdef ONEVPL_EXPERIMENTAL
47- // Once ReportedStats is moved out of experimental API the struct version of mfxEncoderDescription should
48- // be updated, and that can be used to know whether this field is valid.
49- // For now, just check implementation API version.
50- mfxVersion reqApiVersionReportedStats = {};
51- reqApiVersionReportedStats.Major = 2;
52- reqApiVersionReportedStats.Minor = 7;
53- if (idesc->ApiVersion.Version >= reqApiVersionReportedStats.Version) {
54- mfxU16 reportedStats = enc->Codecs[codec].ReportedStats;
55- if (reportedStats) {
56- for (mfxU16 statMask = 1; statMask != 0; statMask <<= 1) {
57- if (reportedStats & statMask) {
58- const char *statStr = _print_EncodeStatsType(statMask);
59- printf("%4sReportedStats: %s\n", "", statStr);
60- }
61- }
62- }
63- else {
64- printf("%4sReportedStats: 0\n", "");
65- }
66- }
67-#endif
68 for (int profile = 0; profile < enc->Codecs[codec].NumProfiles; profile++) {
69 printf("%6sProfile: %s\n",
70 "",
71--
722.43.0
73
diff --git a/recipes-multimedia/vpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch b/recipes-multimedia/vpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch
new file mode 100644
index 00000000..f9a568a7
--- /dev/null
+++ b/recipes-multimedia/vpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch
@@ -0,0 +1,25 @@
1From ff715f4c543ddabc5c90160d0ae5c5598e8e1289 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Thu, 15 Jun 2023 13:43:32 +0200
4Subject: [PATCH] vpl.pc.in: dont pass pcfiledir to cflags
5
6Signed-off-by: Markus Volk <f_l_k@t-online.de>
7
8Upstream-Status: Inappropriate [oe specific]
9---
10 libvpl/pkgconfig/vpl.pc.in | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/libvpl/pkgconfig/vpl.pc.in b/libvpl/pkgconfig/vpl.pc.in
14index aa9b158..b4e85ff 100644
15--- a/libvpl/pkgconfig/vpl.pc.in
16+++ b/libvpl/pkgconfig/vpl.pc.in
17@@ -7,6 +7,6 @@ Description: Accelerated video decode, encode, and frame processing capabilities
18 Version: @API_VERSION_MAJOR@.@API_VERSION_MINOR@
19 URL: https://github.com/intel/libvpl
20
21-Libs: -L${libdir} -l@OUTPUT_NAME@ @VPL_PKGCONFIG_DEPENDENT_LIBS@
22+Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -l@OUTPUT_NAME@ @VPL_PKGCONFIG_DEPENDENT_LIBS@
23 Libs.private: @VPL_PKGCONFIG_PRIVATE_LIBS@
24-Cflags: -I${includedir} -I${includedir}/vpl
25+Cflags: -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/vpl
diff --git a/recipes-multimedia/vpl/libvpl-tools_1.3.0.bb b/recipes-multimedia/vpl/libvpl-tools_1.3.0.bb
new file mode 100644
index 00000000..9154eb62
--- /dev/null
+++ b/recipes-multimedia/vpl/libvpl-tools_1.3.0.bb
@@ -0,0 +1,43 @@
1SUMMARY = "Intel Video Processing Library Tools"
2DESCRIPTION = "Intel Video Processing Library (VPL) Tools provides \
3access to hardware accelerated video decode, encode and video processing \
4capabilities on Intel® GPUs use cases."
5
6HOMEPAGE = "https://github.com/intel/libvpl-tools"
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \
9 file://third-party-programs.txt;md5=ddf05049184e74942f45b0ca4cc69b8a"
10
11SRC_URI = "git://github.com/intel/libvpl-tools.git;protocol=https;branch=main \
12 file://0001-Update-vpl-inspect-to-remove-ReportedStats.patch \
13 file://0001-Add-cstdint-header-to-resolve-build-issue-with-gcc-1.patch \
14 "
15
16SRCREV = "82eab13ecec99f34e0f1d5dac490611b604406c9"
17
18inherit cmake
19DEPENDS += "libva libvpl pkgconfig-native"
20
21PACKAGECONFIG ??= "tools"
22PACKAGECONFIG[tools] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native wayland-protocols"
23
24do_install:append() {
25 mkdir -p ${D}${datadir}/VPL/samples
26 mv ${D}${bindir}/sample_* ${D}${datadir}/VPL/samples
27 mv ${D}${bindir}/metrics_monitor ${D}${datadir}/VPL/samples
28}
29
30COMPATIBLE_HOST = '(x86_64).*-linux'
31
32FILES_SOLIBSDEV = ""
33
34FILES:${PN} += " ${datadir}/VPL/samples \
35 ${libdir}/libcttmetrics.so \
36 ${libdir}/vpl-tools/libvpl_wayland.* \
37 "
38
39FILES:${PN}-dev += "${libdir}/vpl-tools/libvpl_wayland.so \
40 "
41
42FILES:${PN}-doc += " ${datadir}/vpl-tools \
43 "
diff --git a/recipes-multimedia/vpl/libvpl_2.14.0.bb b/recipes-multimedia/vpl/libvpl_2.14.0.bb
new file mode 100644
index 00000000..3c35a892
--- /dev/null
+++ b/recipes-multimedia/vpl/libvpl_2.14.0.bb
@@ -0,0 +1,43 @@
1SUMMARY = "Intel Video Processing Library"
2DESCRIPTION = "Intel Video Processing Library (VPL) provides \
3a single video processing API for encode, decode, and video processing \
4that works across a wide range of accelerators."
5
6HOMEPAGE = "https://github.com/intel/libvpl"
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \
9 file://third-party-programs.txt;md5=ddf05049184e74942f45b0ca4cc69b8a"
10
11SRC_URI = "git://github.com/intel/libvpl.git;protocol=https;branch=main \
12 file://0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch \
13 "
14SRCREV = "025d43d086a3e663184cb49febe86152bf05409f"
15
16inherit cmake
17DEPENDS += "libva pkgconfig-native"
18
19PACKAGECONFIG ??= "tools"
20PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols"
21
22EXTRA_OECMAKE = "-DBUILD_EXAMPLES=ON"
23
24do_install:append() {
25 mkdir -p ${D}${datadir}/VPL/samples
26 mv ${D}${bindir}/hello-* ${D}${datadir}/VPL/samples
27}
28
29COMPATIBLE_HOST = '(x86_64).*-linux'
30
31PACKAGES =+ "${PN}-examples"
32
33RREPLACES:${PN} = "onevpl"
34RCONFLICTS:${PN} = "onevpl"
35
36FILES:${PN}-examples = "${datadir}/vpl \
37 "
38
39FILES_SOLIBSDEV = ""
40FILES:${PN}-dev += "${libdir}/libvpl.so"
41
42FILES:${PN} += " ${datadir}/VPL/samples \
43 "
diff --git a/recipes-multimedia/onevpl/onevpl-intel-gpu_22.3.2.bb b/recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb
index 88b9aa37..0a0e6972 100644
--- a/recipes-multimedia/onevpl/onevpl-intel-gpu_22.3.2.bb
+++ b/recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb
@@ -2,8 +2,8 @@ SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing"
2DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ 2DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \
3video decode, encode and filtering on Intel® graphics." 3video decode, encode and filtering on Intel® graphics."
4 4
5HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" 5HOMEPAGE = "https://github.com/intel/vpl-gpu-rt"
6BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" 6BUGTRACKER = "https://github.com/intel/vpl-gpu-rt/issues"
7 7
8LICENSE = "MIT" 8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b"
@@ -14,16 +14,19 @@ PE = "1"
14COMPATIBLE_HOST = '(x86_64).*-linux' 14COMPATIBLE_HOST = '(x86_64).*-linux'
15COMPATIBLE_HOST:x86-x32 = "null" 15COMPATIBLE_HOST:x86-x32 = "null"
16 16
17DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" 17DEPENDS += "libdrm libva intel-media-driver libvpl pkgconfig-native"
18RDEPENDS:${PN} += "intel-media-driver"
18 19
19SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;branch=intel-onevpl-22.3;lfs=0 \ 20SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \
20 " 21 "
21 22
22SRCREV = "0f7e5f41160bb5a48e24f7cec2ced1ef9dd9c5be" 23SRCREV = "c65990e456acf901597a76b22407232679152547"
23S = "${WORKDIR}/git"
24 24
25FILES:${PN} += " \ 25FILES:${PN} += " \
26 ${libdir}/libmfx-gen/enctools.so \ 26 ${libdir}/libmfx-gen/enctools.so \
27 " 27 "
28 28
29inherit cmake 29inherit cmake
30
31RREPLACES:${PN} = "onevpl-intel-gpu"
32RCONFLICTS:${PN} = "onevpl-intel-gpu"