diff options
Diffstat (limited to 'recipes-multimedia/libva')
-rw-r--r-- | recipes-multimedia/libva/files/0003-Force-ARGB-surface-to-tile4-for-ACM.patch | 44 | ||||
-rw-r--r-- | recipes-multimedia/libva/files/0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch | 85 | ||||
-rw-r--r-- | recipes-multimedia/libva/files/c8457540aed1ab9424661087276fb788c0e3aabb.patch | 109 | ||||
-rw-r--r-- | recipes-multimedia/libva/intel-media-driver_25.1.4.bb (renamed from recipes-multimedia/libva/intel-media-driver_22.3.1.bb) | 6 |
4 files changed, 132 insertions, 112 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 @@ | |||
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/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 @@ | |||
1 | From c8457540aed1ab9424661087276fb788c0e3aabb Mon Sep 17 00:00:00 2001 | ||
2 | From: "Wang, Pingli" <pingli.wang@intel.com> | ||
3 | Date: Wed, 23 Mar 2022 20:14:04 +0800 | ||
4 | Subject: [PATCH] Fixes #1354 | ||
5 | |||
6 | Fixes #1354. It is to fix the compiling issue for gcc12.0.1. | ||
7 | [-Werror=address] [-Werror=dangling-pointer=][-Werror=alloc-size-larger-than=] | ||
8 | |||
9 | Signed-off-by: Wang, Pingli <pingli.wang@intel.com> | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | Signed-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 | |||
20 | diff --git a/media_common/agnostic/common/os/mos_utilities.h b/media_common/agnostic/common/os/mos_utilities.h | ||
21 | index 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 | ||
37 | diff --git a/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp b/media_driver/agnostic/common/codec/hal/codechal_encoder_base.cpp | ||
38 | index 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 | { | ||
57 | diff --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 | ||
58 | index 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; | ||
93 | diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.h b/media_softlet/agnostic/common/os/mos_utilities_next.h | ||
94 | index 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) | ||
diff --git a/recipes-multimedia/libva/intel-media-driver_22.3.1.bb b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb index 4e64c1b6..d2ab0f43 100644 --- a/recipes-multimedia/libva/intel-media-driver_22.3.1.bb +++ b/recipes-multimedia/libva/intel-media-driver_25.1.4.bb | |||
@@ -19,11 +19,11 @@ REQUIRED_DISTRO_FEATURES = "opengl" | |||
19 | DEPENDS += "libva gmmlib" | 19 | DEPENDS += "libva gmmlib" |
20 | 20 | ||
21 | SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ | 21 | SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ |
22 | file://c8457540aed1ab9424661087276fb788c0e3aabb.patch \ | 22 | file://0003-Force-ARGB-surface-to-tile4-for-ACM.patch \ |
23 | file://0004-Fix-failed-4k-videowalll-test-case-and-color-corrupt.patch \ | ||
23 | " | 24 | " |
24 | 25 | ||
25 | SRCREV = "6547f46584633a7619440b39b34908e13c8c857d" | 26 | SRCREV = "14e2e7bcf1014186dbf1c099089c7c05cd880ae8" |
26 | S = "${WORKDIR}/git" | ||
27 | 27 | ||
28 | COMPATIBLE_HOST:x86-x32 = "null" | 28 | COMPATIBLE_HOST:x86-x32 = "null" |
29 | 29 | ||