summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libva/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/libva/files')
-rw-r--r--recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch44
-rw-r--r--recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch85
-rw-r--r--recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch109
3 files changed, 129 insertions, 109 deletions
diff --git a/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch b/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch
new file mode 100644
index 00000000..ffb5b747
--- /dev/null
+++ b/recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch
@@ -0,0 +1,44 @@
1From 6132115dd2f1db55a6a5371618247dfaa334a035 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Wed, 11 Oct 2023 15:36:21 +0800
4Subject: [PATCH 3/7] Force ARGB surface to tile4 for ACM
5
6Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728]
7
8Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com>
9Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
10---
11 media_driver/linux/common/ddi/media_libva_util.cpp | 10 ++++++++++
12 1 file changed, 10 insertions(+)
13
14diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp
15index a4e12edfa..11634f66e 100755
16--- a/media_driver/linux/common/ddi/media_libva_util.cpp
17+++ b/media_driver/linux/common/ddi/media_libva_util.cpp
18@@ -521,6 +521,7 @@ VAStatus DdiMediaUtil_AllocateSurface(
19 gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0;
20 }
21 }
22+
23 break;
24 case TILING_X:
25 gmmCustomParams.Flags.Info.TiledX = true;
26@@ -702,6 +703,15 @@ VAStatus DdiMediaUtil_AllocateSurface(
27 }
28 }
29 }
30+ // There's no VAAPI interface for modifier query yet. As a workaround, always allocate
31+ // RGB surface as tile4.
32+ if ((format == Media_Format_A8R8G8B8 ||
33+ format == Media_Format_B10G10R10A2 |
34+ format == Media_Format_A8B8G8R8 ||
35+ format == Media_Format_X8R8G8B8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY))
36+ {
37+ gmmParams.Flags.Info.Tile4 = true;
38+ }
39 break;
40 case TILING_X:
41 gmmParams.Flags.Info.TiledX = true;
42--
432.43.0
44
diff --git a/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch b/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch
new file mode 100644
index 00000000..49e3ff13
--- /dev/null
+++ b/recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch
@@ -0,0 +1,85 @@
1From a32b95e58fd3e34847e799b909e08dbe5c9dc692 Mon Sep 17 00:00:00 2001
2From: Lim Siew Hoon <siew.hoon.lim@intel.com>
3Date: Fri, 2 Aug 2024 13:25:13 +0800
4Subject: [PATCH 4/7] Fix failed 4k videowalll test case and color corruption
5 of video composition in Gen12 platform
6
7Fix failed 4k video wall test case from 16CH video only show
81CH output and corruption observed on certain number of video
9composition when doing sample_multi_transcode in legacy path.
10
11platform: TGL/ADL/RPL
12
13Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1839]
14
15Signed-off-by: xupianch <xu.pian.chan@intel.com>
16Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
17---
18 .../common/vp/hal/vphal_render_composite.cpp | 9 ++++++++-
19 .../linux/common/vp/ddi/media_libva_vp.c | 18 +++++-------------
20 2 files changed, 13 insertions(+), 14 deletions(-)
21
22diff --git a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
23index 169030209..cc7c241c1 100644
24--- a/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
25+++ b/media_driver/agnostic/common/vp/hal/vphal_render_composite.cpp
26@@ -6784,6 +6784,13 @@ bool CompositeState::BuildFilter(
27
28 for (i = 0; (i < (int)pCompParams->uSourceCount) && (iMaxFilterSize > 0); i++)
29 {
30+ if (i > 0)
31+ {
32+ if (!RECT1_CONTAINS_RECT2(pCompParams->pSource[0]->rcDst, pCompParams->pSource[i]->rcDst))
33+ {
34+ pFilter->forceToTargetColorSpace = true;
35+ }
36+ }
37 pSrc = pCompParams->pSource[i];
38
39 //--------------------------------
40@@ -8154,4 +8161,4 @@ bool CompositeState::IsSamplerIDForY(
41 return true;
42 }
43 return false;
44- }
45\ No newline at end of file
46+ }
47diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
48index 48a452315..4f0fc2c48 100644
49--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
50+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
51@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams(
52
53 // Background Colorfill
54 // According to libva definition, if alpha in output background color is zero, then colorfill is not needed
55- if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB)
56+ if ((pPipelineParam->output_background_color >> 24) != 0)
57 {
58 if (pVpHalRenderParams->pColorFillParams == nullptr)
59 {
60@@ -1157,18 +1157,10 @@ DdiVp_SetProcPipelineParams(
61
62 DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
63
64- if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0)
65- {
66- // set color space for sRGB output
67- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
68- }
69- else
70- {
71- // set background colorfill option
72- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
73- pVpHalRenderParams->pColorFillParams->bYCbCr = false;
74- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
75- }
76+ // set background colorfill option
77+ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
78+ pVpHalRenderParams->pColorFillParams->bYCbCr = false;
79+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
80 }else
81 {
82 MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
83--
842.43.0
85
diff --git a/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch b/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch
deleted file mode 100644
index 046778b2..00000000
--- a/recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch
+++ /dev/null
@@ -1,109 +0,0 @@
1From c8457540aed1ab9424661087276fb788c0e3aabb Mon Sep 17 00:00:00 2001
2From: "Wang, Pingli" <pingli.wang@intel.com>
3Date: Wed, 23 Mar 2022 20:14:04 +0800
4Subject: [PATCH] Fixes #1354
5
6Fixes #1354. It is to fix the compiling issue for gcc12.0.1.
7[-Werror=address] [-Werror=dangling-pointer=][-Werror=alloc-size-larger-than=]
8
9Signed-off-by: Wang, Pingli <pingli.wang@intel.com>
10
11Upstream-Status: Backport
12Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
13---
14 .../agnostic/common/os/mos_utilities.h | 4 +--
15 .../codec/hal/codechal_encoder_base.cpp | 2 +-
16 .../common/codec/ddi/media_ddi_decode_vp8.cpp | 25 ++++++++-----------
17 .../agnostic/common/os/mos_utilities_next.h | 4 +--
18 4 files changed, 16 insertions(+), 19 deletions(-)
19
20diff --git a/media_common/agnostic/common/os/mos_utilities.h b/media_common/agnostic/common/os/mos_utilities.h
21index 7c395816f..d41a3a065 100644
22--- a/media_common/agnostic/common/os/mos_utilities.h
23+++ b/media_common/agnostic/common/os/mos_utilities.h
24@@ -181,10 +181,10 @@ _Ty* MOS_NewUtil(_Types&&... _Args)
25 template<class _Ty, class... _Types>
26 _Ty *MOS_NewArrayUtil(const char *functionName,
27 const char *filename,
28- int32_t line, int32_t numElements)
29+ int32_t line, size_t numElements)
30 #else
31 template<class _Ty, class... _Types>
32-_Ty* MOS_NewArrayUtil(int32_t numElements)
33+_Ty* MOS_NewArrayUtil(size_t numElements)
34 #endif
35 {
36 #if MOS_MESSAGES_ENABLED
37diff --git a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
38index 4bf869c60..e9b3575fd 100644
39--- a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
40+++ b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp
41@@ -3891,6 +3891,7 @@ MOS_STATUS CodechalEncoderState::ReadCounterValue(uint16_t index, EncodeStatusRe
42 CODECHAL_ENCODE_FUNCTION_ENTER;
43 CODECHAL_ENCODE_CHK_NULL_RETURN(encodeStatusReport);
44 uint64_t *address2Counter = nullptr;
45+ uint32_t ctr[4] = { 0 };
46
47 if (m_hwInterface->GetCpInterface()->IsHwCounterIncrement(m_osInterface))
48 {
49@@ -3923,7 +3924,6 @@ MOS_STATUS CodechalEncoderState::ReadCounterValue(uint16_t index, EncodeStatusRe
50 else
51 {
52 //Report driver generated counter which was submitted to HW by command
53- uint32_t ctr[4] = { 0 };
54 eStatus = m_hwInterface->GetCpInterface()->GetCounterValue(ctr);
55 if (MOS_STATUS_SUCCESS == eStatus)
56 {
57diff --git a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
58index 72891d584..fac4c415d 100644
59--- a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
60+++ b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
61@@ -235,20 +235,17 @@ VAStatus DdiDecodeVP8::ParsePicParams(
62 codecPicParams->ucUvModeProbs[0] = picParam->uv_mode_probs[0];
63 codecPicParams->ucUvModeProbs[1] = picParam->uv_mode_probs[1];
64 codecPicParams->ucUvModeProbs[2] = picParam->uv_mode_probs[2];
65- if (codecPicParams->ucMvUpdateProb[0] && picParam->mv_probs[0])
66- {
67- MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[0],
68- sizeof(codecPicParams->ucMvUpdateProb[0]),
69- picParam->mv_probs[0],
70- sizeof(codecPicParams->ucMvUpdateProb[0]));
71- }
72- if (codecPicParams->ucMvUpdateProb[1] && picParam->mv_probs[1])
73- {
74- MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[1],
75- sizeof(codecPicParams->ucMvUpdateProb[1]),
76- picParam->mv_probs[1],
77- sizeof(codecPicParams->ucMvUpdateProb[1]));
78- }
79+
80+ MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[0],
81+ sizeof(codecPicParams->ucMvUpdateProb[0]),
82+ picParam->mv_probs[0],
83+ sizeof(codecPicParams->ucMvUpdateProb[0]));
84+
85+ MOS_SecureMemcpy(codecPicParams->ucMvUpdateProb[1],
86+ sizeof(codecPicParams->ucMvUpdateProb[1]),
87+ picParam->mv_probs[1],
88+ sizeof(codecPicParams->ucMvUpdateProb[1]));
89+
90 codecPicParams->ucP0EntropyCount = (8 - picParam->bool_coder_ctx.count) & 0x7; //hardware needs used bits not remaining bits in bool decoder
91 codecPicParams->ucP0EntropyValue = picParam->bool_coder_ctx.value;
92 codecPicParams->uiP0EntropyRange = picParam->bool_coder_ctx.range;
93diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.h b/media_softlet/agnostic/common/os/mos_utilities_next.h
94index 509f2de3d..b6069bbc8 100644
95--- a/media_softlet/agnostic/common/os/mos_utilities_next.h
96+++ b/media_softlet/agnostic/common/os/mos_utilities_next.h
97@@ -90,10 +90,10 @@ class MosUtilities
98 template<class _Ty, class... _Types>
99 static _Ty *MosNewArrayUtil(const char *functionName,
100 const char *filename,
101- int32_t line, int32_t numElements)
102+ int32_t line, size_t numElements)
103 #else
104 template<class _Ty, class... _Types>
105- static _Ty* MosNewArrayUtil(int32_t numElements)
106+ static _Ty* MosNewArrayUtil(size_t numElements)
107 #endif
108 {
109 #if (_DEBUG || _RELEASE_INTERNAL)