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/0001-Fix-uClibc-build.patch64
-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/intel-media-driver_25.1.4.bb (renamed from recipes-multimedia/libva/intel-media-driver_22.5.4.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.6.0.bb62
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-Enable-xdg_shell-for-weston10.patch291
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-Fix-missing-UYVY-VA_FOURCC-causing-encode-failure.patch28
-rw-r--r--recipes-multimedia/onevpl/onevpl_2022.2.2.bb41
-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.5.4.bb)15
16 files changed, 360 insertions, 552 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/0001-Fix-uClibc-build.patch b/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch
deleted file mode 100644
index 7fbf6d3a..00000000
--- a/recipes-multimedia/libva/files/0001-Fix-uClibc-build.patch
+++ /dev/null
@@ -1,64 +0,0 @@
1From 1b737d3711826757a16eed382eb5d436072e4945 Mon Sep 17 00:00:00 2001
2From: Bernd Kuhls <bernd.kuhls@t-online.de>
3Date: Fri, 10 Jun 2022 18:42:34 +0200
4Subject: [PATCH] Fix uClibc build
5
6uClibc does not provide execinfo.h
7
8Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1437]
9Signed-off-by: hilmanzafri <hilman.zafri.mazlan@intel.com>
10---
11 CMakeLists.txt | 6 ++++++
12 .../linux/common/os/osservice/mos_utilities_specific.cpp | 4 ++++
13 2 files changed, 10 insertions(+)
14
15diff --git a/CMakeLists.txt b/CMakeLists.txt
16index 72b512087..db4ae54f8 100755
17--- a/CMakeLists.txt
18+++ b/CMakeLists.txt
19@@ -53,6 +53,12 @@ option (BUILD_CMRTLIB "Build and Install cmrtlib together with media driver" ON)
20
21 option (ENABLE_PRODUCTION_KMD "Enable Production KMD header files" OFF)
22
23+include(CheckIncludeFileCXX)
24+check_include_file_cxx("execinfo.h" HAVE_EXECINFO)
25+if (HAVE_EXECINFO)
26+ add_definitions(-DHAVE_EXECINFO)
27+endif()
28+
29 include(GNUInstallDirs)
30
31 if (BUILD_CMRTLIB AND NOT CMAKE_WDDM_LINUX)
32diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
33index 8b5d92da9..6d52e09ea 100644
34--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
35+++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
36@@ -34,7 +34,9 @@
37 #include <signal.h>
38 #include <unistd.h> // fork
39 #include <algorithm>
40+#ifdef HAVE_EXECINFO
41 #include <execinfo.h> // backtrace
42+#endif
43 #include <sys/types.h>
44 #include <sys/stat.h> // fstat
45 #include <sys/ipc.h> // System V IPC
46@@ -2457,6 +2459,7 @@ void MosUtilities::MosTraceEvent(
47 MOS_FreeMemory(pTraceBuf);
48 }
49 }
50+#ifdef HAVE_EXECINFO
51 if (m_mosTraceFilter & (1ULL << TR_KEY_CALL_STACK))
52 {
53 // reserve space for header and stack size field.
54@@ -2476,6 +2479,7 @@ void MosUtilities::MosTraceEvent(
55 size_t ret = write(MosUtilitiesSpecificNext::m_mosTraceFd, traceBuf, nLen);
56 }
57 }
58+#endif
59 }
60 return;
61 }
62--
632.34.1
64
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/intel-media-driver_22.5.4.bb b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
index c838154a..d2ab0f43 100644
--- a/recipes-multimedia/libva/intel-media-driver_22.5.4.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://0001-Fix-uClibc-build.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 = "e461c0558c87a327c5a133efbcb5295e85c7d7f5" 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.6.0.bb b/recipes-multimedia/mediasdk/intel-mediasdk_22.6.0.bb
deleted file mode 100644
index 9e2f9c57..00000000
--- a/recipes-multimedia/mediasdk/intel-mediasdk_22.6.0.bb
+++ /dev/null
@@ -1,62 +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 += "libva"
21
22RDEPENDS:${PN} += "intel-media-driver"
23
24PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \
25 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \
26 samples \
27 itt \
28 "
29
30PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF"
31PACKAGECONFIG[itt] = "-DENABLE_ITT=ON, -DENABLE_ITT=OFF, itt"
32PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, ocl-icd opencl-clhpp opencl-headers"
33PACKAGECONFIG[samples] = "-DBUILD_SAMPLES=ON, -DBUILD_SAMPLES=OFF"
34PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native"
35
36SRC_URI = "git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;nobranch=1;lfs=0 \
37 file://0001-FindITT.cmake-fix-detection-of-header-library.patch \
38 "
39
40SRCREV = "db69ddd7d408fbf26e53a766aaaf3b091d65d2e7"
41S = "${WORKDIR}/git"
42
43UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$"
44
45inherit cmake pkgconfig
46
47EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include"
48
49do_install:append() {
50 mv ${D}${datadir}/mfx/samples ${D}${libdir}/mfx/samples
51}
52
53PACKAGE_BEFORE_PN = " ${PN}-samples"
54
55FILES:${PN} += " \
56 ${libdir}/mfx \
57 ${datadir}/mfx/plugins.cfg \
58 "
59
60FILES:${PN}-samples = "${libdir}/mfx/samples"
61
62INSANE_SKIP:${PN}-samples += "staticdev"
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Enable-xdg_shell-for-weston10.patch b/recipes-multimedia/onevpl/onevpl/0001-Enable-xdg_shell-for-weston10.patch
deleted file mode 100644
index 17e4e380..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-Enable-xdg_shell-for-weston10.patch
+++ /dev/null
@@ -1,291 +0,0 @@
1From 38bd0f212bf6cfd65f836913dca1098113fa2e8d Mon Sep 17 00:00:00 2001
2From: "Cheah, Vincent Beng Keat" <vincent.beng.keat.cheah@intel.com>
3Date: Mon, 3 Oct 2022 16:06:38 +0800
4Subject: [PATCH] Enable xdg_shell for weston10
5
6Tested command: ./sample_decode h264 -vaapi -hw -i test.h264 -rwld
7
8Upstream-Status: Submitted [innersource PR: #518 ]
9
10Signed-off-by: Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>
11---
12 tools/legacy/sample_common/CMakeLists.txt | 15 +++++
13 .../legacy/sample_misc/wayland/CMakeLists.txt | 34 ++++++++++
14 .../wayland/include/class_wayland.h | 8 +++
15 .../wayland/include/listener_wayland.h | 16 +++++
16 .../sample_misc/wayland/src/class_wayland.cpp | 66 ++++++++++++++++---
17 .../wayland/src/listener_wayland.cpp | 23 +++++++
18 6 files changed, 153 insertions(+), 9 deletions(-)
19
20diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt
21index c13749a..3f70465 100644
22--- a/tools/legacy/sample_common/CMakeLists.txt
23+++ b/tools/legacy/sample_common/CMakeLists.txt
24@@ -200,6 +200,12 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux)
25 WAYLAND_LINUX_DMABUF_XML_PATH linux-dmabuf-unstable-v1.xml
26 PATHS ${WAYLAND_PROTOCOLS_PATH}/unstable/linux-dmabuf
27 NO_DEFAULT_PATH)
28+
29+ find_file(
30+ WAYLAND_LINUX_XDG_SHELL_XML_PATH xdg-shell.xml
31+ PATHS ${WAYLAND_PROTOCOLS_PATH}/stable/xdg-shell
32+ NO_DEFAULT_PATH)
33+
34 endif()
35 else()
36 message(
37@@ -216,6 +222,15 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux)
38 PUBLIC ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland)
39 endif()
40
41+ if(WAYLAND_LINUX_XDG_SHELL_XML_PATH)
42+ target_compile_definitions(${TARGET}
43+ PUBLIC WAYLAND_LINUX_XDG_SHELL_SUPPORT)
44+
45+ target_include_directories(
46+ ${TARGET}
47+ PUBLIC ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland)
48+ endif()
49+
50 else()
51 message(
52 SEND_ERROR
53diff --git a/tools/legacy/sample_misc/wayland/CMakeLists.txt b/tools/legacy/sample_misc/wayland/CMakeLists.txt
54index 9a272f9..470a763 100644
55--- a/tools/legacy/sample_misc/wayland/CMakeLists.txt
56+++ b/tools/legacy/sample_misc/wayland/CMakeLists.txt
57@@ -36,6 +36,40 @@ if(PKGConfig_LIBDRM_FOUND)
58 ${CMAKE_CURRENT_SOURCE_DIR}/src/listener_wayland.cpp
59 ${CMAKE_CURRENT_SOURCE_DIR}/src/wayland-drm-protocol.c)
60
61+ if(WAYLAND_SCANNER_BIN
62+ AND PKG_WAYLAND_PROTCOLS_FOUND
63+ AND WAYLAND_LINUX_XDG_SHELL_XML_PATH)
64+ execute_process(
65+ COMMAND
66+ "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" "client-header"
67+ "${WAYLAND_LINUX_XDG_SHELL_XML_PATH}"
68+ "tools/legacy/sample_misc/wayland/xdg-shell-client-protocol.h"
69+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
70+ RESULT_VARIABLE WAYLAND_SCANNER_RESULT)
71+ if(WAYLAND_SCANNER_RESULT)
72+ message(FATAL_ERROR "Failed to generate xdg-shell-client-protocol.h")
73+ endif()
74+
75+ execute_process(
76+ COMMAND
77+ "${WAYLAND_SCANNER_BIN_PATH}\/${WAYLAND_SCANNER_BIN}" "private-code"
78+ "${WAYLAND_LINUX_XDG_SHELL_XML_PATH}"
79+ "tools/legacy/sample_misc/wayland/xdg-shell-protocol.c"
80+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
81+ RESULT_VARIABLE WAYLAND_SCANNER_RESULT)
82+ if(WAYLAND_SCANNER_RESULT)
83+ message(FATAL_ERROR "Failed to generate xdg-shell-protocol.c")
84+ endif()
85+
86+ target_include_directories(
87+ ${TARGET} PRIVATE ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland)
88+ target_sources(
89+ ${TARGET}
90+ PRIVATE
91+ ${CMAKE_BINARY_DIR}/tools/legacy/sample_misc/wayland/xdg-shell-protocol.c
92+ )
93+ endif()
94+
95 if(WAYLAND_SCANNER_BIN
96 AND PKG_WAYLAND_PROTCOLS_FOUND
97 AND WAYLAND_LINUX_DMABUF_XML_PATH)
98diff --git a/tools/legacy/sample_misc/wayland/include/class_wayland.h b/tools/legacy/sample_misc/wayland/include/class_wayland.h
99index edaeefd..02c361c 100644
100--- a/tools/legacy/sample_misc/wayland/include/class_wayland.h
101+++ b/tools/legacy/sample_misc/wayland/include/class_wayland.h
102@@ -22,6 +22,9 @@ extern "C" {
103 #if defined(WAYLAND_LINUX_DMABUF_SUPPORT)
104 #include "linux-dmabuf-unstable-v1.h"
105 #endif
106+ #if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
107+ #include "xdg-shell-client-protocol.h"
108+ #endif
109
110 typedef struct buffer wld_buffer;
111
112@@ -158,6 +161,11 @@ private:
113 struct wl_event_queue* m_event_queue;
114 volatile int m_pending_frame;
115 struct ShmPool* m_shm_pool;
116+ #if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
117+ struct xdg_wm_base* m_xdg_wm_base;
118+ struct xdg_surface* m_xdg_surface;
119+ struct xdg_toplevel* m_xdg_toplevel;
120+ #endif
121 int m_display_fd;
122 int m_fd;
123 struct pollfd m_poll;
124diff --git a/tools/legacy/sample_misc/wayland/include/listener_wayland.h b/tools/legacy/sample_misc/wayland/include/listener_wayland.h
125index 25ee3a1..8401e2b 100644
126--- a/tools/legacy/sample_misc/wayland/include/listener_wayland.h
127+++ b/tools/legacy/sample_misc/wayland/include/listener_wayland.h
128@@ -40,4 +40,20 @@ void shell_surface_configure(void* data,
129 void handle_done(void* data, struct wl_callback* callback, uint32_t time);
130
131 void buffer_release(void* data, struct wl_buffer* buffer);
132+
133+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
134+/* xdg shell */
135+void xdg_wm_base_ping(void* data, struct xdg_wm_base* xdg_wm_base, uint32_t serial);
136+
137+void xdg_surface_configure(void* data, struct xdg_surface* xdg_surface, uint32_t serial);
138+
139+void xdg_toplevel_configure(void* data,
140+ struct xdg_toplevel* xdg_toplevel,
141+ int32_t width,
142+ int32_t height,
143+ struct wl_array* states);
144+
145+void xdg_toplevel_close(void* data, struct xdg_toplevel* xdg_toplevel);
146+#endif
147+
148 #endif /* LISTENER_WAYLAND_H */
149diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
150index 41b7969..428b844 100644
151--- a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
152+++ b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp
153@@ -49,6 +49,11 @@ Wayland::Wayland()
154 m_event_queue(NULL),
155 m_pending_frame(0),
156 m_shm_pool(NULL),
157+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
158+ m_xdg_wm_base(NULL),
159+ m_xdg_surface(NULL),
160+ m_xdg_toplevel(NULL),
161+#endif
162 m_display_fd(-1),
163 m_fd(-1),
164 m_bufmgr(NULL),
165@@ -89,6 +94,11 @@ int Wayland::DisplayRoundtrip() {
166 }
167
168 bool Wayland::CreateSurface() {
169+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
170+ static struct xdg_surface_listener xdg_surface_listener = { xdg_surface_configure };
171+ static struct xdg_toplevel_listener xdg_toplevel_listener = { xdg_toplevel_configure,
172+ xdg_toplevel_close };
173+#endif
174 static const struct wl_shell_surface_listener shell_surface_listener = {
175 shell_surface_ping,
176 shell_surface_configure
177@@ -98,16 +108,38 @@ bool Wayland::CreateSurface() {
178 if (NULL == m_surface)
179 return false;
180
181- m_shell_surface = wl_shell_get_shell_surface(m_shell, m_surface);
182- if (NULL == m_shell_surface) {
183- wl_surface_destroy(m_surface);
184- return false;
185+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
186+ if (m_xdg_wm_base) {
187+ m_shell = NULL;
188+ m_xdg_surface = xdg_wm_base_get_xdg_surface(m_xdg_wm_base, m_surface);
189+ if (nullptr == m_xdg_surface) {
190+ xdg_surface_destroy(m_xdg_surface);
191+ return false;
192+ }
193+
194+ xdg_surface_add_listener(m_xdg_surface, &xdg_surface_listener, 0);
195+ m_xdg_toplevel = xdg_surface_get_toplevel(m_xdg_surface);
196+ if (nullptr == m_xdg_toplevel)
197+ return false;
198+
199+ xdg_toplevel_add_listener(m_xdg_toplevel, &xdg_toplevel_listener, 0);
200+ wl_surface_commit(m_surface);
201+ wl_display_dispatch(m_display);
202 }
203+#endif
204
205- wl_shell_surface_add_listener(m_shell_surface, &shell_surface_listener, 0);
206- wl_shell_surface_set_toplevel(m_shell_surface);
207- wl_shell_surface_set_user_data(m_shell_surface, m_surface);
208- wl_surface_set_user_data(m_surface, NULL);
209+ if (m_shell) {
210+ m_shell_surface = wl_shell_get_shell_surface(m_shell, m_surface);
211+ if (NULL == m_shell_surface) {
212+ wl_surface_destroy(m_surface);
213+ return false;
214+ }
215+
216+ wl_shell_surface_add_listener(m_shell_surface, &shell_surface_listener, 0);
217+ wl_shell_surface_set_toplevel(m_shell_surface);
218+ wl_shell_surface_set_user_data(m_shell_surface, m_surface);
219+ wl_surface_set_user_data(m_surface, NULL);
220+ }
221 return true;
222 }
223
224@@ -116,6 +148,12 @@ void Wayland::FreeSurface() {
225 wl_shell_surface_destroy(m_shell_surface);
226 if (NULL != m_surface)
227 wl_surface_destroy(m_surface);
228+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
229+ if (nullptr != m_xdg_toplevel)
230+ xdg_toplevel_destroy(m_xdg_toplevel);
231+ if (nullptr != m_xdg_surface)
232+ xdg_surface_destroy(m_xdg_surface);
233+#endif
234 }
235
236 void Wayland::Sync() {
237@@ -370,9 +408,19 @@ void Wayland::RegistryGlobal(struct wl_registry* registry,
238 if (0 == strcmp(interface, "wl_compositor"))
239 m_compositor = static_cast<wl_compositor*>(
240 wl_registry_bind(registry, name, &wl_compositor_interface, version));
241- else if (0 == strcmp(interface, "wl_shell"))
242+ else if (0 == strcmp(interface, "wl_shell")) {
243 m_shell =
244 static_cast<wl_shell*>(wl_registry_bind(registry, name, &wl_shell_interface, version));
245+ }
246+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
247+ else if (0 == strcmp(interface, "xdg_wm_base")) {
248+ static const struct xdg_wm_base_listener xdg_wm_base_listener = { xdg_wm_base_ping };
249+ m_xdg_wm_base =
250+ static_cast<xdg_wm_base*>(wl_registry_bind(registry, name, &xdg_wm_base_interface, 1));
251+
252+ xdg_wm_base_add_listener(m_xdg_wm_base, &xdg_wm_base_listener, this);
253+ }
254+#endif
255 else if (0 == strcmp(interface, "wl_drm")) {
256 static const struct wl_drm_listener drm_listener = { drm_handle_device,
257 drm_handle_format,
258diff --git a/tools/legacy/sample_misc/wayland/src/listener_wayland.cpp b/tools/legacy/sample_misc/wayland/src/listener_wayland.cpp
259index 71d617e..b62cd70 100644
260--- a/tools/legacy/sample_misc/wayland/src/listener_wayland.cpp
261+++ b/tools/legacy/sample_misc/wayland/src/listener_wayland.cpp
262@@ -65,3 +65,26 @@ void buffer_release(void* data, struct wl_buffer* buffer) {
263 wl_buffer_destroy(buffer);
264 buffer = NULL;
265 }
266+
267+#if defined(WAYLAND_LINUX_XDG_SHELL_SUPPORT)
268+/* xdg shell */
269+void xdg_wm_base_ping(void* data, struct xdg_wm_base* xdg_wm_base, uint32_t serial) {
270+ xdg_wm_base_pong(xdg_wm_base, serial);
271+}
272+
273+void xdg_surface_configure(void* data, struct xdg_surface* xdg_surface, uint32_t serial) {
274+ xdg_surface_ack_configure(xdg_surface, serial);
275+}
276+
277+void xdg_toplevel_configure(void* data,
278+ struct xdg_toplevel* xdg_toplevel,
279+ int32_t width,
280+ int32_t height,
281+ struct wl_array* states) {
282+ /* NOT IMPLEMENTED */
283+}
284+
285+void xdg_toplevel_close(void* data, struct xdg_toplevel* xdg_toplevel) {
286+ /* NOT IMPLEMENTED */
287+}
288+#endif
289--
2902.37.2
291
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Fix-missing-UYVY-VA_FOURCC-causing-encode-failure.patch b/recipes-multimedia/onevpl/onevpl/0001-Fix-missing-UYVY-VA_FOURCC-causing-encode-failure.patch
deleted file mode 100644
index c748c818..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-Fix-missing-UYVY-VA_FOURCC-causing-encode-failure.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 943f228402fa5ec3a1b4fd898e2783bb314af5a4 Mon Sep 17 00:00:00 2001
2From: "Mazlan, Hilman Zafri" <hilman.zafri.mazlan@intel.com>
3Date: Thu, 8 Sep 2022 11:06:33 +0800
4Subject: [PATCH] Fix missing UYVY VA_FOURCC causing encode failure
5
6Upstream-Status: Submitted [Innersource PR: #504]
7
8Signed-off-by: Mazlan, Hilman Zafri <hilman.zafri.mazlan@intel.com>
9---
10 tools/legacy/sample_common/src/vaapi_allocator.cpp | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/tools/legacy/sample_common/src/vaapi_allocator.cpp b/tools/legacy/sample_common/src/vaapi_allocator.cpp
14index b374a6cb..e3c286e9 100644
15--- a/tools/legacy/sample_common/src/vaapi_allocator.cpp
16+++ b/tools/legacy/sample_common/src/vaapi_allocator.cpp
17@@ -129,7 +129,7 @@ static mfxStatus GetVAFourcc(mfxU32 fourcc, unsigned int& va_fourcc) {
18 mfxU32 mfx_fourcc = ConvertVP8FourccToMfxFourcc(fourcc);
19 va_fourcc = ConvertMfxFourccToVAFormat(mfx_fourcc);
20 if (!va_fourcc || ((VA_FOURCC_NV12 != va_fourcc) && (VA_FOURCC_YV12 != va_fourcc) &&
21- (VA_FOURCC_YUY2 != va_fourcc) && (VA_FOURCC_ARGB != va_fourcc) &&
22+ (VA_FOURCC_UYVY != va_fourcc) && (VA_FOURCC_ARGB != va_fourcc) &&
23 (VA_FOURCC_ABGR != va_fourcc) && (VA_FOURCC_P208 != va_fourcc) &&
24 (VA_FOURCC_P010 != va_fourcc) && (VA_FOURCC_YUY2 != va_fourcc) &&
25 (VA_FOURCC_Y210 != va_fourcc) && (VA_FOURCC_Y410 != va_fourcc) &&
26--
272.34.1
28
diff --git a/recipes-multimedia/onevpl/onevpl_2022.2.2.bb b/recipes-multimedia/onevpl/onevpl_2022.2.2.bb
deleted file mode 100644
index 9e0196c1..00000000
--- a/recipes-multimedia/onevpl/onevpl_2022.2.2.bb
+++ /dev/null
@@ -1,41 +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=f43d223f2b736e89abed9660483d0386"
10
11SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https;branch=master \
12 file://0001-Fix-missing-UYVY-VA_FOURCC-causing-encode-failure.patch \
13 file://0001-Enable-xdg_shell-for-weston10.patch \
14 "
15SRCREV = "15b79165c30fc4a7bf6efdf261a39b128b63b896"
16S = "${WORKDIR}/git"
17
18inherit cmake
19DEPENDS += "libva pkgconfig-native"
20
21PACKAGECONFIG ??= "tools"
22PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols"
23
24do_install:append() {
25 mkdir -p ${D}${datadir}/oneVPL/samples
26 mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples
27}
28
29COMPATIBLE_HOST = '(x86_64).*-linux'
30
31PACKAGES += "${PN}-examples"
32
33FILES:${PN}-examples = "${datadir}/oneVPL/examples \
34 "
35
36FILES_SOLIBSDEV = ""
37FILES:${PN}-dev += "${libdir}/libvpl.so"
38
39FILES:${PN} += "${datadir} \
40 ${libdir}/vpl/libvpl_wayland.so \
41 "
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.5.4.bb b/recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb
index b89a8ce8..0a0e6972 100644
--- a/recipes-multimedia/onevpl/onevpl-intel-gpu_22.5.4.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;nobranch=1;lfs=0 \ 20SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \
20 " 21 "
21 22
22SRCREV = "4a8f62f498eddc96473789a5d5e204ec84b69330" 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"