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.21.2.bb)13
-rw-r--r--recipes-multimedia/libva/files/0001-Expose-the-reg-to-disable-scalability.patch178
-rw-r--r--recipes-multimedia/libva/files/0001-VP-Fix-2pass-CSC-PROCAMP-not-work-issue.patch34
-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_21.2.3.bb)7
-rw-r--r--recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch96
-rw-r--r--recipes-multimedia/libyami/libyami-utils_1.3.2.bb26
-rw-r--r--recipes-multimedia/libyami/libyami_1.3.2.bb24
-rw-r--r--recipes-multimedia/mediasdk/files/0001-Add-support-of-DRM_FORMAT_NV12-for-console-mode-rend.patch146
-rw-r--r--recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch49
-rw-r--r--recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch49
-rw-r--r--recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb62
-rw-r--r--recipes-multimedia/onevpl/onevpl-intel-gpu/0001-jpegd-Enable-JPEG-decode-error-report.patch502
-rw-r--r--recipes-multimedia/onevpl/onevpl-intel-gpu_21.3.4.bb26
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch59
-rw-r--r--recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch37
-rw-r--r--recipes-multimedia/onevpl/onevpl_2021.6.0.bb38
-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.bb32
24 files changed, 385 insertions, 1340 deletions
diff --git a/recipes-multimedia/itt/itt_3.21.2.bb b/recipes-multimedia/itt/itt_3.26.1.bb
index f4981329..27b967f5 100644
--- a/recipes-multimedia/itt/itt_3.21.2.bb
+++ b/recipes-multimedia/itt/itt_3.26.1.bb
@@ -3,14 +3,13 @@ DESCRIPTION = "The Instrumentation and Tracing Technology (ITT) API enables \
3application to generate and control the collection of trace data during its \ 3application to generate and control the collection of trace data during its \
4execution across different Intel tools." 4execution across different Intel tools."
5 5
6LICENSE = "BSD-3-Clause & GPLv2" 6LICENSE = "BSD-3-Clause & GPL-2.0-only"
7LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c722edeca7b \ 7LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c722edeca7b \
8 file://LICENSES/GPL-2.0-only.txt;md5=e2d76e7801260c21b90eea3605508ad6 \ 8 file://LICENSES/GPL-2.0-only.txt;md5=e2d76e7801260c21b90eea3605508ad6 \
9 " 9 "
10 10
11SRC_URI = "git://github.com/intel/ittapi.git;protocol=https" 11SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master"
12SRCREV = "eb8d2874eb2421c404af715b198a70b5cf8ec18d" 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-Expose-the-reg-to-disable-scalability.patch b/recipes-multimedia/libva/files/0001-Expose-the-reg-to-disable-scalability.patch
deleted file mode 100644
index 03d94314..00000000
--- a/recipes-multimedia/libva/files/0001-Expose-the-reg-to-disable-scalability.patch
+++ /dev/null
@@ -1,178 +0,0 @@
1From 2cc1938f4692c0310df98726cc03d9d55d52e794 Mon Sep 17 00:00:00 2001
2From: "Xu, Zhengguo" <zhengguo.xu@intel.com>
3Date: Mon, 12 Jul 2021 11:14:53 +0800
4Subject: [PATCH] Expose the reg to disable scalability
5
6This reg only works in release-internal/debug version. Expose it in release version now.
7
8This patch was imported from iHD media-driver git server
9(https://github.com/intel/media-driver.git) as of pull request
10https://github.com/intel/media-driver/pull/1221
11
12Upstream-status: Submitted
13Signed-off-by: jinchung <jin.chung.teng@intel.com>
14---
15 .../agnostic/common/codec/hal/codechal_decode_scalability.cpp | 5 +----
16 media_driver/agnostic/common/os/mos_os.h | 3 ++-
17 media_driver/agnostic/common/os/mos_utilities.cpp | 2 +-
18 media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.h | 5 +----
19 .../agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp | 8 +++-----
20 media_driver/agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.h | 5 +----
21 media_driver/linux/common/os/mos_os_specific.c | 2 +-
22 7 files changed, 10 insertions(+), 20 deletions(-)
23 mode change 100644 => 100755 media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp
24 mode change 100644 => 100755 media_driver/agnostic/common/os/mos_os.h
25 mode change 100644 => 100755 media_driver/agnostic/common/os/mos_utilities.cpp
26 mode change 100644 => 100755 media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.h
27 mode change 100644 => 100755 media_driver/agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp
28 mode change 100644 => 100755 media_driver/agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.h
29 mode change 100644 => 100755 media_driver/linux/common/os/mos_os_specific.c
30
31diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp
32old mode 100644
33new mode 100755
34index a7719c1..f6d71ef
35--- a/media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp
36+++ b/media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp
37@@ -1968,10 +1968,7 @@ MOS_STATUS CodecHalDecodeScalability_InitializeState (
38 vdboxNum = vdboxMfxInterface->GetNumVdbox();
39
40 if (vdboxNum < 2
41-#if (_DEBUG || _RELEASE_INTERNAL)
42- || !osInterface->bHcpDecScalabilityMode
43-#endif
44- )
45+ || !osInterface->bHcpDecScalabilityMode)
46 {
47 eStatus = MOS_STATUS_INVALID_PARAMETER;
48 CODECHAL_DECODE_ASSERTMESSAGE("not support scalability on this platform.");
49diff --git a/media_driver/agnostic/common/os/mos_os.h b/media_driver/agnostic/common/os/mos_os.h
50old mode 100644
51new mode 100755
52index dafa184..f59f1ff
53--- a/media_driver/agnostic/common/os/mos_os.h
54+++ b/media_driver/agnostic/common/os/mos_os.h
55@@ -1406,9 +1406,10 @@ typedef struct _MOS_INTERFACE
56 #endif // MOS_MEDIASOLO_SUPPORTED
57 bool VEEnable;
58 bool bCanEnableSecureRt;
59+
60+ int32_t bHcpDecScalabilityMode; //!< enable scalability decode {mode: default, user force, false}
61 #if (_DEBUG || _RELEASE_INTERNAL)
62 MOS_FORCE_VEBOX eForceVebox; //!< Force select Vebox
63- int32_t bHcpDecScalabilityMode; //!< enable scalability decode {mode: default, user force, false}
64 int32_t bEnableDbgOvrdInVE; //!< It is for all scalable engines: used together with KMD VE for UMD to specify an engine directly
65 int32_t bSoftReset; //!< trigger soft reset
66 #endif // (_DEBUG || _RELEASE_INTERNAL)
67diff --git a/media_driver/agnostic/common/os/mos_utilities.cpp b/media_driver/agnostic/common/os/mos_utilities.cpp
68old mode 100644
69new mode 100755
70index 74c46e7..15ced88
71--- a/media_driver/agnostic/common/os/mos_utilities.cpp
72+++ b/media_driver/agnostic/common/os/mos_utilities.cpp
73@@ -3858,7 +3858,7 @@ static MOS_USER_FEATURE_VALUE MOSUserFeatureDescFields[__MOS_USER_FEATURE_KEY_MA
74 MOS_USER_FEATURE_VALUE_TYPE_BOOL,
75 "0",
76 "TRUE for Enabling KMD Virtual Engine Debug Override. (Default FALSE: not override"),
77- MOS_DECLARE_UF_KEY_DBGONLY(__MEDIA_USER_FEATURE_VALUE_ENABLE_HCP_SCALABILITY_DECODE_ID,
78+ MOS_DECLARE_UF_KEY(__MEDIA_USER_FEATURE_VALUE_ENABLE_HCP_SCALABILITY_DECODE_ID,
79 "Enable HCP Scalability Decode",
80 __MEDIA_USER_FEATURE_SUBKEY_INTERNAL,
81 __MEDIA_USER_FEATURE_SUBKEY_REPORT,
82diff --git a/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.h b/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.h
83old mode 100644
84new mode 100755
85index ca6f30b..79e60b3
86--- a/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.h
87+++ b/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_mfx_g11_X.h
88@@ -119,11 +119,8 @@ public:
89 m_osInterface = osInterface;
90
91 if (m_numVdbox > 1
92-#if (_DEBUG || _RELEASE_INTERNAL)
93 && m_osInterface != nullptr
94- && m_osInterface->bHcpDecScalabilityMode
95-#endif
96- )
97+ && m_osInterface->bHcpDecScalabilityMode)
98 {
99 m_scalabilitySupported = true;
100 }
101diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp
102old mode 100644
103new mode 100755
104index 857397b..6a6d3a8
105--- a/media_driver/agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp
106+++ b/media_driver/agnostic/gen12/codec/hal/codechal_decode_scalability_g12.cpp
107@@ -927,10 +927,7 @@ MOS_STATUS CodecHalDecodeScalability_InitializeState_G12(
108 vdboxNum = vdboxMfxInterface->GetNumVdbox();
109
110 if (vdboxNum < 2
111-#if (_DEBUG || _RELEASE_INTERNAL)
112- || !osInterface->bHcpDecScalabilityMode
113-#endif
114- )
115+ || !osInterface->bHcpDecScalabilityMode)
116 {
117 eStatus = MOS_STATUS_INVALID_PARAMETER;
118 CODECHAL_DECODE_ASSERTMESSAGE("not support scalability on this platform.");
119@@ -1587,13 +1584,14 @@ MOS_STATUS CodecHalDecodeScalability_DecidePipeNum_G12(
120 bCanEnableRealTile = !(static_cast<PCODECHAL_DECODE_SCALABILITY_STATE_G12>(pScalState))->bDisableRtMode;
121 if (!pScalStateG12->bEnableRtMultiPhase)
122 u8MaxTileColumn = 2;
123+#endif
124 if(!bCanEnableScalability
125 && pOsInterface
126 && (pOsInterface->bHcpDecScalabilityMode == MOS_SCALABILITY_ENABLE_MODE_USER_FORCE))
127 {
128 bCanEnableScalability = true;
129 }
130-#endif
131+
132 bCanEnableRealTile = bCanEnableRealTile && pInitParamsG12->bIsTileEnabled && (pInitParams->u8NumTileColumns > 1) &&
133 (pInitParams->u8NumTileColumns <= u8MaxTileColumn) && (pInitParams->u8NumTileRows <= HEVC_NUM_MAX_TILE_ROW) &&
134 pInitParamsG12->bHasSubsetParams;
135diff --git a/media_driver/agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.h b/media_driver/agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.h
136old mode 100644
137new mode 100755
138index 88f37f2..4af87aa
139--- a/media_driver/agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.h
140+++ b/media_driver/agnostic/gen12/hw/vdbox/mhw_vdbox_mfx_g12_X.h
141@@ -118,11 +118,8 @@ public:
142
143 m_osInterface = osInterface;
144 if (m_numVdbox > 1
145-#if (_DEBUG || _RELEASE_INTERNAL)
146 && m_osInterface != nullptr
147- && m_osInterface->bHcpDecScalabilityMode
148-#endif
149- )
150+ && m_osInterface->bHcpDecScalabilityMode)
151 {
152 m_scalabilitySupported = true;
153 }
154diff --git a/media_driver/linux/common/os/mos_os_specific.c b/media_driver/linux/common/os/mos_os_specific.c
155old mode 100644
156new mode 100755
157index b07739a..610f2ae
158--- a/media_driver/linux/common/os/mos_os_specific.c
159+++ b/media_driver/linux/common/os/mos_os_specific.c
160@@ -7286,7 +7286,6 @@ static MOS_STATUS Mos_Specific_InitInterface_Ve(
161 osInterface->bGucSubmission = true;
162 }
163
164-#if (_DEBUG || _RELEASE_INTERNAL)
165 //Read Scalable/Legacy Decode mode on Gen11+
166 //1:by default for scalable decode mode
167 //0:for legacy decode mode
168@@ -7304,6 +7303,7 @@ static MOS_STATUS Mos_Specific_InitInterface_Ve(
169 osInterface->bHcpDecScalabilityMode = MOS_SCALABILITY_ENABLE_MODE_USER_FORCE;
170 }
171
172+#if (_DEBUG || _RELEASE_INTERNAL)
173 osInterface->frameSplit = false;
174 MOS_ZeroMemory(&userFeatureData, sizeof(userFeatureData));
175 MOS_UserFeature_ReadValue_ID(
176--
1772.7.4
178
diff --git a/recipes-multimedia/libva/files/0001-VP-Fix-2pass-CSC-PROCAMP-not-work-issue.patch b/recipes-multimedia/libva/files/0001-VP-Fix-2pass-CSC-PROCAMP-not-work-issue.patch
deleted file mode 100644
index ec1dfe56..00000000
--- a/recipes-multimedia/libva/files/0001-VP-Fix-2pass-CSC-PROCAMP-not-work-issue.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From c7a9e55eb20cbaf12326bdffb57f881febe1e9c2 Mon Sep 17 00:00:00 2001
2From: Jay Yang <jay.yang@intel.com>
3Date: Fri, 2 Jul 2021 10:02:51 +0000
4Subject: [PATCH] [VP] Fix 2pass CSC PROCAMP not work issue
5
6Enable PROCAMP when 2pass CSC is also enabled.
7Fixes: #1138
8Signed off by: jay.yang@intel.com
9
10This patch was importaed from iHD media-driver git server
11(https://github.com/intel/media-driver.git) as of commit id
1206905e60e8aacc86828e79b1431188ba6ed46268
13
14Upstream-status: Backport
15Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16---
17 media_driver/agnostic/common/vp/hal/vphal_render_vebox_base.cpp | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_vebox_base.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_vebox_base.cpp
21index edea839e..20634286 100644
22--- a/media_driver/agnostic/common/vp/hal/vphal_render_vebox_base.cpp
23+++ b/media_driver/agnostic/common/vp/hal/vphal_render_vebox_base.cpp
24@@ -2502,6 +2502,7 @@ void VPHAL_VEBOX_STATE::VeboxSetRenderingFlags(
25 pSrc->ColorSpace != pRenderTarget->ColorSpace);
26
27 pRenderData->bProcamp = ((IS_VPHAL_OUTPUT_PIPE_VEBOX(pRenderData) ||
28+ pRenderData->b2PassesCSC ||
29 IS_VPHAL_OUTPUT_PIPE_SFC(pRenderData)) &&
30 pSrc->pProcampParams &&
31 pSrc->pProcampParams->bEnabled);
32--
332.17.1
34
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_21.2.3.bb b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
index fed52120..d2ab0f43 100644
--- a/recipes-multimedia/libva/intel-media-driver_21.2.3.bb
+++ b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb
@@ -19,12 +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-VP-Fix-2pass-CSC-PROCAMP-not-work-issue.patch \ 22 file://0003-Force-ARGB-surface-to-tile4-for-ACM.patch \
23 file://0001-Expose-the-reg-to-disable-scalability.patch \ 23 file://0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \
24 " 24 "
25 25
26SRCREV = "008fb3b400dd906276f999eeaef3f49d52fd3d05" 26SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8"
27S = "${WORKDIR}/git"
28 27
29COMPATIBLE_HOST:x86-x32 = "null" 28COMPATIBLE_HOST:x86-x32 = "null"
30 29
diff --git a/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch b/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch
deleted file mode 100644
index f7de9d16..00000000
--- a/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,96 +0,0 @@
1From f2e6d2ecfea635ab952649156e31ca893d4b1a47 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Aug 2017 08:49:20 -0700
4Subject: [PATCH] Fix build with clang
5
6Fix errors e.g.
7error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
8
9and
10
11psnr.cpp:225:17: error: bool literal returned from 'main' [-Werror,-Wmain]
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14Upstream-Status: Pending
15
16---
17 tests/decodehelp.cpp | 2 +-
18 tests/encodehelp.h | 2 +-
19 tests/vpp.cpp | 2 +-
20 tests/yamitranscode.cpp | 2 +-
21 testscripts/psnr.cpp | 4 ++--
22 5 files changed, 6 insertions(+), 6 deletions(-)
23
24diff --git a/tests/decodehelp.cpp b/tests/decodehelp.cpp
25index b27b977..62cca63 100644
26--- a/tests/decodehelp.cpp
27+++ b/tests/decodehelp.cpp
28@@ -81,7 +81,7 @@ bool processCmdLine(int argc, char** argv, DecodeParameter* parameters)
29 { NULL, no_argument, NULL, 0 }
30 };
31
32- char opt;
33+ int opt;
34 while ((opt = getopt_long_only(argc, argv, "h:m:n:i:f:o:w:?", long_opts,&option_index)) != -1){
35 switch (opt) {
36 case 'h':
37diff --git a/tests/encodehelp.h b/tests/encodehelp.h
38index 63580a4..651ec08 100644
39--- a/tests/encodehelp.h
40+++ b/tests/encodehelp.h
41@@ -109,7 +109,7 @@ static VideoRateControl string_to_rc_mode(char *str)
42
43 static bool process_cmdline(int argc, char *argv[])
44 {
45- char opt;
46+ int opt;
47 const struct option long_opts[] = {
48 { "help", no_argument, NULL, 'h' },
49 { "qp", required_argument, NULL, 0 },
50diff --git a/tests/vpp.cpp b/tests/vpp.cpp
51index 5a60c0a..52da43b 100644
52--- a/tests/vpp.cpp
53+++ b/tests/vpp.cpp
54@@ -151,7 +151,7 @@ public:
55 private:
56 bool processCmdLine(int argc, char* argv[])
57 {
58- char opt;
59+ int opt;
60 const struct option long_opts[] = {
61 { "help", no_argument, NULL, 'h' },
62 { "sharpening", required_argument, NULL, 's' },
63diff --git a/tests/yamitranscode.cpp b/tests/yamitranscode.cpp
64index 6207209..00164ce 100755
65--- a/tests/yamitranscode.cpp
66+++ b/tests/yamitranscode.cpp
67@@ -100,7 +100,7 @@ static VideoRateControl string_to_rc_mode(char *str)
68
69 static bool processCmdLine(int argc, char *argv[], TranscodeParams& para)
70 {
71- char opt;
72+ int opt;
73 const struct option long_opts[] = {
74 { "help", no_argument, NULL, 'h' },
75 { "qp", required_argument, NULL, 0 },
76diff --git a/testscripts/psnr.cpp b/testscripts/psnr.cpp
77index 5cc24c9..68bd668 100644
78--- a/testscripts/psnr.cpp
79+++ b/testscripts/psnr.cpp
80@@ -215,14 +215,14 @@ int main(int argc, char *argv[])
81 const char* psnrresult = "average_psnr.txt";
82 int width=0,height=0;
83 int standardpsnr = NORMAL_PSNR;
84- char opt;
85+ int opt;
86 while ((opt = getopt(argc, argv, "h:W:H:i:o:s:?")) != -1)
87 {
88 switch (opt) {
89 case 'h':
90 case '?':
91 print_help(argv[0]);
92- return false;
93+ return -1;
94 case 'i':
95 filename1 = optarg;
96 break;
diff --git a/recipes-multimedia/libyami/libyami-utils_1.3.2.bb b/recipes-multimedia/libyami/libyami-utils_1.3.2.bb
deleted file mode 100644
index f9333f3d..00000000
--- a/recipes-multimedia/libyami/libyami-utils_1.3.2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Applications and Scripts for libyami."
2DESCRIPTION = "Applications and Scripts for libyami."
3
4HOMEPAGE = "https://github.com/intel/libyami-utils"
5BUGTRACKER = "https://github.com/intel/libyami-utils/issues/new"
6
7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
9
10SRC_URI = "git://github.com/intel/libyami-utils.git \
11 file://0001-Fix-build-with-clang.patch \
12 "
13SRCREV = "c3d25b64b05aeb0c4eecc140aef617cfeced6b8e"
14S = "${WORKDIR}/git"
15
16DEPENDS = "libva libyami"
17
18inherit autotools pkgconfig features_check
19
20REQUIRED_DISTRO_FEATURES = "opengl"
21
22PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
23
24# --enable-x11 needs libva-x11
25# gles-tests fail to build without x11: see https://github.com/intel/libyami-utils/issues/91
26PACKAGECONFIG[x11] = "--enable-x11 --enable-egl,--disable-x11 --disable-egl, virtual/libx11"
diff --git a/recipes-multimedia/libyami/libyami_1.3.2.bb b/recipes-multimedia/libyami/libyami_1.3.2.bb
deleted file mode 100644
index 1eff8c9b..00000000
--- a/recipes-multimedia/libyami/libyami_1.3.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "Yami is media infrastructure base on libva"
2DESCRIPTION = "Yet Another Media Infrastructure \
3light weight hardware codec library base on VA-API "
4
5HOMEPAGE = "https://github.com/intel/libyami"
6BUGTRACKER = "https://github.com/intel/libyami/issues/new"
7
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57"
10
11SRC_URI = "git://github.com/intel/libyami.git;branch=apache \
12"
13SRCREV = "08606d0a43e0ef15e5b61cc13563169370ce8715"
14S = "${WORKDIR}/git"
15
16CXXFLAGS:append = " -Wno-error"
17
18PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}"
19PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender"
20
21DEPENDS = "libva"
22inherit autotools pkgconfig features_check
23
24REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/recipes-multimedia/mediasdk/files/0001-Add-support-of-DRM_FORMAT_NV12-for-console-mode-rend.patch b/recipes-multimedia/mediasdk/files/0001-Add-support-of-DRM_FORMAT_NV12-for-console-mode-rend.patch
deleted file mode 100644
index 4b3c650e..00000000
--- a/recipes-multimedia/mediasdk/files/0001-Add-support-of-DRM_FORMAT_NV12-for-console-mode-rend.patch
+++ /dev/null
@@ -1,146 +0,0 @@
1From a1216ce48771a2c7cf690d148d64c2797a960720 Mon Sep 17 00:00:00 2001
2From: "Sodhi, Vunny" <vunny.sodhi@intel.com>
3Date: Fri, 28 May 2021 11:40:21 +0800
4Subject: [meta-intel][PATCH] Add support of DRM_FORMAT_NV12 for console mode rendering
5
6Currently in drm/console mode only RGB4 direct rendering
7is possible. This patch add NV12 format provided your
8platform and kernel can support it.
9
10Tested both formats using:
11sample_encode h265 -i 4k.h265 -rdrm -nv12
12sample_encode h265 -i 4k.h265 -rdrm -rgb4
13
14Issue: #2675
15
16Upstream-Status: Backport
17https://github.com/Intel-Media-SDK/MediaSDK/pull/2704
18
19Signed-off: Fu, Wei A <wei.a.fu@intel.com>
20Signed-off-by: Sodhi, Vunny <vunny.sodhi@intel.com>
21---
22 samples/sample_common/include/vaapi_utils.h | 4 +++
23 samples/sample_common/src/vaapi_allocator.cpp | 1 +
24 samples/sample_common/src/vaapi_utils.cpp | 1 +
25 samples/sample_common/src/vaapi_utils_drm.cpp | 45 ++++++++++++++++++++++++---
26 4 files changed, 46 insertions(+), 5 deletions(-)
27
28diff --git a/samples/sample_common/include/vaapi_utils.h b/samples/sample_common/include/vaapi_utils.h
29index 49589c6..39f77b9 100644
30--- a/samples/sample_common/include/vaapi_utils.h
31+++ b/samples/sample_common/include/vaapi_utils.h
32@@ -154,6 +154,9 @@ namespace MfxLoader
33 int fd, uint32_t width, uint32_t height, uint8_t depth,
34 uint8_t bpp, uint32_t pitch, uint32_t bo_handle,
35 uint32_t *buf_id);
36+ typedef int (*drmModeAddFB2WithModifiers_type)(int fd, uint32_t width, uint32_t height, uint32_t pixel_format,
37+ uint32_t bo_handles[4], uint32_t pitches[4], uint32_t offsets[4], uint64_t modifier[4],
38+ uint32_t *buf_id, uint32_t flags);
39 typedef void (*drmModeFreeConnector_type)( drmModeConnectorPtr ptr );
40 typedef void (*drmModeFreeCrtc_type)( drmModeCrtcPtr ptr );
41 typedef void (*drmModeFreeEncoder_type)( drmModeEncoderPtr ptr );
42@@ -188,6 +191,7 @@ namespace MfxLoader
43 #define __DECLARE(name) const name ## _type name
44 __DECLARE(drmIoctl);
45 __DECLARE(drmModeAddFB);
46+ __DECLARE(drmModeAddFB2WithModifiers);
47 __DECLARE(drmModeFreeConnector);
48 __DECLARE(drmModeFreeCrtc);
49 __DECLARE(drmModeFreeEncoder);
50diff --git a/samples/sample_common/src/vaapi_allocator.cpp b/samples/sample_common/src/vaapi_allocator.cpp
51index bf20b0d..442eca0 100644
52--- a/samples/sample_common/src/vaapi_allocator.cpp
53+++ b/samples/sample_common/src/vaapi_allocator.cpp
54@@ -408,6 +408,7 @@ mfxStatus vaapiFrameAllocator::AllocImpl(mfxFrameAllocRequest *request, mfxFrame
55 }
56 }
57 if (m_exporter) {
58+ vaapi_mids[i].m_fourcc = va_fourcc;
59 vaapi_mids[i].m_custom = m_exporter->acquire(&vaapi_mids[i]);
60 if (!vaapi_mids[i].m_custom) {
61 mfx_res = MFX_ERR_UNKNOWN;
62diff --git a/samples/sample_common/src/vaapi_utils.cpp b/samples/sample_common/src/vaapi_utils.cpp
63index 680c5c3..83ba46c 100644
64--- a/samples/sample_common/src/vaapi_utils.cpp
65+++ b/samples/sample_common/src/vaapi_utils.cpp
66@@ -111,6 +111,7 @@ DRM_Proxy::DRM_Proxy()
67 : lib("libdrm.so.2")
68 , SIMPLE_LOADER_FUNCTION(drmIoctl)
69 , SIMPLE_LOADER_FUNCTION(drmModeAddFB)
70+ , SIMPLE_LOADER_FUNCTION(drmModeAddFB2WithModifiers)
71 , SIMPLE_LOADER_FUNCTION(drmModeFreeConnector)
72 , SIMPLE_LOADER_FUNCTION(drmModeFreeCrtc)
73 , SIMPLE_LOADER_FUNCTION(drmModeFreeEncoder)
74diff --git a/samples/sample_common/src/vaapi_utils_drm.cpp b/samples/sample_common/src/vaapi_utils_drm.cpp
75index 9663245..5ad73dd 100644
76--- a/samples/sample_common/src/vaapi_utils_drm.cpp
77+++ b/samples/sample_common/src/vaapi_utils_drm.cpp
78@@ -28,6 +28,7 @@ or https://software.intel.com/en-us/media-client-solutions-support.
79
80 #include "vaapi_utils_drm.h"
81 #include <drm_fourcc.h>
82+#include "i915_drm.h"
83
84 constexpr mfxU32 MFX_DRI_MAX_NODES_NUM = 16;
85 constexpr mfxU32 MFX_DRI_RENDER_START_INDEX = 128;
86@@ -343,7 +344,8 @@ bool drmRenderer::getPlane()
87 if (plane) {
88 if (plane->possible_crtcs & (1 << m_crtcIndex)) {
89 for (uint32_t j = 0; j < plane->count_formats; ++j) {
90- if (plane->formats[j] == DRM_FORMAT_XRGB8888) {
91+ if ((plane->formats[j] == DRM_FORMAT_XRGB8888)
92+ || (plane->formats[j] == DRM_FORMAT_NV12)) {
93 m_planeID = plane->plane_id;
94 m_drmlib.drmModeFreePlane(plane);
95 m_drmlib.drmModeFreePlaneResources(planes);
96@@ -420,10 +422,43 @@ void* drmRenderer::acquire(mfxMemId mid)
97 int ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_GEM_OPEN, &flink_open);
98 if (ret) return NULL;
99
100- ret = m_drmlib.drmModeAddFB(m_fd,
101- vmid->m_image.width, vmid->m_image.height,
102- 24, 32, vmid->m_image.pitches[0],
103- flink_open.handle, &fbhandle);
104+ uint32_t handles[4], pitches[4], offsets[4], pixel_format;
105+ uint64_t modifiers[4];
106+
107+ memset(&handles, 0, sizeof(handles));
108+ memset(&pitches, 0, sizeof(pitches));
109+ memset(&offsets, 0, sizeof(offsets));
110+ memset(&modifiers, 0, sizeof(modifiers));
111+
112+ handles[0] = flink_open.handle;
113+ pitches[0] = vmid->m_image.pitches[0];
114+ offsets[0] = vmid->m_image.offsets[0];
115+
116+ if (VA_FOURCC_NV12 == vmid->m_fourcc) {
117+ struct drm_i915_gem_set_tiling set_tiling;
118+
119+ pixel_format = DRM_FORMAT_NV12;
120+ memset(&set_tiling, 0, sizeof(set_tiling));
121+ set_tiling.handle = flink_open.handle;
122+ set_tiling.tiling_mode = I915_TILING_Y;
123+ set_tiling.stride = vmid->m_image.pitches[0];
124+ ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);
125+ if (ret) {
126+ msdk_printf(MSDK_STRING("DRM_IOCTL_I915_GEM_SET_TILING Failed ret = %d\n"),ret);
127+ return NULL;
128+ }
129+
130+ handles[1] = flink_open.handle;
131+ pitches[1] = vmid->m_image.pitches[1];
132+ offsets[1] = vmid->m_image.offsets[1];
133+ modifiers[0] = modifiers[1] = I915_FORMAT_MOD_Y_TILED;
134+ }
135+ else {
136+ pixel_format = DRM_FORMAT_XRGB8888;
137+ }
138+
139+ ret = m_drmlib.drmModeAddFB2WithModifiers(m_fd, vmid->m_image.width, vmid->m_image.height,
140+ pixel_format, handles, pitches, offsets, modifiers, &fbhandle, 0);
141 if (ret) return NULL;
142
143 MSDK_ZERO_MEMORY(flink_close);
144--
1452.7.4
146
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/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch b/recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch
deleted file mode 100644
index c249c176..00000000
--- a/recipes-multimedia/mediasdk/files/0001-Fixed-tile-modifier-issue-for-NV12-format.patch
+++ /dev/null
@@ -1,49 +0,0 @@
1From 3fc9fe078c850643f8070cce1d2b0307a9014523 Mon Sep 17 00:00:00 2001
2From: "Sodhi, Vunny" <vunny.sodhi@intel.com>
3Date: Fri, 13 Aug 2021 12:09:26 +0800
4Subject: [meta-intel][PATCH] Fixed tile modifier issue for NV12 format
5
6If we are using I915_FORMAT_MOD_Y_TILED which is needed for
7NV12 format then modifiers need to be enabled which can be passed
8as flags argument to ioctl.
9
10Upstream-Status: Submitted
11https://github.com/Intel-Media-SDK/MediaSDK/pull/2755
12
13Signed-off-by: Sodhi, Vunny <vunny.sodhi@intel.com>
14---
15 samples/sample_common/src/vaapi_utils_drm.cpp | 5 +++--
16 1 file changed, 3 insertions(+), 2 deletions(-)
17
18diff --git a/samples/sample_common/src/vaapi_utils_drm.cpp b/samples/sample_common/src/vaapi_utils_drm.cpp
19index 5ad73dd..73c8bd2 100644
20--- a/samples/sample_common/src/vaapi_utils_drm.cpp
21+++ b/samples/sample_common/src/vaapi_utils_drm.cpp
22@@ -422,7 +422,7 @@ void* drmRenderer::acquire(mfxMemId mid)
23 int ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_GEM_OPEN, &flink_open);
24 if (ret) return NULL;
25
26- uint32_t handles[4], pitches[4], offsets[4], pixel_format;
27+ uint32_t handles[4], pitches[4], offsets[4], pixel_format, flags = 0;
28 uint64_t modifiers[4];
29
30 memset(&handles, 0, sizeof(handles));
31@@ -452,13 +452,14 @@ void* drmRenderer::acquire(mfxMemId mid)
32 pitches[1] = vmid->m_image.pitches[1];
33 offsets[1] = vmid->m_image.offsets[1];
34 modifiers[0] = modifiers[1] = I915_FORMAT_MOD_Y_TILED;
35+ flags = 2; // DRM_MODE_FB_MODIFIERS (1<<1) /* enables ->modifer[]
36 }
37 else {
38 pixel_format = DRM_FORMAT_XRGB8888;
39 }
40
41 ret = m_drmlib.drmModeAddFB2WithModifiers(m_fd, vmid->m_image.width, vmid->m_image.height,
42- pixel_format, handles, pitches, offsets, modifiers, &fbhandle, 0);
43+ pixel_format, handles, pitches, offsets, modifiers, &fbhandle, flags);
44 if (ret) return NULL;
45
46 MSDK_ZERO_MEMORY(flink_close);
47--
482.7.4
49
diff --git a/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb b/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.bb
deleted file mode 100644
index 4f2690db..00000000
--- a/recipes-multimedia/mediasdk/intel-mediasdk_21.2.3.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 += "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 file://0001-Add-support-of-DRM_FORMAT_NV12-for-console-mode-rend.patch \
37 file://0001-Fixed-tile-modifier-issue-for-NV12-format.patch \
38 "
39
40SRCREV = "24b964e32692f68ed01aad73850bdaa440c2fcd7"
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-intel-gpu/0001-jpegd-Enable-JPEG-decode-error-report.patch b/recipes-multimedia/onevpl/onevpl-intel-gpu/0001-jpegd-Enable-JPEG-decode-error-report.patch
deleted file mode 100644
index 21482ed7..00000000
--- a/recipes-multimedia/onevpl/onevpl-intel-gpu/0001-jpegd-Enable-JPEG-decode-error-report.patch
+++ /dev/null
@@ -1,502 +0,0 @@
1From fe25ec3db9a48308bd6d3e9fe800e67335f8a369 Mon Sep 17 00:00:00 2001
2From: "Yew, Chang Ching" <chang.ching.yew@intel.com>
3Date: Mon, 4 Oct 2021 13:56:08 +0800
4Subject: [PATCH] [jpegd] Enable JPEG decode error report
5
6Upstream-Status: Submitted
7innersource PR #3318
8
9[Internal]
10 Issue: NA
11 Test: manual. Gst-MSDK with mfxExtDecodeErrorReport
12 OSPR: N/A
13
14Signed-off-by: Cheah, Vincent Beng Keat vincent.beng.keat.cheah@intel.com>
15---
16 .../mjpeg/include/mfx_mjpeg_dec_decode.h | 2 ++
17 .../decode/mjpeg/src/mfx_mjpeg_dec_decode.cpp | 19 ++++++++++-
18 .../umc/codec/jpeg_dec/include/jpegdec.h | 1 +
19 .../umc/codec/jpeg_dec/include/jpegdec_base.h | 19 +++++++++++
20 .../jpeg_dec/include/umc_mjpeg_mfx_decode.h | 2 +-
21 .../include/umc_mjpeg_mfx_decode_base.h | 4 +--
22 .../shared/umc/codec/jpeg_dec/src/jpegdec.cpp | 17 ++++++++--
23 .../umc/codec/jpeg_dec/src/jpegdec_base.cpp | 29 +++++++++++++++-
24 .../jpeg_dec/src/umc_mjpeg_mfx_decode.cpp | 6 ++--
25 .../src/umc_mjpeg_mfx_decode_base.cpp | 6 ++--
26 api/vpl/mfxstructures.h | 33 +++++++++++++++----
27 11 files changed, 121 insertions(+), 17 deletions(-)
28
29diff --git a/_studio/mfx_lib/decode/mjpeg/include/mfx_mjpeg_dec_decode.h b/_studio/mfx_lib/decode/mjpeg/include/mfx_mjpeg_dec_decode.h
30index c6641d3e71..a2ea6b5cec 100644
31--- a/_studio/mfx_lib/decode/mjpeg/include/mfx_mjpeg_dec_decode.h
32+++ b/_studio/mfx_lib/decode/mjpeg/include/mfx_mjpeg_dec_decode.h
33@@ -37,6 +37,7 @@
34 #endif
35
36 #include "mfx_task.h"
37+#include "umc_media_data.h"
38
39 #include "mfx_vpp_jpeg.h"
40
41@@ -46,6 +47,7 @@ namespace UMC
42 class JpegFrameConstructor;
43 class MediaDataEx;
44 class FrameData;
45+ class MediaData;
46 };
47
48 class VideoDECODEMJPEGBase
49diff --git a/_studio/mfx_lib/decode/mjpeg/src/mfx_mjpeg_dec_decode.cpp b/_studio/mfx_lib/decode/mjpeg/src/mfx_mjpeg_dec_decode.cpp
50index 3769fe8a72..0775fbb1be 100644
51--- a/_studio/mfx_lib/decode/mjpeg/src/mfx_mjpeg_dec_decode.cpp
52+++ b/_studio/mfx_lib/decode/mjpeg/src/mfx_mjpeg_dec_decode.cpp
53@@ -456,6 +456,14 @@ mfxStatus VideoDECODEMJPEG::DecodeHeader(VideoCORE *core, mfxBitstream *bs, mfxV
54 UMC::Status umcRes = decoder.Init(&umcVideoParams);
55 MFX_CHECK_INIT(umcRes == UMC::UMC_OK);
56
57+ mfxExtBuffer* extbuf = (bs) ? GetExtendedBuffer(bs->ExtParam, bs->NumExtParam, MFX_EXTBUFF_DECODE_ERROR_REPORT) : NULL;
58+
59+ if (extbuf)
60+ {
61+ reinterpret_cast<mfxExtDecodeErrorReport *>(extbuf)->ErrorTypes = 0;
62+ in.SetExtBuffer(extbuf);
63+ }
64+
65 umcRes = decoder.DecodeHeader(&in);
66
67 in.Save(bs);
68@@ -770,6 +778,14 @@ mfxStatus VideoDECODEMJPEG::DecodeFrameCheck(mfxBitstream *bs, mfxFrameSurface1
69 MFXMediaDataAdapter src(bs);
70 UMC::MediaDataEx *pSrcData;
71
72+ mfxExtBuffer* extbuf = (bs) ? GetExtendedBuffer(bs->ExtParam, bs->NumExtParam, MFX_EXTBUFF_DECODE_ERROR_REPORT) : NULL;
73+
74+ if (extbuf)
75+ {
76+ reinterpret_cast<mfxExtDecodeErrorReport *>(extbuf)->ErrorTypes = 0;
77+ src.SetExtBuffer(extbuf);
78+ }
79+
80 if (!m_isHeaderFound && bs)
81 {
82 umcRes = pMJPEGVideoDecoder->FindStartOfImage(&src);
83@@ -785,7 +801,8 @@ mfxStatus VideoDECODEMJPEG::DecodeFrameCheck(mfxBitstream *bs, mfxFrameSurface1
84
85 if (!m_isHeaderParsed && bs)
86 {
87- umcRes = pMJPEGVideoDecoder->_GetFrameInfo((uint8_t*)src.GetDataPointer(), src.GetDataSize());
88+ umcRes = pMJPEGVideoDecoder->_GetFrameInfo((uint8_t*)src.GetDataPointer(), src.GetDataSize(), &src);
89+
90 if (umcRes != UMC::UMC_OK)
91 {
92 if(umcRes != UMC::UMC_ERR_NOT_ENOUGH_DATA)
93diff --git a/_studio/shared/umc/codec/jpeg_dec/include/jpegdec.h b/_studio/shared/umc/codec/jpeg_dec/include/jpegdec.h
94index 1e70931284..561e1c2889 100644
95--- a/_studio/shared/umc/codec/jpeg_dec/include/jpegdec.h
96+++ b/_studio/shared/umc/codec/jpeg_dec/include/jpegdec.h
97@@ -27,6 +27,7 @@
98 #include "omp.h"
99 #endif
100 #include "jpegdec_base.h"
101+#include "umc_media_data.h"
102
103 class CBaseStreamInput;
104
105diff --git a/_studio/shared/umc/codec/jpeg_dec/include/jpegdec_base.h b/_studio/shared/umc/codec/jpeg_dec/include/jpegdec_base.h
106index 5e9c139c2c..42647f871c 100644
107--- a/_studio/shared/umc/codec/jpeg_dec/include/jpegdec_base.h
108+++ b/_studio/shared/umc/codec/jpeg_dec/include/jpegdec_base.h
109@@ -29,6 +29,13 @@
110 #include "colorcomp.h"
111 #include "membuffin.h"
112 #include "bitstreamin.h"
113+#include "mfxstructures.h"
114+#include "umc_media_data.h"
115+
116+namespace UMC
117+{
118+ class MediaData;
119+};
120
121 class CJPEGDecoderBase
122 {
123@@ -146,6 +153,18 @@ public:
124 JERRCODE SkipMarker(void);
125
126 JERRCODE DetectSampling(void);
127+
128+ void SetDecodeErrorTypes(void);
129+
130+ void SetDecodeErrorReportParam(UMC::MediaData *in)
131+ {
132+ UMC::MediaData::AuxInfo* aux = (in) ? in->GetAuxInfo(MFX_EXTBUFF_DECODE_ERROR_REPORT) : NULL;
133+ m_pDecodeErrorReport = (aux) ? reinterpret_cast<mfxExtDecodeErrorReport*>(aux->ptr) : NULL;
134+ }
135+
136+protected:
137+ mfxExtDecodeErrorReport* m_pDecodeErrorReport;
138+
139 };
140
141 #endif // MFX_ENABLE_MJPEG_VIDEO_DECODE
142diff --git a/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode.h b/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode.h
143index fbe535cd95..2edd4d57a8 100644
144--- a/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode.h
145+++ b/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode.h
146@@ -94,7 +94,7 @@ public:
147 JCOLOR GetColorType();
148
149 // All memory sizes should come in size_t type
150- Status _GetFrameInfo(const uint8_t* pBitStream, size_t nSize);
151+ Status _GetFrameInfo(const uint8_t* pBitStream, size_t nSize, MediaData *in);
152
153 // Allocate the destination frame
154 Status AllocateFrame() override;
155diff --git a/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode_base.h b/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode_base.h
156index 9cee49e9c1..90ce5888ea 100644
157--- a/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode_base.h
158+++ b/_studio/shared/umc/codec/jpeg_dec/include/umc_mjpeg_mfx_decode_base.h
159@@ -63,7 +63,7 @@ public:
160 // Close decoding & free all allocated resources
161 virtual Status Close(void);
162
163- virtual Status GetFrame(UMC::MediaDataEx *, UMC::FrameData** , const mfxU32 ) { return MFX_ERR_NONE; };
164+ virtual Status GetFrame(UMC::MediaDataEx *, UMC::FrameData** , const mfxU32) { return MFX_ERR_NONE; };
165
166 virtual void SetFrameAllocator(FrameAllocator * frameAllocator);
167
168@@ -79,7 +79,7 @@ public:
169 Status FindStartOfImage(MediaData * in);
170
171 // All memory sizes should come in size_t type
172- Status _GetFrameInfo(const uint8_t* pBitStream, size_t nSize);
173+ Status _GetFrameInfo(const uint8_t* pBitStream, size_t nSize, MediaData *in);
174
175 Status SetRotation(uint16_t rotation);
176
177diff --git a/_studio/shared/umc/codec/jpeg_dec/src/jpegdec.cpp b/_studio/shared/umc/codec/jpeg_dec/src/jpegdec.cpp
178index 127133ae4c..54441dc534 100644
179--- a/_studio/shared/umc/codec/jpeg_dec/src/jpegdec.cpp
180+++ b/_studio/shared/umc/codec/jpeg_dec/src/jpegdec.cpp
181@@ -1120,6 +1120,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
182 jerr = ParseAPP0();
183 if(JPEG_OK != jerr)
184 {
185+ SetDecodeErrorTypes();
186 return jerr;
187 }
188 break;
189@@ -1128,6 +1129,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
190 jerr = ParseAPP1();
191 if(JPEG_OK != jerr)
192 {
193+ SetDecodeErrorTypes();
194 return jerr;
195 }
196 break;
197@@ -1136,6 +1138,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
198 jerr = ParseAPP14();
199 if(JPEG_OK != jerr)
200 {
201+ SetDecodeErrorTypes();
202 return jerr;
203 }
204 break;
205@@ -1152,6 +1155,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
206 jerr = ParseDQT();
207 if(JPEG_OK != jerr)
208 {
209+ SetDecodeErrorTypes();
210 return jerr;
211 }
212 break;
213@@ -1160,6 +1164,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
214 jerr = ParseSOF0();
215 if(JPEG_OK != jerr)
216 {
217+ SetDecodeErrorTypes();
218 return jerr;
219 }
220 break;
221@@ -1206,6 +1211,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
222 jerr = ParseDHT();
223 if(JPEG_OK != jerr)
224 {
225+ SetDecodeErrorTypes();
226 return jerr;
227 }
228 break;
229@@ -1214,6 +1220,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
230 jerr = ParseDRI();
231 if(JPEG_OK != jerr)
232 {
233+ SetDecodeErrorTypes();
234 return jerr;
235 }
236 break;
237@@ -1222,6 +1229,7 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
238 jerr = ParseSOS(op);
239 if(JPEG_OK != jerr)
240 {
241+ SetDecodeErrorTypes();
242 return jerr;
243 }
244
245@@ -1231,7 +1239,10 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
246 {
247 jerr = m_BitStreamIn.Seek(-(m_sos_len + 2));
248 if(JPEG_OK != jerr)
249+ {
250+ SetDecodeErrorTypes();
251 return jerr;
252+ }
253 }
254 else
255 {
256@@ -1246,7 +1257,10 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
257 {
258 jerr = ParseData();
259 if(JPEG_OK != jerr)
260+ {
261+ SetDecodeErrorTypes();
262 return jerr;
263+ }
264
265 }
266 break;
267@@ -1288,10 +1302,10 @@ JERRCODE CJPEGDecoder::ParseJPEGBitStream(JOPERATION op)
268 default:
269 TRC1("-> Unknown marker ",m_marker);
270 TRC0("..Skipping");
271+ SetDecodeErrorTypes();
272 jerr = SkipMarker();
273 if(JPEG_OK != jerr)
274 return jerr;
275-
276 break;
277 }
278 }
279@@ -4575,7 +4589,6 @@ JERRCODE CJPEGDecoder::ReadHeader(
280 JERRCODE CJPEGDecoder::ReadData(void)
281 {
282 return ParseJPEGBitStream(JO_READ_DATA);
283-
284 } // CJPEGDecoder::ReadData(void)
285
286 JERRCODE CJPEGDecoder::ReadData(uint32_t restartNum, uint32_t restartsToDecode)
287diff --git a/_studio/shared/umc/codec/jpeg_dec/src/jpegdec_base.cpp b/_studio/shared/umc/codec/jpeg_dec/src/jpegdec_base.cpp
288index d6244e827b..4409b51cee 100644
289--- a/_studio/shared/umc/codec/jpeg_dec/src/jpegdec_base.cpp
290+++ b/_studio/shared/umc/codec/jpeg_dec/src/jpegdec_base.cpp
291@@ -282,6 +282,23 @@ JERRCODE CJPEGDecoderBase::DetectSampling(void)
292 return JPEG_OK;
293 } // CJPEGDecoderBase::DetectSampling()
294
295+void CJPEGDecoderBase::SetDecodeErrorTypes(void)
296+{
297+ if (!m_pDecodeErrorReport)
298+ return;
299+
300+ switch (m_marker)
301+ {
302+ case JM_APP0: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_APP0_MARKER; break;
303+ case JM_APP14: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_APP14_MARKER; break;
304+ case JM_DQT: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_DQT_MARKER; break;
305+ case JM_SOF0: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_SOF0_MARKER; break;
306+ case JM_DHT: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_DHT_MARKER; break;
307+ case JM_DRI: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_DRI_MARKER; break;
308+ case JM_SOS: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_SOS_MARKER; break;
309+ default: m_pDecodeErrorReport->ErrorTypes |= MFX_ERROR_JPEG_UNKNOWN_MARKER; break;
310+ };
311+}
312
313 JERRCODE CJPEGDecoderBase::NextMarker(JMARKER* marker)
314 {
315@@ -1265,6 +1282,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
316 jerr = ParseAPP0();
317 if(JPEG_OK != jerr)
318 {
319+ SetDecodeErrorTypes();
320 return jerr;
321 }
322 break;
323@@ -1273,6 +1291,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
324 jerr = ParseAPP14();
325 if(JPEG_OK != jerr)
326 {
327+ SetDecodeErrorTypes();
328 return jerr;
329 }
330 break;
331@@ -1281,6 +1300,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
332 jerr = ParseDQT();
333 if(JPEG_OK != jerr)
334 {
335+ SetDecodeErrorTypes();
336 return jerr;
337 }
338 break;
339@@ -1289,6 +1309,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
340 jerr = ParseSOF0();
341 if(JPEG_OK != jerr)
342 {
343+ SetDecodeErrorTypes();
344 return jerr;
345 }
346 break;
347@@ -1311,6 +1332,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
348 jerr = ParseDHT();
349 if(JPEG_OK != jerr)
350 {
351+ SetDecodeErrorTypes();
352 return jerr;
353 }
354 break;
355@@ -1319,6 +1341,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
356 jerr = ParseDRI();
357 if(JPEG_OK != jerr)
358 {
359+ SetDecodeErrorTypes();
360 return jerr;
361 }
362 break;
363@@ -1327,6 +1350,7 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
364 jerr = ParseSOS(op);
365 if(JPEG_OK != jerr)
366 {
367+ SetDecodeErrorTypes();
368 return jerr;
369 }
370
371@@ -1336,7 +1360,10 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
372 {
373 jerr = m_BitStreamIn.Seek(-(m_sos_len + 2));
374 if(JPEG_OK != jerr)
375+ {
376+ SetDecodeErrorTypes();
377 return jerr;
378+ }
379 }
380 else
381 {
382@@ -1355,10 +1382,10 @@ JERRCODE CJPEGDecoderBase::ParseJPEGBitStream(JOPERATION op)
383 default:
384 TRC1("-> Unknown marker ",m_marker);
385 TRC0("..Skipping");
386+ SetDecodeErrorTypes();
387 jerr = SkipMarker();
388 if(JPEG_OK != jerr)
389 return jerr;
390-
391 break;
392 }
393 }
394diff --git a/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode.cpp b/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode.cpp
395index 01a513e883..0ffcfaf7ab 100644
396--- a/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode.cpp
397+++ b/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode.cpp
398@@ -378,7 +378,7 @@ Status MJPEGVideoDecoderMFX::DecodeHeader(MediaData* in)
399 }
400 }
401
402- Status sts = _GetFrameInfo((uint8_t*)in->GetDataPointer(), in->GetDataSize());
403+ Status sts = _GetFrameInfo((uint8_t*)in->GetDataPointer(), in->GetDataSize(), in);
404
405 if (sts == UMC_ERR_NOT_ENOUGH_DATA &&
406 (!(in->GetFlags() & MediaData::FLAG_VIDEO_DATA_NOT_FULL_FRAME) ||
407@@ -937,7 +937,7 @@ Status MJPEGVideoDecoderMFX::PostProcessing(double pts)
408 return UMC_OK;
409 }
410
411-Status MJPEGVideoDecoderMFX::_GetFrameInfo(const uint8_t* pBitStream, size_t nSize)
412+Status MJPEGVideoDecoderMFX::_GetFrameInfo(const uint8_t* pBitStream, size_t nSize, MediaData *in)
413 {
414 int32_t nchannels;
415 int32_t precision;
416@@ -945,6 +945,8 @@ Status MJPEGVideoDecoderMFX::_GetFrameInfo(const uint8_t* pBitStream, size_t nSi
417 JCOLOR color;
418 JERRCODE jerr;
419
420+ m_dec[0]->SetDecodeErrorReportParam(in);
421+
422 if (!m_IsInit)
423 return UMC_ERR_NOT_INITIALIZED;
424
425diff --git a/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode_base.cpp b/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode_base.cpp
426index 06fd1a681b..3150492ab2 100644
427--- a/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode_base.cpp
428+++ b/_studio/shared/umc/codec/jpeg_dec/src/umc_mjpeg_mfx_decode_base.cpp
429@@ -322,7 +322,7 @@ Status MJPEGVideoDecoderBaseMFX::DecodeHeader(MediaData* in)
430 }
431 }
432
433- Status sts = _GetFrameInfo((uint8_t*)in->GetDataPointer(), in->GetDataSize());
434+ Status sts = _GetFrameInfo((uint8_t*)in->GetDataPointer(), in->GetDataSize(), in);
435
436 if (sts == UMC_ERR_NOT_ENOUGH_DATA &&
437 (!(in->GetFlags() & MediaData::FLAG_VIDEO_DATA_NOT_FULL_FRAME) ||
438@@ -345,7 +345,7 @@ Status MJPEGVideoDecoderBaseMFX::SetRotation(uint16_t rotation)
439 return UMC_OK;
440 }
441
442-Status MJPEGVideoDecoderBaseMFX::_GetFrameInfo(const uint8_t* pBitStream, size_t nSize)
443+Status MJPEGVideoDecoderBaseMFX::_GetFrameInfo(const uint8_t* pBitStream, size_t nSize, MediaData *in)
444 {
445 int32_t nchannels;
446 int32_t precision;
447@@ -353,6 +353,8 @@ Status MJPEGVideoDecoderBaseMFX::_GetFrameInfo(const uint8_t* pBitStream, size_t
448 JCOLOR color;
449 JERRCODE jerr;
450
451+ m_decBase->SetDecodeErrorReportParam(in);
452+
453 if (!m_IsInit)
454 return UMC_ERR_NOT_INITIALIZED;
455
456diff --git a/api/vpl/mfxstructures.h b/api/vpl/mfxstructures.h
457index 879a431602..1bfdaf68c2 100644
458--- a/api/vpl/mfxstructures.h
459+++ b/api/vpl/mfxstructures.h
460@@ -3520,12 +3520,33 @@ MFX_PACK_END()
461
462 /*! The ErrorTypes enumerator uses bit-ORed values to itemize bitstream error types. */
463 enum {
464- MFX_ERROR_NO = 0, /*!< No error in bitstream. */
465- MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */
466- MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */
467- MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */
468- MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */
469- MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */
470+ MFX_ERROR_NO = 0, /*!< No error in bitstream. */
471+ MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */
472+ MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */
473+ MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */
474+ MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */
475+ MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */
476+ MFX_ERROR_JPEG_APP0_MARKER = (1 << 5), /*!< Invalid/corrupted APP0 marker. */
477+ MFX_ERROR_JPEG_APP1_MARKER = (1 << 6), /*!< Invalid/corrupted APP1 marker. */
478+ MFX_ERROR_JPEG_APP2_MARKER = (1 << 7), /*!< Invalid/corrupted APP2 marker. */
479+ MFX_ERROR_JPEG_APP3_MARKER = (1 << 8), /*!< Invalid/corrupted APP3 marker. */
480+ MFX_ERROR_JPEG_APP4_MARKER = (1 << 9), /*!< Invalid/corrupted APP4 marker. */
481+ MFX_ERROR_JPEG_APP5_MARKER = (1 << 10), /*!< Invalid/corrupted APP5 marker. */
482+ MFX_ERROR_JPEG_APP6_MARKER = (1 << 11), /*!< Invalid/corrupted APP6 marker. */
483+ MFX_ERROR_JPEG_APP7_MARKER = (1 << 12), /*!< Invalid/corrupted APP7 marker. */
484+ MFX_ERROR_JPEG_APP8_MARKER = (1 << 13), /*!< Invalid/corrupted APP8 marker. */
485+ MFX_ERROR_JPEG_APP9_MARKER = (1 << 14), /*!< Invalid/corrupted APP9 marker. */
486+ MFX_ERROR_JPEG_APP10_MARKER = (1 << 15), /*!< Invalid/corrupted APP10 marker. */
487+ MFX_ERROR_JPEG_APP11_MARKER = (1 << 16), /*!< Invalid/corrupted APP11 marker. */
488+ MFX_ERROR_JPEG_APP12_MARKER = (1 << 17), /*!< Invalid/corrupted APP12 marker. */
489+ MFX_ERROR_JPEG_APP13_MARKER = (1 << 18), /*!< Invalid/corrupted APP13 marker. */
490+ MFX_ERROR_JPEG_APP14_MARKER = (1 << 19), /*!< Invalid/corrupted APP14 marker. */
491+ MFX_ERROR_JPEG_DQT_MARKER = (1 << 20), /*!< Invalid/corrupted DQT marker. */
492+ MFX_ERROR_JPEG_SOF0_MARKER = (1 << 21), /*!< Invalid/corrupted SOF0 marker. */
493+ MFX_ERROR_JPEG_DHT_MARKER = (1 << 22), /*!< Invalid/corrupted DHT marker. */
494+ MFX_ERROR_JPEG_DRI_MARKER = (1 << 23), /*!< Invalid/corrupted DRI marker. */
495+ MFX_ERROR_JPEG_SOS_MARKER = (1 << 24), /*!< Invalid/corrupted SOS marker. */
496+ MFX_ERROR_JPEG_UNKNOWN_MARKER = (1 << 25), /*!< Unknown Marker. */
497 };
498
499 MFX_PACK_BEGIN_USUAL_STRUCT()
500--
5012.33.0
502
diff --git a/recipes-multimedia/onevpl/onevpl-intel-gpu_21.3.4.bb b/recipes-multimedia/onevpl/onevpl-intel-gpu_21.3.4.bb
deleted file mode 100644
index 316ab2e3..00000000
--- a/recipes-multimedia/onevpl/onevpl-intel-gpu_21.3.4.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing"
2DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \
3video decode, encode and filtering on IntelĀ® graphics."
4
5HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu"
6BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b"
10
11PE = "1"
12
13# Only for 64 bit
14COMPATIBLE_HOST = '(x86_64).*-linux'
15COMPATIBLE_HOST:x86-x32 = "null"
16
17DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native"
18
19SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;branch=main;lfs=0 \
20 file://0001-jpegd-Enable-JPEG-decode-error-report.patch \
21 "
22
23SRCREV = "51608c724044802cc060b7969084126a3e90ca4a"
24S = "${WORKDIR}/git"
25
26inherit cmake
diff --git a/recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch b/recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch
deleted file mode 100644
index 063dd3fb..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-Extends-errorTypes-to-support-JPEG-errors.patch
+++ /dev/null
@@ -1,59 +0,0 @@
1From acdab0d47785f61aa06c1f0955450bf1574f202c Mon Sep 17 00:00:00 2001
2From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
3Date: Tue, 28 Sep 2021 03:06:40 +0000
4Subject: [PATCH] Extends errorTypes to support JPEG errors
5
6Upstream-Status: Submitted
7innersource PR #251
8
9---
10 api/vpl/mfxstructures.h | 33 +++++++++++++++++++++++++++------
11 1 file changed, 27 insertions(+), 6 deletions(-)
12
13diff --git a/api/vpl/mfxstructures.h b/api/vpl/mfxstructures.h
14index 9c8dd2b1..a9ccb4ae 100644
15--- a/api/vpl/mfxstructures.h
16+++ b/api/vpl/mfxstructures.h
17@@ -3546,12 +3546,33 @@ MFX_PACK_END()
18
19 /*! The ErrorTypes enumerator uses bit-ORed values to itemize bitstream error types. */
20 enum {
21- MFX_ERROR_NO = 0, /*!< No error in bitstream. */
22- MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */
23- MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */
24- MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */
25- MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */
26- MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */
27+ MFX_ERROR_NO = 0, /*!< No error in bitstream. */
28+ MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */
29+ MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */
30+ MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */
31+ MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */
32+ MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */
33+ MFX_ERROR_JPEG_APP0_MARKER = (1 << 5), /*!< Invalid/corrupted APP0 marker. */
34+ MFX_ERROR_JPEG_APP1_MARKER = (1 << 6), /*!< Invalid/corrupted APP1 marker. */
35+ MFX_ERROR_JPEG_APP2_MARKER = (1 << 7), /*!< Invalid/corrupted APP2 marker. */
36+ MFX_ERROR_JPEG_APP3_MARKER = (1 << 8), /*!< Invalid/corrupted APP3 marker. */
37+ MFX_ERROR_JPEG_APP4_MARKER = (1 << 9), /*!< Invalid/corrupted APP4 marker. */
38+ MFX_ERROR_JPEG_APP5_MARKER = (1 << 10), /*!< Invalid/corrupted APP5 marker. */
39+ MFX_ERROR_JPEG_APP6_MARKER = (1 << 11), /*!< Invalid/corrupted APP6 marker. */
40+ MFX_ERROR_JPEG_APP7_MARKER = (1 << 12), /*!< Invalid/corrupted APP7 marker. */
41+ MFX_ERROR_JPEG_APP8_MARKER = (1 << 13), /*!< Invalid/corrupted APP8 marker. */
42+ MFX_ERROR_JPEG_APP9_MARKER = (1 << 14), /*!< Invalid/corrupted APP9 marker. */
43+ MFX_ERROR_JPEG_APP10_MARKER = (1 << 15), /*!< Invalid/corrupted APP10 marker. */
44+ MFX_ERROR_JPEG_APP11_MARKER = (1 << 16), /*!< Invalid/corrupted APP11 marker. */
45+ MFX_ERROR_JPEG_APP12_MARKER = (1 << 17), /*!< Invalid/corrupted APP12 marker. */
46+ MFX_ERROR_JPEG_APP13_MARKER = (1 << 18), /*!< Invalid/corrupted APP13 marker. */
47+ MFX_ERROR_JPEG_APP14_MARKER = (1 << 19), /*!< Invalid/corrupted APP14 marker. */
48+ MFX_ERROR_JPEG_DQT_MARKER = (1 << 20), /*!< Invalid/corrupted DQT marker. */
49+ MFX_ERROR_JPEG_SOF0_MARKER = (1 << 21), /*!< Invalid/corrupted SOF0 marker. */
50+ MFX_ERROR_JPEG_DHT_MARKER = (1 << 22), /*!< Invalid/corrupted DHT marker. */
51+ MFX_ERROR_JPEG_DRI_MARKER = (1 << 23), /*!< Invalid/corrupted DRI marker. */
52+ MFX_ERROR_JPEG_SOS_MARKER = (1 << 24), /*!< Invalid/corrupted SOS marker. */
53+ MFX_ERROR_JPEG_UNKNOWN_MARKER = (1 << 25), /*!< Unknown Marker. */
54 };
55
56 MFX_PACK_BEGIN_USUAL_STRUCT()
57--
582.33.0
59
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 93e5ed0d..00000000
--- a/recipes-multimedia/onevpl/onevpl/0001-Fix-basename-build-issue-with-musl_libc.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From d16afe9f9302e4995f12d699019eba170bb6db21 Mon Sep 17 00:00:00 2001
2From: "Yew, Chang Ching" <chang.ching.yew@intel.com>
3Date: Fri, 8 Oct 2021 08:45:39 +0800
4Subject: [PATCH] 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 b69dbe44..9382535a 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@@ -26,7 +27,7 @@ SimpleLoader::SimpleLoader(const char* name) {
27 dlerror();
28 so_handle = dlopen(name, RTLD_GLOBAL | RTLD_NOW);
29 if (NULL == so_handle) {
30- so_handle = dlopen(basename(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.33.0
37
diff --git a/recipes-multimedia/onevpl/onevpl_2021.6.0.bb b/recipes-multimedia/onevpl/onevpl_2021.6.0.bb
deleted file mode 100644
index 079622f8..00000000
--- a/recipes-multimedia/onevpl/onevpl_2021.6.0.bb
+++ /dev/null
@@ -1,38 +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=67727fd253b1b4574cd9eea78a2b0620"
10
11SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https \
12 file://0001-Fix-basename-build-issue-with-musl_libc.patch \
13 file://0001-Extends-errorTypes-to-support-JPEG-errors.patch \
14 "
15SRCREV = "cdf7444dc971544d148c51e0d93a2df1bb55dda7"
16S = "${WORKDIR}/git"
17
18inherit cmake
19DEPENDS += "libva pkgconfig-native"
20
21do_install:append() {
22 mkdir -p ${D}${datadir}/oneVPL/samples
23 mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples
24}
25
26COMPATIBLE_HOST = '(x86_64).*-linux'
27
28PACKAGES += "${PN}-examples"
29
30FILES:${PN}-examples = "${datadir}/oneVPL/examples \
31 "
32
33FILES_SOLIBSDEV = ""
34FILES:${PN}-dev += "${libdir}/libvpl.so"
35
36FILES:${PN} += "${datadir} \
37 ${libdir}/oneVPL/libvpl_wayland.so \
38 "
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/vpl/vpl-gpu-rt_25.1.4.bb b/recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb
new file mode 100644
index 00000000..0a0e6972
--- /dev/null
+++ b/recipes-multimedia/vpl/vpl-gpu-rt_25.1.4.bb
@@ -0,0 +1,32 @@
1SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing"
2DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \
3video decode, encode and filtering on IntelĀ® graphics."
4
5HOMEPAGE = "https://github.com/intel/vpl-gpu-rt"
6BUGTRACKER = "https://github.com/intel/vpl-gpu-rt/issues"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b"
10
11PE = "1"
12
13# Only for 64 bit
14COMPATIBLE_HOST = '(x86_64).*-linux'
15COMPATIBLE_HOST:x86-x32 = "null"
16
17DEPENDS += "libdrm libva intel-media-driver libvpl pkgconfig-native"
18RDEPENDS:${PN} += "intel-media-driver"
19
20SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \
21 "
22
23SRCREV = "c65990e456acf901597a76b22407232679152547"
24
25FILES:${PN} += " \
26 ${libdir}/libmfx-gen/enctools.so \
27 "
28
29inherit cmake
30
31RREPLACES:${PN} = "onevpl-intel-gpu"
32RCONFLICTS:${PN} = "onevpl-intel-gpu"