diff options
Diffstat (limited to 'recipes-multimedia')
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 \ | |||
3 | application to generate and control the collection of trace data during its \ | 3 | application to generate and control the collection of trace data during its \ |
4 | execution across different Intel tools." | 4 | execution across different Intel tools." |
5 | 5 | ||
6 | LICENSE = "BSD-3-Clause & GPLv2" | 6 | LICENSE = "BSD-3-Clause & GPL-2.0-only" |
7 | LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c722edeca7b \ | 7 | LIC_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 | ||
11 | SRC_URI = "git://github.com/intel/ittapi.git;protocol=https" | 11 | SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" |
12 | SRCREV = "eb8d2874eb2421c404af715b198a70b5cf8ec18d" | 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-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 @@ | |||
1 | From 2cc1938f4692c0310df98726cc03d9d55d52e794 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Xu, Zhengguo" <zhengguo.xu@intel.com> | ||
3 | Date: Mon, 12 Jul 2021 11:14:53 +0800 | ||
4 | Subject: [PATCH] Expose the reg to disable scalability | ||
5 | |||
6 | This reg only works in release-internal/debug version. Expose it in release version now. | ||
7 | |||
8 | This patch was imported from iHD media-driver git server | ||
9 | (https://github.com/intel/media-driver.git) as of pull request | ||
10 | https://github.com/intel/media-driver/pull/1221 | ||
11 | |||
12 | Upstream-status: Submitted | ||
13 | Signed-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 | |||
31 | diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_scalability.cpp | ||
32 | old mode 100644 | ||
33 | new mode 100755 | ||
34 | index 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."); | ||
49 | diff --git a/media_driver/agnostic/common/os/mos_os.h b/media_driver/agnostic/common/os/mos_os.h | ||
50 | old mode 100644 | ||
51 | new mode 100755 | ||
52 | index 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) | ||
67 | diff --git a/media_driver/agnostic/common/os/mos_utilities.cpp b/media_driver/agnostic/common/os/mos_utilities.cpp | ||
68 | old mode 100644 | ||
69 | new mode 100755 | ||
70 | index 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, | ||
82 | diff --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 | ||
83 | old mode 100644 | ||
84 | new mode 100755 | ||
85 | index 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 | } | ||
101 | diff --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 | ||
102 | old mode 100644 | ||
103 | new mode 100755 | ||
104 | index 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; | ||
135 | diff --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 | ||
136 | old mode 100644 | ||
137 | new mode 100755 | ||
138 | index 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 | } | ||
154 | diff --git a/media_driver/linux/common/os/mos_os_specific.c b/media_driver/linux/common/os/mos_os_specific.c | ||
155 | old mode 100644 | ||
156 | new mode 100755 | ||
157 | index 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 | -- | ||
177 | 2.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 @@ | |||
1 | From c7a9e55eb20cbaf12326bdffb57f881febe1e9c2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jay Yang <jay.yang@intel.com> | ||
3 | Date: Fri, 2 Jul 2021 10:02:51 +0000 | ||
4 | Subject: [PATCH] [VP] Fix 2pass CSC PROCAMP not work issue | ||
5 | |||
6 | Enable PROCAMP when 2pass CSC is also enabled. | ||
7 | Fixes: #1138 | ||
8 | Signed off by: jay.yang@intel.com | ||
9 | |||
10 | This patch was importaed from iHD media-driver git server | ||
11 | (https://github.com/intel/media-driver.git) as of commit id | ||
12 | 06905e60e8aacc86828e79b1431188ba6ed46268 | ||
13 | |||
14 | Upstream-status: Backport | ||
15 | Signed-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 | |||
20 | diff --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 | ||
21 | index 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 | -- | ||
33 | 2.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 @@ | |||
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_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" | |||
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-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 | ||
26 | SRCREV = "008fb3b400dd906276f999eeaef3f49d52fd3d05" | 26 | SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8" |
27 | S = "${WORKDIR}/git" | ||
28 | 27 | ||
29 | COMPATIBLE_HOST:x86-x32 = "null" | 28 | COMPATIBLE_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 @@ | |||
1 | From f2e6d2ecfea635ab952649156e31ca893d4b1a47 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 12 Aug 2017 08:49:20 -0700 | ||
4 | Subject: [PATCH] Fix build with clang | ||
5 | |||
6 | Fix errors e.g. | ||
7 | error: 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 | |||
9 | and | ||
10 | |||
11 | psnr.cpp:225:17: error: bool literal returned from 'main' [-Werror,-Wmain] | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | Upstream-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 | |||
24 | diff --git a/tests/decodehelp.cpp b/tests/decodehelp.cpp | ||
25 | index 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': | ||
37 | diff --git a/tests/encodehelp.h b/tests/encodehelp.h | ||
38 | index 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 }, | ||
50 | diff --git a/tests/vpp.cpp b/tests/vpp.cpp | ||
51 | index 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' }, | ||
63 | diff --git a/tests/yamitranscode.cpp b/tests/yamitranscode.cpp | ||
64 | index 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 }, | ||
76 | diff --git a/testscripts/psnr.cpp b/testscripts/psnr.cpp | ||
77 | index 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 @@ | |||
1 | SUMMARY = "Applications and Scripts for libyami." | ||
2 | DESCRIPTION = "Applications and Scripts for libyami." | ||
3 | |||
4 | HOMEPAGE = "https://github.com/intel/libyami-utils" | ||
5 | BUGTRACKER = "https://github.com/intel/libyami-utils/issues/new" | ||
6 | |||
7 | LICENSE = "Apache-2.0" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" | ||
9 | |||
10 | SRC_URI = "git://github.com/intel/libyami-utils.git \ | ||
11 | file://0001-Fix-build-with-clang.patch \ | ||
12 | " | ||
13 | SRCREV = "c3d25b64b05aeb0c4eecc140aef617cfeced6b8e" | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | DEPENDS = "libva libyami" | ||
17 | |||
18 | inherit autotools pkgconfig features_check | ||
19 | |||
20 | REQUIRED_DISTRO_FEATURES = "opengl" | ||
21 | |||
22 | PACKAGECONFIG = "${@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 | ||
26 | PACKAGECONFIG[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 @@ | |||
1 | SUMMARY = "Yami is media infrastructure base on libva" | ||
2 | DESCRIPTION = "Yet Another Media Infrastructure \ | ||
3 | light weight hardware codec library base on VA-API " | ||
4 | |||
5 | HOMEPAGE = "https://github.com/intel/libyami" | ||
6 | BUGTRACKER = "https://github.com/intel/libyami/issues/new" | ||
7 | |||
8 | LICENSE = "Apache-2.0" | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/libyami.git;branch=apache \ | ||
12 | " | ||
13 | SRCREV = "08606d0a43e0ef15e5b61cc13563169370ce8715" | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | CXXFLAGS:append = " -Wno-error" | ||
17 | |||
18 | PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}" | ||
19 | PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" | ||
20 | |||
21 | DEPENDS = "libva" | ||
22 | inherit autotools pkgconfig features_check | ||
23 | |||
24 | REQUIRED_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 @@ | |||
1 | From a1216ce48771a2c7cf690d148d64c2797a960720 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Sodhi, Vunny" <vunny.sodhi@intel.com> | ||
3 | Date: Fri, 28 May 2021 11:40:21 +0800 | ||
4 | Subject: [meta-intel][PATCH] Add support of DRM_FORMAT_NV12 for console mode rendering | ||
5 | |||
6 | Currently in drm/console mode only RGB4 direct rendering | ||
7 | is possible. This patch add NV12 format provided your | ||
8 | platform and kernel can support it. | ||
9 | |||
10 | Tested both formats using: | ||
11 | sample_encode h265 -i 4k.h265 -rdrm -nv12 | ||
12 | sample_encode h265 -i 4k.h265 -rdrm -rgb4 | ||
13 | |||
14 | Issue: #2675 | ||
15 | |||
16 | Upstream-Status: Backport | ||
17 | https://github.com/Intel-Media-SDK/MediaSDK/pull/2704 | ||
18 | |||
19 | Signed-off: Fu, Wei A <wei.a.fu@intel.com> | ||
20 | Signed-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 | |||
28 | diff --git a/samples/sample_common/include/vaapi_utils.h b/samples/sample_common/include/vaapi_utils.h | ||
29 | index 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); | ||
50 | diff --git a/samples/sample_common/src/vaapi_allocator.cpp b/samples/sample_common/src/vaapi_allocator.cpp | ||
51 | index 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; | ||
62 | diff --git a/samples/sample_common/src/vaapi_utils.cpp b/samples/sample_common/src/vaapi_utils.cpp | ||
63 | index 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) | ||
74 | diff --git a/samples/sample_common/src/vaapi_utils_drm.cpp b/samples/sample_common/src/vaapi_utils_drm.cpp | ||
75 | index 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 | -- | ||
145 | 2.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 @@ | |||
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/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 @@ | |||
1 | From 3fc9fe078c850643f8070cce1d2b0307a9014523 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Sodhi, Vunny" <vunny.sodhi@intel.com> | ||
3 | Date: Fri, 13 Aug 2021 12:09:26 +0800 | ||
4 | Subject: [meta-intel][PATCH] Fixed tile modifier issue for NV12 format | ||
5 | |||
6 | If we are using I915_FORMAT_MOD_Y_TILED which is needed for | ||
7 | NV12 format then modifiers need to be enabled which can be passed | ||
8 | as flags argument to ioctl. | ||
9 | |||
10 | Upstream-Status: Submitted | ||
11 | https://github.com/Intel-Media-SDK/MediaSDK/pull/2755 | ||
12 | |||
13 | Signed-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 | |||
18 | diff --git a/samples/sample_common/src/vaapi_utils_drm.cpp b/samples/sample_common/src/vaapi_utils_drm.cpp | ||
19 | index 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 | -- | ||
48 | 2.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 @@ | |||
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 += "libdrm libva intel-media-driver" | ||
21 | |||
22 | PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \ | ||
23 | ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \ | ||
24 | samples \ | ||
25 | itt \ | ||
26 | " | ||
27 | |||
28 | PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF" | ||
29 | PACKAGECONFIG[itt] = "-DENABLE_ITT=ON, -DENABLE_ITT=OFF, itt" | ||
30 | PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, ocl-icd opencl-clhpp opencl-headers" | ||
31 | PACKAGECONFIG[samples] = "-DBUILD_SAMPLES=ON, -DBUILD_SAMPLES=OFF" | ||
32 | PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native" | ||
33 | |||
34 | SRC_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 | |||
40 | SRCREV = "24b964e32692f68ed01aad73850bdaa440c2fcd7" | ||
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-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 @@ | |||
1 | From fe25ec3db9a48308bd6d3e9fe800e67335f8a369 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Mon, 4 Oct 2021 13:56:08 +0800 | ||
4 | Subject: [PATCH] [jpegd] Enable JPEG decode error report | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #3318 | ||
8 | |||
9 | [Internal] | ||
10 | Issue: NA | ||
11 | Test: manual. Gst-MSDK with mfxExtDecodeErrorReport | ||
12 | OSPR: N/A | ||
13 | |||
14 | Signed-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 | |||
29 | diff --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 | ||
30 | index 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 | ||
49 | diff --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 | ||
50 | index 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) | ||
93 | diff --git a/_studio/shared/umc/codec/jpeg_dec/include/jpegdec.h b/_studio/shared/umc/codec/jpeg_dec/include/jpegdec.h | ||
94 | index 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 | |||
105 | diff --git a/_studio/shared/umc/codec/jpeg_dec/include/jpegdec_base.h b/_studio/shared/umc/codec/jpeg_dec/include/jpegdec_base.h | ||
106 | index 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 | ||
142 | diff --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 | ||
143 | index 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; | ||
155 | diff --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 | ||
156 | index 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 | |||
177 | diff --git a/_studio/shared/umc/codec/jpeg_dec/src/jpegdec.cpp b/_studio/shared/umc/codec/jpeg_dec/src/jpegdec.cpp | ||
178 | index 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) | ||
287 | diff --git a/_studio/shared/umc/codec/jpeg_dec/src/jpegdec_base.cpp b/_studio/shared/umc/codec/jpeg_dec/src/jpegdec_base.cpp | ||
288 | index 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 | } | ||
394 | diff --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 | ||
395 | index 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 | |||
425 | diff --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 | ||
426 | index 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 | |||
456 | diff --git a/api/vpl/mfxstructures.h b/api/vpl/mfxstructures.h | ||
457 | index 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 | -- | ||
501 | 2.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 @@ | |||
1 | SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing" | ||
2 | DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ | ||
3 | video decode, encode and filtering on IntelĀ® graphics." | ||
4 | |||
5 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" | ||
6 | BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" | ||
7 | |||
8 | LICENSE = "MIT" | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" | ||
10 | |||
11 | PE = "1" | ||
12 | |||
13 | # Only for 64 bit | ||
14 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
15 | COMPATIBLE_HOST:x86-x32 = "null" | ||
16 | |||
17 | DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" | ||
18 | |||
19 | SRC_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 | |||
23 | SRCREV = "51608c724044802cc060b7969084126a3e90ca4a" | ||
24 | S = "${WORKDIR}/git" | ||
25 | |||
26 | inherit 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 @@ | |||
1 | From acdab0d47785f61aa06c1f0955450bf1574f202c Mon Sep 17 00:00:00 2001 | ||
2 | From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com> | ||
3 | Date: Tue, 28 Sep 2021 03:06:40 +0000 | ||
4 | Subject: [PATCH] Extends errorTypes to support JPEG errors | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #251 | ||
8 | |||
9 | --- | ||
10 | api/vpl/mfxstructures.h | 33 +++++++++++++++++++++++++++------ | ||
11 | 1 file changed, 27 insertions(+), 6 deletions(-) | ||
12 | |||
13 | diff --git a/api/vpl/mfxstructures.h b/api/vpl/mfxstructures.h | ||
14 | index 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 | -- | ||
58 | 2.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 @@ | |||
1 | From d16afe9f9302e4995f12d699019eba170bb6db21 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Yew, Chang Ching" <chang.ching.yew@intel.com> | ||
3 | Date: Fri, 8 Oct 2021 08:45:39 +0800 | ||
4 | Subject: [PATCH] Fix basename() build issue with musl_libc | ||
5 | |||
6 | Upstream-Status: Submitted | ||
7 | innersource PR #264 | ||
8 | |||
9 | Signed-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 | |||
14 | diff --git a/tools/legacy/sample_common/src/vaapi_utils.cpp b/tools/legacy/sample_common/src/vaapi_utils.cpp | ||
15 | index 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 | -- | ||
36 | 2.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 @@ | |||
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=67727fd253b1b4574cd9eea78a2b0620" | ||
10 | |||
11 | SRC_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 | " | ||
15 | SRCREV = "cdf7444dc971544d148c51e0d93a2df1bb55dda7" | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit cmake | ||
19 | DEPENDS += "libva pkgconfig-native" | ||
20 | |||
21 | do_install:append() { | ||
22 | mkdir -p ${D}${datadir}/oneVPL/samples | ||
23 | mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples | ||
24 | } | ||
25 | |||
26 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
27 | |||
28 | PACKAGES += "${PN}-examples" | ||
29 | |||
30 | FILES:${PN}-examples = "${datadir}/oneVPL/examples \ | ||
31 | " | ||
32 | |||
33 | FILES_SOLIBSDEV = "" | ||
34 | FILES:${PN}-dev += "${libdir}/libvpl.so" | ||
35 | |||
36 | FILES:${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 @@ | |||
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/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 @@ | |||
1 | SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing" | ||
2 | DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ | ||
3 | video decode, encode and filtering on IntelĀ® graphics." | ||
4 | |||
5 | HOMEPAGE = "https://github.com/intel/vpl-gpu-rt" | ||
6 | BUGTRACKER = "https://github.com/intel/vpl-gpu-rt/issues" | ||
7 | |||
8 | LICENSE = "MIT" | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" | ||
10 | |||
11 | PE = "1" | ||
12 | |||
13 | # Only for 64 bit | ||
14 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
15 | COMPATIBLE_HOST:x86-x32 = "null" | ||
16 | |||
17 | DEPENDS += "libdrm libva intel-media-driver libvpl pkgconfig-native" | ||
18 | RDEPENDS:${PN} += "intel-media-driver" | ||
19 | |||
20 | SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \ | ||
21 | " | ||
22 | |||
23 | SRCREV = "c65990e456acf901597a76b22407232679152547" | ||
24 | |||
25 | FILES:${PN} += " \ | ||
26 | ${libdir}/libmfx-gen/enctools.so \ | ||
27 | " | ||
28 | |||
29 | inherit cmake | ||
30 | |||
31 | RREPLACES:${PN} = "onevpl-intel-gpu" | ||
32 | RCONFLICTS:${PN} = "onevpl-intel-gpu" | ||