diff options
Diffstat (limited to 'recipes-multimedia')
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 | ||
11 | SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" | 11 | SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" |
12 | SRCREV = "96a01335dbc560b9224f52f0cc25c28ca0f1b564" | 12 | SRCREV = "e535d565c88e4407f044719e2e9ec70c0b023d23" |
13 | S = "${WORKDIR}/git" | ||
14 | PE = "1" | 13 | PE = "1" |
15 | 14 | ||
16 | UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" | 15 | UPSTREAM_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 | ||
39 | RDEPENDS:${PN}-dev:remove = "${PN} (= ${EXTENDPKGV})" | 32 | RDEPENDS:${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 @@ | |||
1 | From 1b737d3711826757a16eed382eb5d436072e4945 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bernd Kuhls <bernd.kuhls@t-online.de> | ||
3 | Date: Fri, 10 Jun 2022 18:42:34 +0200 | ||
4 | Subject: [PATCH] Fix uClibc build | ||
5 | |||
6 | uClibc does not provide execinfo.h | ||
7 | |||
8 | Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1437] | ||
9 | Signed-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 | |||
15 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
16 | index 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) | ||
32 | diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp | ||
33 | index 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 | -- | ||
63 | 2.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 @@ | |||
1 | From 6132115dd2f1db55a6a5371618247dfaa334a035 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
3 | Date: Wed, 11 Oct 2023 15:36:21 +0800 | ||
4 | Subject: [PATCH 3/7] Force ARGB surface to tile4 for ACM | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728] | ||
7 | |||
8 | Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com> | ||
9 | Signed-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 | |||
14 | diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp | ||
15 | index 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 | -- | ||
43 | 2.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 @@ | |||
1 | From a32b95e58fd3e34847e799b909e08dbe5c9dc692 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
3 | Date: Fri, 2 Aug 2024 13:25:13 +0800 | ||
4 | Subject: [PATCH 4/7] Fix failed 4k videowalll test case and color corruption | ||
5 | of video composition in Gen12 platform | ||
6 | |||
7 | Fix failed 4k video wall test case from 16CH video only show | ||
8 | 1CH output and corruption observed on certain number of video | ||
9 | composition when doing sample_multi_transcode in legacy path. | ||
10 | |||
11 | platform: TGL/ADL/RPL | ||
12 | |||
13 | Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1839] | ||
14 | |||
15 | Signed-off-by: xupianch <xu.pian.chan@intel.com> | ||
16 | Signed-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 | |||
22 | diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp | ||
23 | index 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 | + } | ||
47 | diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c | ||
48 | index 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 | -- | ||
84 | 2.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" | |||
19 | DEPENDS += "libva gmmlib" | 19 | DEPENDS += "libva gmmlib" |
20 | 20 | ||
21 | SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ | 21 | SRC_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 | ||
25 | SRCREV = "e461c0558c87a327c5a133efbcb5295e85c7d7f5" | 26 | SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8" |
26 | S = "${WORKDIR}/git" | ||
27 | 27 | ||
28 | COMPATIBLE_HOST:x86-x32 = "null" | 28 | COMPATIBLE_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 @@ | |||
1 | From be7cec47777bd35c44a59f2af73f12ce9c26d65c Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Wed, 7 Oct 2020 09:33:06 +0800 | ||
4 | Subject: [PATCH] FindITT.cmake: fix detection of header/library | ||
5 | |||
6 | Use find_library to check for the library so distributions installing to | ||
7 | standard locations can also work in addition to custom paths specified | ||
8 | using CMAKE_ITT_HOME. | ||
9 | |||
10 | Also add ittnotify to PATH_SUFFIXES for header for cases when | ||
11 | ittnotify.h is installed in /usr/include/ittnotify for example. | ||
12 | |||
13 | Upstream-Status: Submitted | ||
14 | |||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
16 | --- | ||
17 | builder/FindITT.cmake | 6 +++--- | ||
18 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
19 | |||
20 | diff --git a/builder/FindITT.cmake b/builder/FindITT.cmake | ||
21 | index 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 | -- | ||
48 | 2.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 @@ | |||
1 | SUMMARY = "Intel(R) Media SDK for hardware accelerated media processing" | ||
2 | DESCRIPTION = "Intel(R) Media SDK provides an API to access hardware-accelerated \ | ||
3 | video decode, encode and filtering on Intel® platforms with integrated graphics." | ||
4 | |||
5 | HOMEPAGE = "https://github.com/Intel-Media-SDK/MediaSDK" | ||
6 | BUGTRACKER = "https://github.com/Intel-Media-SDK/MediaSDK/issues" | ||
7 | |||
8 | LICENSE = "MIT" | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3cb331af679cd8f968bf799a9c55b46e" | ||
10 | |||
11 | CVE_DETAILS = "intel:media_sdk" | ||
12 | |||
13 | # Only for 64 bit until media-driver issues aren't fixed | ||
14 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
15 | COMPATIBLE_HOST:x86-x32 = "null" | ||
16 | |||
17 | inherit features_check | ||
18 | REQUIRED_DISTRO_FEATURES = "opengl" | ||
19 | |||
20 | DEPENDS += "libva" | ||
21 | |||
22 | RDEPENDS:${PN} += "intel-media-driver" | ||
23 | |||
24 | PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \ | ||
25 | ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \ | ||
26 | samples \ | ||
27 | itt \ | ||
28 | " | ||
29 | |||
30 | PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF" | ||
31 | PACKAGECONFIG[itt] = "-DENABLE_ITT=ON, -DENABLE_ITT=OFF, itt" | ||
32 | PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, ocl-icd opencl-clhpp opencl-headers" | ||
33 | PACKAGECONFIG[samples] = "-DBUILD_SAMPLES=ON, -DBUILD_SAMPLES=OFF" | ||
34 | PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native" | ||
35 | |||
36 | SRC_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 | |||
40 | SRCREV = "db69ddd7d408fbf26e53a766aaaf3b091d65d2e7" | ||
41 | S = "${WORKDIR}/git" | ||
42 | |||
43 | UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$" | ||
44 | |||
45 | inherit cmake pkgconfig | ||
46 | |||
47 | EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include" | ||
48 | |||
49 | do_install:append() { | ||
50 | mv ${D}${datadir}/mfx/samples ${D}${libdir}/mfx/samples | ||
51 | } | ||
52 | |||
53 | PACKAGE_BEFORE_PN = " ${PN}-samples" | ||
54 | |||
55 | FILES:${PN} += " \ | ||
56 | ${libdir}/mfx \ | ||
57 | ${datadir}/mfx/plugins.cfg \ | ||
58 | " | ||
59 | |||
60 | FILES:${PN}-samples = "${libdir}/mfx/samples" | ||
61 | |||
62 | INSANE_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 @@ | |||
1 | From 38bd0f212bf6cfd65f836913dca1098113fa2e8d Mon Sep 17 00:00:00 2001 | ||
2 | From: "Cheah, Vincent Beng Keat" <vincent.beng.keat.cheah@intel.com> | ||
3 | Date: Mon, 3 Oct 2022 16:06:38 +0800 | ||
4 | Subject: [PATCH] Enable xdg_shell for weston10 | ||
5 | |||
6 | Tested command: ./sample_decode h264 -vaapi -hw -i test.h264 -rwld | ||
7 | |||
8 | Upstream-Status: Submitted [innersource PR: #518 ] | ||
9 | |||
10 | Signed-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 | |||
20 | diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt | ||
21 | index 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 | ||
53 | diff --git a/tools/legacy/sample_misc/wayland/CMakeLists.txt b/tools/legacy/sample_misc/wayland/CMakeLists.txt | ||
54 | index 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) | ||
98 | diff --git a/tools/legacy/sample_misc/wayland/include/class_wayland.h b/tools/legacy/sample_misc/wayland/include/class_wayland.h | ||
99 | index 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; | ||
124 | diff --git a/tools/legacy/sample_misc/wayland/include/listener_wayland.h b/tools/legacy/sample_misc/wayland/include/listener_wayland.h | ||
125 | index 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 */ | ||
149 | diff --git a/tools/legacy/sample_misc/wayland/src/class_wayland.cpp b/tools/legacy/sample_misc/wayland/src/class_wayland.cpp | ||
150 | index 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, | ||
258 | diff --git a/tools/legacy/sample_misc/wayland/src/listener_wayland.cpp b/tools/legacy/sample_misc/wayland/src/listener_wayland.cpp | ||
259 | index 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 | -- | ||
290 | 2.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 @@ | |||
1 | From 943f228402fa5ec3a1b4fd898e2783bb314af5a4 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Mazlan, Hilman Zafri" <hilman.zafri.mazlan@intel.com> | ||
3 | Date: Thu, 8 Sep 2022 11:06:33 +0800 | ||
4 | Subject: [PATCH] Fix missing UYVY VA_FOURCC causing encode failure | ||
5 | |||
6 | Upstream-Status: Submitted [Innersource PR: #504] | ||
7 | |||
8 | Signed-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 | |||
13 | diff --git a/tools/legacy/sample_common/src/vaapi_allocator.cpp b/tools/legacy/sample_common/src/vaapi_allocator.cpp | ||
14 | index 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 | -- | ||
27 | 2.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 @@ | |||
1 | SUMMARY = "oneAPI Video Processing Library" | ||
2 | DESCRIPTION = "The oneAPI Video Processing Library (oneVPL) provides \ | ||
3 | a single video processing API for encode, decode, and video processing \ | ||
4 | that works across a wide range of accelerators." | ||
5 | |||
6 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL" | ||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ | ||
9 | file://third-party-programs.txt;md5=f43d223f2b736e89abed9660483d0386" | ||
10 | |||
11 | SRC_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 | " | ||
15 | SRCREV = "15b79165c30fc4a7bf6efdf261a39b128b63b896" | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit cmake | ||
19 | DEPENDS += "libva pkgconfig-native" | ||
20 | |||
21 | PACKAGECONFIG ??= "tools" | ||
22 | PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols" | ||
23 | |||
24 | do_install:append() { | ||
25 | mkdir -p ${D}${datadir}/oneVPL/samples | ||
26 | mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples | ||
27 | } | ||
28 | |||
29 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
30 | |||
31 | PACKAGES += "${PN}-examples" | ||
32 | |||
33 | FILES:${PN}-examples = "${datadir}/oneVPL/examples \ | ||
34 | " | ||
35 | |||
36 | FILES_SOLIBSDEV = "" | ||
37 | FILES:${PN}-dev += "${libdir}/libvpl.so" | ||
38 | |||
39 | FILES:${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 @@ | |||
1 | From a0fe1b898ba446fdd45ff7fdad18d442140df090 Mon Sep 17 00:00:00 2001 | ||
2 | From: Yogesh Tyagi <yogesh.tyagi@intel.com> | ||
3 | Date: Sun, 11 May 2025 17:21:17 +0530 | ||
4 | Subject: [PATCH] Add cstdint header to resolve build issue with gcc-15 | ||
5 | |||
6 | Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> | ||
7 | |||
8 | Upstream-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 | |||
13 | diff --git a/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp | ||
14 | index 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 | -- | ||
33 | 2.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 @@ | |||
1 | From 39ec70e27cb6887d6b9e6abc231d1052f02c4d9b Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yuan, Jenny" <jenny.yuan@intel.com> | ||
3 | Date: Thu, 13 Feb 2025 11:54:46 -0800 | ||
4 | Subject: [PATCH] Update vpl-inspect to remove ReportedStats | ||
5 | |||
6 | Since experimental API mfxEncoderDescription::encoder::ReportedStats is | ||
7 | going to be removed, update vpl-inspect to remove ReportedStats field | ||
8 | report. | ||
9 | |||
10 | Upstream-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 | |||
15 | diff --git a/tools/cli/vpl-inspect/src/vpl-inspect.cpp b/tools/cli/vpl-inspect/src/vpl-inspect.cpp | ||
16 | index 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 | -- | ||
72 | 2.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 @@ | |||
1 | From ff715f4c543ddabc5c90160d0ae5c5598e8e1289 Mon Sep 17 00:00:00 2001 | ||
2 | From: Markus Volk <f_l_k@t-online.de> | ||
3 | Date: Thu, 15 Jun 2023 13:43:32 +0200 | ||
4 | Subject: [PATCH] vpl.pc.in: dont pass pcfiledir to cflags | ||
5 | |||
6 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
7 | |||
8 | Upstream-Status: Inappropriate [oe specific] | ||
9 | --- | ||
10 | libvpl/pkgconfig/vpl.pc.in | 4 ++-- | ||
11 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/libvpl/pkgconfig/vpl.pc.in b/libvpl/pkgconfig/vpl.pc.in | ||
14 | index 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 @@ | |||
1 | SUMMARY = "Intel Video Processing Library Tools" | ||
2 | DESCRIPTION = "Intel Video Processing Library (VPL) Tools provides \ | ||
3 | access to hardware accelerated video decode, encode and video processing \ | ||
4 | capabilities on Intel® GPUs use cases." | ||
5 | |||
6 | HOMEPAGE = "https://github.com/intel/libvpl-tools" | ||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ | ||
9 | file://third-party-programs.txt;md5=ddf05049184e74942f45b0ca4cc69b8a" | ||
10 | |||
11 | SRC_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 | |||
16 | SRCREV = "82eab13ecec99f34e0f1d5dac490611b604406c9" | ||
17 | |||
18 | inherit cmake | ||
19 | DEPENDS += "libva libvpl pkgconfig-native" | ||
20 | |||
21 | PACKAGECONFIG ??= "tools" | ||
22 | PACKAGECONFIG[tools] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native wayland-protocols" | ||
23 | |||
24 | do_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 | |||
30 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
31 | |||
32 | FILES_SOLIBSDEV = "" | ||
33 | |||
34 | FILES:${PN} += " ${datadir}/VPL/samples \ | ||
35 | ${libdir}/libcttmetrics.so \ | ||
36 | ${libdir}/vpl-tools/libvpl_wayland.* \ | ||
37 | " | ||
38 | |||
39 | FILES:${PN}-dev += "${libdir}/vpl-tools/libvpl_wayland.so \ | ||
40 | " | ||
41 | |||
42 | FILES:${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 @@ | |||
1 | SUMMARY = "Intel Video Processing Library" | ||
2 | DESCRIPTION = "Intel Video Processing Library (VPL) provides \ | ||
3 | a single video processing API for encode, decode, and video processing \ | ||
4 | that works across a wide range of accelerators." | ||
5 | |||
6 | HOMEPAGE = "https://github.com/intel/libvpl" | ||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ | ||
9 | file://third-party-programs.txt;md5=ddf05049184e74942f45b0ca4cc69b8a" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/libvpl.git;protocol=https;branch=main \ | ||
12 | file://0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch \ | ||
13 | " | ||
14 | SRCREV = "025d43d086a3e663184cb49febe86152bf05409f" | ||
15 | |||
16 | inherit cmake | ||
17 | DEPENDS += "libva pkgconfig-native" | ||
18 | |||
19 | PACKAGECONFIG ??= "tools" | ||
20 | PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols" | ||
21 | |||
22 | EXTRA_OECMAKE = "-DBUILD_EXAMPLES=ON" | ||
23 | |||
24 | do_install:append() { | ||
25 | mkdir -p ${D}${datadir}/VPL/samples | ||
26 | mv ${D}${bindir}/hello-* ${D}${datadir}/VPL/samples | ||
27 | } | ||
28 | |||
29 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
30 | |||
31 | PACKAGES =+ "${PN}-examples" | ||
32 | |||
33 | RREPLACES:${PN} = "onevpl" | ||
34 | RCONFLICTS:${PN} = "onevpl" | ||
35 | |||
36 | FILES:${PN}-examples = "${datadir}/vpl \ | ||
37 | " | ||
38 | |||
39 | FILES_SOLIBSDEV = "" | ||
40 | FILES:${PN}-dev += "${libdir}/libvpl.so" | ||
41 | |||
42 | FILES:${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" | |||
2 | DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ | 2 | DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ |
3 | video decode, encode and filtering on Intel® graphics." | 3 | video decode, encode and filtering on Intel® graphics." |
4 | 4 | ||
5 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" | 5 | HOMEPAGE = "https://github.com/intel/vpl-gpu-rt" |
6 | BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" | 6 | BUGTRACKER = "https://github.com/intel/vpl-gpu-rt/issues" |
7 | 7 | ||
8 | LICENSE = "MIT" | 8 | LICENSE = "MIT" |
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" | 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" |
@@ -14,16 +14,19 @@ PE = "1" | |||
14 | COMPATIBLE_HOST = '(x86_64).*-linux' | 14 | COMPATIBLE_HOST = '(x86_64).*-linux' |
15 | COMPATIBLE_HOST:x86-x32 = "null" | 15 | COMPATIBLE_HOST:x86-x32 = "null" |
16 | 16 | ||
17 | DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" | 17 | DEPENDS += "libdrm libva intel-media-driver libvpl pkgconfig-native" |
18 | RDEPENDS:${PN} += "intel-media-driver" | ||
18 | 19 | ||
19 | SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;nobranch=1;lfs=0 \ | 20 | SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \ |
20 | " | 21 | " |
21 | 22 | ||
22 | SRCREV = "4a8f62f498eddc96473789a5d5e204ec84b69330" | 23 | SRCREV = "c65990e456acf901597a76b22407232679152547" |
23 | S = "${WORKDIR}/git" | ||
24 | 24 | ||
25 | FILES:${PN} += " \ | 25 | FILES:${PN} += " \ |
26 | ${libdir}/libmfx-gen/enctools.so \ | 26 | ${libdir}/libmfx-gen/enctools.so \ |
27 | " | 27 | " |
28 | 28 | ||
29 | inherit cmake | 29 | inherit cmake |
30 | |||
31 | RREPLACES:${PN} = "onevpl-intel-gpu" | ||
32 | RCONFLICTS:${PN} = "onevpl-intel-gpu" | ||