diff options
Diffstat (limited to 'recipes-multimedia')
18 files changed, 181 insertions, 1121 deletions
diff --git a/recipes-multimedia/itt/itt_3.24.6.bb b/recipes-multimedia/itt/itt_3.24.7.bb index 1c4759f9..481fd5be 100644 --- a/recipes-multimedia/itt/itt_3.24.6.bb +++ b/recipes-multimedia/itt/itt_3.24.7.bb | |||
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c7 | |||
9 | " | 9 | " |
10 | 10 | ||
11 | SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" | 11 | SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" |
12 | SRCREV = "ec077431fc725dba590b09b2cec5137878b14783" | 12 | SRCREV = "e20cd6099cb9c5afee0a285781c5cc1d32412f3e" |
13 | S = "${WORKDIR}/git" | 13 | S = "${WORKDIR}/git" |
14 | PE = "1" | 14 | PE = "1" |
15 | 15 | ||
diff --git a/recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch b/recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch deleted file mode 100644 index 59fff127..00000000 --- a/recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From bb860c0bfe53060925b1dce50da4e6e94cfc8cae Mon Sep 17 00:00:00 2001 | ||
2 | From: huangli2018 <li.h.huang@intel.com> | ||
3 | Date: Wed, 20 Dec 2023 15:47:43 +0800 | ||
4 | Subject: [PATCH 04/13] Add device ID for ARL | ||
5 | |||
6 | Add device ID for ARL | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/95cbfce81cafa3c24d9d4601d41a855093bc51fb] | ||
9 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
10 | --- | ||
11 | .../linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp | 13 +++++++++++-- | ||
12 | 1 file changed, 11 insertions(+), 2 deletions(-) | ||
13 | |||
14 | diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp | ||
15 | index 426bd795f..7b73dfaff 100644 | ||
16 | --- a/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp | ||
17 | +++ b/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp | ||
18 | @@ -1,6 +1,6 @@ | ||
19 | /*===================== begin_copyright_notice ================================== | ||
20 | |||
21 | -Copyright (c) 2022, Intel Corporation | ||
22 | +Copyright (c) 2023, Intel Corporation | ||
23 | |||
24 | Permission is hereby granted, free of charge, to any person obtaining a | ||
25 | copy of this software and associated documentation files (the "Software"), | ||
26 | @@ -218,4 +218,13 @@ static struct GfxDeviceInfo arlInfo = { | ||
27 | }; | ||
28 | |||
29 | static bool arlsDevice7d67 = DeviceInfoFactory<GfxDeviceInfo>:: | ||
30 | - RegisterDevice(0x7D67, &arlInfo); | ||
31 | \ No newline at end of file | ||
32 | + RegisterDevice(0x7D67, &arlInfo); | ||
33 | + | ||
34 | +static bool arlhDevice7d51 = DeviceInfoFactory<GfxDeviceInfo>:: | ||
35 | + RegisterDevice(0x7D51, &arlInfo); | ||
36 | + | ||
37 | +static bool arlhDevice7dd1 = DeviceInfoFactory<GfxDeviceInfo>:: | ||
38 | + RegisterDevice(0x7DD1, &arlInfo); | ||
39 | + | ||
40 | +static bool arlhDevice7d41 = DeviceInfoFactory<GfxDeviceInfo>:: | ||
41 | + RegisterDevice(0x7D41, &arlInfo); | ||
42 | \ No newline at end of file | ||
43 | -- | ||
44 | 2.40.1 | ||
45 | |||
diff --git a/recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch b/recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch deleted file mode 100644 index a9cd2317..00000000 --- a/recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From bbd3af94a6146d702909ff7e25b0c0547ecbb895 Mon Sep 17 00:00:00 2001 | ||
2 | From: jlui <jonathan.ming.jun.lui@intel.com> | ||
3 | Date: Wed, 15 Nov 2023 10:48:34 +0800 | ||
4 | Subject: [PATCH 05/13] Add XR24 support to DMABuf | ||
5 | |||
6 | This is to enable XR24/BGRX support for DMABuf | ||
7 | |||
8 | Signed-off-by: Lui, Jonathan Ming Jun <jonathan.ming.jun.lui@intel.com> | ||
9 | |||
10 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/3910b7029f5416fd0b5972f940c65d0a82c48c7b] | ||
11 | |||
12 | Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> | ||
13 | --- | ||
14 | .../vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h | 3 ++- | ||
15 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h b/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h | ||
18 | index fdcca8873..2dcf440a4 100644 | ||
19 | --- a/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h | ||
20 | +++ b/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h | ||
21 | @@ -55,8 +55,9 @@ static ProfileSurfaceAttribInfo surfaceAttribInfo_VAEntrypointVideoProc_VAProfil | ||
22 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('4', '2', '2', 'V')}}}, | ||
23 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'A')}}}, | ||
24 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('B', 'G', 'R', 'A')}}}, | ||
25 | - {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, { VA_FOURCC('R', 'G', 'B', 'P')}}}, | ||
26 | + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'P')}}}, | ||
27 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'X')}}}, | ||
28 | + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('X', 'R', 'G', 'B')}}}, | ||
29 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('P', '0', '1', '0')}}}, | ||
30 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', '2', '4')}}}, | ||
31 | {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_ARGB}}}, | ||
32 | -- | ||
33 | 2.40.1 | ||
34 | |||
diff --git a/recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch b/recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch deleted file mode 100644 index 5b04201a..00000000 --- a/recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch +++ /dev/null | |||
@@ -1,214 +0,0 @@ | |||
1 | From 67fb6128adf8fc03d429393e98f0982b42a40e64 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zhang_Xinfeng <carl.zhang@intel.com> | ||
3 | Date: Wed, 27 Dec 2023 09:59:29 +0800 | ||
4 | Subject: [PATCH 06/12] add INTEL MEDIA ALLOC refineE to specify the memory | ||
5 | alignment | ||
6 | |||
7 | this key is used to allocate bigger pages | ||
8 | env variable INTEL_MEDIA_ALLOC_refineE also could be used | ||
9 | and was not enabled by default | ||
10 | mode 0 is default mode | ||
11 | mode 1 is < 64 align to 64 | ||
12 | mode 2 is > 1M && <= 3M align to 1M, >3M align to 2M | ||
13 | mode 3 is mode 1 & mode 2 | ||
14 | |||
15 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/765dd939dcc5562d18cca18e5eda505bda952797] | ||
16 | Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> | ||
17 | --- | ||
18 | .../linux/common/os/i915/mos_bufmgr.c | 75 +++++++++++++++---- | ||
19 | .../common/os/i915_production/mos_bufmgr.c | 1 + | ||
20 | .../common/os/mos_context_specific_next.cpp | 21 +++++- | ||
21 | .../common/os/mos_user_setting_specific.cpp | 7 ++ | ||
22 | 4 files changed, 90 insertions(+), 14 deletions(-) | ||
23 | |||
24 | diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c | ||
25 | index c0b3ba027..b623d0129 100644 | ||
26 | --- a/media_softlet/linux/common/os/i915/mos_bufmgr.c | ||
27 | +++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c | ||
28 | @@ -138,7 +138,7 @@ struct mos_bufmgr_gem { | ||
29 | int exec_count; | ||
30 | |||
31 | /** Array of lists of cached gem objects of power-of-two sizes */ | ||
32 | - struct mos_gem_bo_bucket cache_bucket[14 * 4]; | ||
33 | + struct mos_gem_bo_bucket cache_bucket[64]; | ||
34 | int num_buckets; | ||
35 | time_t time; | ||
36 | |||
37 | @@ -3852,9 +3852,9 @@ add_bucket(struct mos_bufmgr_gem *bufmgr_gem, int size) | ||
38 | } | ||
39 | |||
40 | static void | ||
41 | -init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem) | ||
42 | +init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem, uint8_t alloc_mode) | ||
43 | { | ||
44 | - unsigned long size, cache_max_size = 64 * 1024 * 1024; | ||
45 | + unsigned long size, cache_max_size = 64 * 1024 * 1024, unit_size; | ||
46 | |||
47 | /* OK, so power of two buckets was too wasteful of memory. | ||
48 | * Give 3 other sizes between each power of two, to hopefully | ||
49 | @@ -3864,17 +3864,63 @@ init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem) | ||
50 | * width/height alignment and rounding of sizes to pages will | ||
51 | * get us useful cache hit rates anyway) | ||
52 | */ | ||
53 | - add_bucket(bufmgr_gem, 4096); | ||
54 | - add_bucket(bufmgr_gem, 4096 * 2); | ||
55 | - add_bucket(bufmgr_gem, 4096 * 3); | ||
56 | + /* alloc_mode 0 is default alloc_mode | ||
57 | + * alloc_mode 1 rounding up to 64K for all < 1M | ||
58 | + * alloc_mode 2 rounding up to 2M for size> 1M | ||
59 | + * alloc_mode 3 rounding up to 2M for size > 1M and 64K for size <= 1M */ | ||
60 | + if( alloc_mode > 3 ) | ||
61 | + alloc_mode = 0; | ||
62 | + | ||
63 | + if ( 0 == alloc_mode || 2 == alloc_mode) | ||
64 | + { | ||
65 | + // < 1M normal alloc_mode | ||
66 | + add_bucket(bufmgr_gem, 4096); | ||
67 | + add_bucket(bufmgr_gem, 4096 * 2); | ||
68 | + add_bucket(bufmgr_gem, 4096 * 3); | ||
69 | + /* Initialize the linked lists for BO reuse cache. */ | ||
70 | + for (size = 4 * 4096; size < 1024 * 1024; size *= 2) { | ||
71 | + add_bucket(bufmgr_gem, size); | ||
72 | + add_bucket(bufmgr_gem, size + size * 1 / 4); | ||
73 | + add_bucket(bufmgr_gem, size + size * 2 / 4); | ||
74 | + add_bucket(bufmgr_gem, size + size * 3 / 4); | ||
75 | + } | ||
76 | |||
77 | - /* Initialize the linked lists for BO reuse cache. */ | ||
78 | - for (size = 4 * 4096; size <= cache_max_size; size *= 2) { | ||
79 | - add_bucket(bufmgr_gem, size); | ||
80 | + add_bucket(bufmgr_gem, 1024 * 1024); | ||
81 | + } | ||
82 | + if (1 == alloc_mode || 3 == alloc_mode) | ||
83 | + { | ||
84 | + // < 1M 64k alignment | ||
85 | + unit_size = 64 * 1024; | ||
86 | + for (size = unit_size; size <= 1024 * 1024; size += unit_size) | ||
87 | + { | ||
88 | + add_bucket(bufmgr_gem, size); | ||
89 | + } | ||
90 | + } | ||
91 | + if( 0 == alloc_mode || 1 == alloc_mode) | ||
92 | + { | ||
93 | + //> 1M is normal alloc_mode | ||
94 | + add_bucket(bufmgr_gem, 1280 * 1024); | ||
95 | + add_bucket(bufmgr_gem, 1536 * 1024); | ||
96 | + add_bucket(bufmgr_gem, 1792 * 1024); | ||
97 | + | ||
98 | + for (size = 2 * 1024 * 1024; size < cache_max_size; size *= 2) { | ||
99 | + add_bucket(bufmgr_gem, size); | ||
100 | + add_bucket(bufmgr_gem, size + size * 1 / 4); | ||
101 | + add_bucket(bufmgr_gem, size + size * 2 / 4); | ||
102 | + add_bucket(bufmgr_gem, size + size * 3 / 4); | ||
103 | + } | ||
104 | + } | ||
105 | + if( 2 == alloc_mode || 3 == alloc_mode) | ||
106 | + { | ||
107 | + //> 1M rolling to 2M | ||
108 | + unit_size = 2 * 1024 * 1024; | ||
109 | + add_bucket(bufmgr_gem, unit_size); | ||
110 | + add_bucket(bufmgr_gem, 3 * 1024 * 1024); | ||
111 | |||
112 | - add_bucket(bufmgr_gem, size + size * 1 / 4); | ||
113 | - add_bucket(bufmgr_gem, size + size * 2 / 4); | ||
114 | - add_bucket(bufmgr_gem, size + size * 3 / 4); | ||
115 | + for (size = 4 * 1024 * 1024; size <= cache_max_size; size += unit_size) | ||
116 | + { | ||
117 | + add_bucket(bufmgr_gem, size); | ||
118 | + } | ||
119 | } | ||
120 | } | ||
121 | |||
122 | @@ -5100,6 +5146,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) | ||
123 | struct drm_i915_gem_get_aperture aperture; | ||
124 | drm_i915_getparam_t gp; | ||
125 | int ret, tmp; | ||
126 | + uint8_t alloc_mode; | ||
127 | bool exec2 = false; | ||
128 | |||
129 | pthread_mutex_lock(&bufmgr_list_mutex); | ||
130 | @@ -5352,10 +5399,12 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) | ||
131 | * | ||
132 | * Every 4 was too few for the blender benchmark. | ||
133 | */ | ||
134 | + alloc_mode = (uint8_t)(batch_size & 0xff); | ||
135 | + batch_size &= 0xffffff00; | ||
136 | bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; | ||
137 | |||
138 | DRMINITLISTHEAD(&bufmgr_gem->named); | ||
139 | - init_cache_buckets(bufmgr_gem); | ||
140 | + init_cache_buckets(bufmgr_gem,alloc_mode); | ||
141 | |||
142 | DRMLISTADD(&bufmgr_gem->managers, &bufmgr_list); | ||
143 | |||
144 | diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c | ||
145 | index 90b5685b1..b3574f7d3 100644 | ||
146 | --- a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c | ||
147 | +++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c | ||
148 | @@ -5403,6 +5403,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) | ||
149 | * | ||
150 | * Every 4 was too few for the blender benchmark. | ||
151 | */ | ||
152 | + batch_size &= 0xffffff00; | ||
153 | bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; | ||
154 | |||
155 | DRMINITLISTHEAD(&bufmgr_gem->named); | ||
156 | diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
157 | index 9e9e3ff7e..543e262d1 100644 | ||
158 | --- a/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
159 | +++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
160 | @@ -64,6 +64,7 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) | ||
161 | uint32_t iDeviceId = 0; | ||
162 | MOS_STATUS eStatus = MOS_STATUS_SUCCESS; | ||
163 | uint32_t value = 0; | ||
164 | + uint32_t mode = 0; | ||
165 | MediaUserSettingSharedPtr userSettingPtr = nullptr; | ||
166 | |||
167 | MOS_OS_FUNCTION_ENTER; | ||
168 | @@ -89,7 +90,25 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) | ||
169 | |||
170 | userSettingPtr = MosInterface::MosGetUserSettingInstance(osDriverContext); | ||
171 | |||
172 | - m_bufmgr = mos_bufmgr_gem_init(m_fd, BATCH_BUFFER_SIZE, &m_deviceType); | ||
173 | + mode = BATCH_BUFFER_SIZE; | ||
174 | + ReadUserSetting( | ||
175 | + userSettingPtr, | ||
176 | + value, | ||
177 | + "INTEL MEDIA ALLOC MODE", | ||
178 | + MediaUserSetting::Group::Device); | ||
179 | + | ||
180 | + if (value) | ||
181 | + { | ||
182 | + mode |= (value & 0x000000ff); | ||
183 | + } | ||
184 | + value = 0; | ||
185 | + /* no need to set batch buffer size after switch to softpin | ||
186 | + * keep it, just for test during relocation to softpin transition | ||
187 | + * now , it could be a debug method , but is actually useless | ||
188 | + * so it is safe to reuse the lowest 8bit to convey addtional information | ||
189 | + * more suitable solution is deleting it , or add additional parameter*/ | ||
190 | + | ||
191 | + m_bufmgr = mos_bufmgr_gem_init(m_fd, (int)mode, &m_deviceType); | ||
192 | if (nullptr == m_bufmgr) | ||
193 | { | ||
194 | MOS_OS_ASSERTMESSAGE("Not able to allocate buffer manager, fd=0x%d", m_fd); | ||
195 | diff --git a/media_softlet/linux/common/os/mos_user_setting_specific.cpp b/media_softlet/linux/common/os/mos_user_setting_specific.cpp | ||
196 | index 6be8b4298..caed584f4 100644 | ||
197 | --- a/media_softlet/linux/common/os/mos_user_setting_specific.cpp | ||
198 | +++ b/media_softlet/linux/common/os/mos_user_setting_specific.cpp | ||
199 | @@ -52,5 +52,12 @@ MOS_STATUS MosUserSetting::InitMosUserSettingSpecific(MediaUserSettingSharedPtr | ||
200 | 0, | ||
201 | true); //"Enable VM Bind." | ||
202 | |||
203 | + DeclareUserSettingKey( | ||
204 | + userSettingPtr, | ||
205 | + "INTEL MEDIA ALLOC MODE", | ||
206 | + MediaUserSetting::Group::Device, | ||
207 | + 0, | ||
208 | + false); // | ||
209 | + | ||
210 | return MOS_STATUS_SUCCESS; | ||
211 | } | ||
212 | -- | ||
213 | 2.40.1 | ||
214 | |||
diff --git a/recipes-multimedia/libva/files/0007-Skip-report-keys.patch b/recipes-multimedia/libva/files/0007-Skip-report-keys.patch deleted file mode 100644 index 459ff490..00000000 --- a/recipes-multimedia/libva/files/0007-Skip-report-keys.patch +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | From b1aebef4d342c77fc2b9c5efbf20aeb2aa9d634e Mon Sep 17 00:00:00 2001 | ||
2 | From: Wang_Pingli <pingli.wang@intel.com> | ||
3 | Date: Thu, 28 Dec 2023 16:44:40 +0800 | ||
4 | Subject: [PATCH 07/12] Skip report keys | ||
5 | |||
6 | Skip to report keys | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/68ce25b0a6fa90614eb4734c8680aa4e149e8323] | ||
9 | Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> | ||
10 | --- | ||
11 | .../os/osservice/mos_utilities_specific.cpp | 30 +++++++++++++++++-- | ||
12 | 1 file changed, 28 insertions(+), 2 deletions(-) | ||
13 | |||
14 | diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp | ||
15 | index b5df29f06..96785e21e 100644 | ||
16 | --- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp | ||
17 | +++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp | ||
18 | @@ -67,6 +67,8 @@ int32_t g_mosMemoryFailSimulateAllocCounter = 0; | ||
19 | int32_t *MosUtilities::m_mosAllocMemoryFailSimulateAllocCounter = &g_mosMemoryFailSimulateAllocCounter; | ||
20 | #endif | ||
21 | |||
22 | +static bool s_skipToReportReg = false; | ||
23 | + | ||
24 | double MosUtilities::MosGetTime() | ||
25 | { | ||
26 | struct timespec ts = {}; | ||
27 | @@ -1551,6 +1553,10 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) | ||
28 | { | ||
29 | std::string id = ""; | ||
30 | |||
31 | + static const char *disableReportRegKeyList[] = { | ||
32 | + "INTEL MEDIA ALLOC MODE" | ||
33 | + }; | ||
34 | + static const uint32_t disableReportRegKeyListCount = sizeof(disableReportRegKeyList) / sizeof(disableReportRegKeyList[0]); | ||
35 | while(!regStream.eof()) | ||
36 | { | ||
37 | std::string line = ""; | ||
38 | @@ -1585,8 +1591,22 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) | ||
39 | { | ||
40 | std::string name = line.substr(0,pos); | ||
41 | std::string value = line.substr(pos+1); | ||
42 | - auto &keys = regBufferMap[id]; | ||
43 | - keys[name] = value; | ||
44 | + if (name.size() > 0 && value.size() > 0) | ||
45 | + { | ||
46 | + auto &keys = regBufferMap[id]; | ||
47 | + keys[name] = value; | ||
48 | + if (s_skipToReportReg == false && id == USER_SETTING_CONFIG_PATH) | ||
49 | + { | ||
50 | + for (uint32_t i = 0; i < disableReportRegKeyListCount; i++) | ||
51 | + { | ||
52 | + if (strcmp(name.c_str(), disableReportRegKeyList[i]) == 0) | ||
53 | + { | ||
54 | + s_skipToReportReg = true; | ||
55 | + break; | ||
56 | + } | ||
57 | + } | ||
58 | + } | ||
59 | + } | ||
60 | } | ||
61 | } | ||
62 | } | ||
63 | @@ -1606,6 +1626,12 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) | ||
64 | MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap ®BufferMap) | ||
65 | { | ||
66 | MOS_STATUS status = MOS_STATUS_SUCCESS; | ||
67 | + | ||
68 | + if (s_skipToReportReg) | ||
69 | + { | ||
70 | + return MOS_STATUS_SUCCESS; | ||
71 | + } | ||
72 | + | ||
73 | if (regBufferMap.size() == 0) | ||
74 | { | ||
75 | return MOS_STATUS_SUCCESS; | ||
76 | -- | ||
77 | 2.40.1 | ||
78 | |||
diff --git a/recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch b/recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch deleted file mode 100644 index ece5e00b..00000000 --- a/recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch +++ /dev/null | |||
@@ -1,255 +0,0 @@ | |||
1 | From ac2ffac8d4aade216cc361c6c7120c13a8780719 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Soon, Thean Siew" <thean.siew.soon@intel.com> | ||
3 | Date: Thu, 28 Dec 2023 18:42:59 +0000 | ||
4 | Subject: [PATCH 08/12] Limit INTEL MEDIA ALLOC MODE to MTL and ARL only | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1754] | ||
7 | |||
8 | Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com> | ||
9 | --- | ||
10 | .../common/os/i915/include/mos_bufmgr_api.h | 1 + | ||
11 | .../common/os/i915/include/mos_bufmgr_priv.h | 2 +- | ||
12 | .../linux/common/os/i915/mos_bufmgr.c | 69 +++++++++++++++---- | ||
13 | .../linux/common/os/i915/mos_bufmgr_api.c | 19 +++++ | ||
14 | .../os/i915_production/mos_bufmgr_priv.h | 1 + | ||
15 | .../common/os/mos_context_specific_next.cpp | 36 +++++----- | ||
16 | 6 files changed, 94 insertions(+), 34 deletions(-) | ||
17 | |||
18 | diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h | ||
19 | index 71cc01099..ab4f1ba89 100644 | ||
20 | --- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h | ||
21 | +++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h | ||
22 | @@ -299,6 +299,7 @@ void mos_bufmgr_enable_vmbind(struct mos_bufmgr *bufmgr); | ||
23 | void mos_bufmgr_disable_object_capture(struct mos_bufmgr *bufmgr); | ||
24 | int mos_bufmgr_get_memory_info(struct mos_bufmgr *bufmgr, char *info, uint32_t length); | ||
25 | int mos_bufmgr_get_devid(struct mos_bufmgr *bufmgr); | ||
26 | +void mos_bufmgr_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode); | ||
27 | |||
28 | int mos_bo_map_unsynchronized(struct mos_linux_bo *bo); | ||
29 | int mos_bo_map_gtt(struct mos_linux_bo *bo); | ||
30 | diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h | ||
31 | index 63f69f985..6fd58f827 100644 | ||
32 | --- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h | ||
33 | +++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h | ||
34 | @@ -358,9 +358,9 @@ struct mos_bufmgr { | ||
35 | void (*disable_object_capture)(struct mos_bufmgr *bufmgr) = nullptr; | ||
36 | int (*get_memory_info)(struct mos_bufmgr *bufmgr, char *info, uint32_t length) = nullptr; | ||
37 | int (*get_devid)(struct mos_bufmgr *bufmgr) = nullptr; | ||
38 | + void (*realloc_cache)(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) = nullptr; | ||
39 | int (*query_engines_count)(struct mos_bufmgr *bufmgr, | ||
40 | unsigned int *nengine) = nullptr; | ||
41 | - | ||
42 | int (*query_engines)(struct mos_bufmgr *bufmgr, | ||
43 | __u16 engine_class, | ||
44 | __u64 caps, | ||
45 | diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c | ||
46 | index b623d0129..2814ddbb7 100644 | ||
47 | --- a/media_softlet/linux/common/os/i915/mos_bufmgr.c | ||
48 | +++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c | ||
49 | @@ -2426,19 +2426,9 @@ mos_gem_bo_start_gtt_access(struct mos_linux_bo *bo, int write_enable) | ||
50 | } | ||
51 | |||
52 | static void | ||
53 | -mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr) | ||
54 | +mos_bufmgr_cleanup_cache(struct mos_bufmgr_gem *bufmgr_gem) | ||
55 | { | ||
56 | - struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *) bufmgr; | ||
57 | - struct drm_gem_close close_bo; | ||
58 | - int i, ret; | ||
59 | - | ||
60 | - free(bufmgr_gem->exec2_objects); | ||
61 | - free(bufmgr_gem->exec_objects); | ||
62 | - free(bufmgr_gem->exec_bos); | ||
63 | - pthread_mutex_destroy(&bufmgr_gem->lock); | ||
64 | - | ||
65 | - /* Free any cached buffer objects we were going to reuse */ | ||
66 | - for (i = 0; i < bufmgr_gem->num_buckets; i++) { | ||
67 | + for (int i = 0; i < bufmgr_gem->num_buckets; i++) { | ||
68 | struct mos_gem_bo_bucket *bucket = | ||
69 | &bufmgr_gem->cache_bucket[i]; | ||
70 | struct mos_bo_gem *bo_gem; | ||
71 | @@ -2450,7 +2440,25 @@ mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr) | ||
72 | |||
73 | mos_gem_bo_free(&bo_gem->bo); | ||
74 | } | ||
75 | + bufmgr_gem->cache_bucket[i].size = 0; | ||
76 | } | ||
77 | + bufmgr_gem->num_buckets = 0; | ||
78 | +} | ||
79 | + | ||
80 | +static void | ||
81 | +mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr) | ||
82 | +{ | ||
83 | + struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; | ||
84 | + struct drm_gem_close close_bo; | ||
85 | + int ret; | ||
86 | + | ||
87 | + free(bufmgr_gem->exec2_objects); | ||
88 | + free(bufmgr_gem->exec_objects); | ||
89 | + free(bufmgr_gem->exec_bos); | ||
90 | + pthread_mutex_destroy(&bufmgr_gem->lock); | ||
91 | + | ||
92 | + /* Free any cached buffer objects we were going to reuse */ | ||
93 | + mos_bufmgr_cleanup_cache(bufmgr_gem); | ||
94 | |||
95 | /* Release userptr bo kept hanging around for optimisation. */ | ||
96 | if (bufmgr_gem->userptr_active.ptr) { | ||
97 | @@ -3852,9 +3860,41 @@ add_bucket(struct mos_bufmgr_gem *bufmgr_gem, int size) | ||
98 | } | ||
99 | |||
100 | static void | ||
101 | -init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem, uint8_t alloc_mode) | ||
102 | +init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem) | ||
103 | +{ | ||
104 | + unsigned long size, cache_max_size = 64 * 1024 * 1024; | ||
105 | + | ||
106 | + /* OK, so power of two buckets was too wasteful of memory. | ||
107 | + * Give 3 other sizes between each power of two, to hopefully | ||
108 | + * cover things accurately enough. (The alternative is | ||
109 | + * probably to just go for exact matching of sizes, and assume | ||
110 | + * that for things like composited window resize the tiled | ||
111 | + * width/height alignment and rounding of sizes to pages will | ||
112 | + * get us useful cache hit rates anyway) | ||
113 | + */ | ||
114 | + add_bucket(bufmgr_gem, 4096); | ||
115 | + add_bucket(bufmgr_gem, 4096 * 2); | ||
116 | + add_bucket(bufmgr_gem, 4096 * 3); | ||
117 | + | ||
118 | + /* Initialize the linked lists for BO reuse cache. */ | ||
119 | + for (size = 4 * 4096; size <= cache_max_size; size *= 2) { | ||
120 | + add_bucket(bufmgr_gem, size); | ||
121 | + | ||
122 | + add_bucket(bufmgr_gem, size + size * 1 / 4); | ||
123 | + add_bucket(bufmgr_gem, size + size * 2 / 4); | ||
124 | + add_bucket(bufmgr_gem, size + size * 3 / 4); | ||
125 | + } | ||
126 | +} | ||
127 | + | ||
128 | +static void | ||
129 | +mos_gem_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) | ||
130 | { | ||
131 | unsigned long size, cache_max_size = 64 * 1024 * 1024, unit_size; | ||
132 | + struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; | ||
133 | + | ||
134 | + // Clean up the pre-allocated cache before re-allocating according | ||
135 | + // to alloc_mode | ||
136 | + mos_bufmgr_cleanup_cache(bufmgr_gem); | ||
137 | |||
138 | /* OK, so power of two buckets was too wasteful of memory. | ||
139 | * Give 3 other sizes between each power of two, to hopefully | ||
140 | @@ -5218,6 +5258,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) | ||
141 | bufmgr_gem->bufmgr.disable_object_capture = mos_gem_disable_object_capture; | ||
142 | bufmgr_gem->bufmgr.get_memory_info = mos_gem_get_memory_info; | ||
143 | bufmgr_gem->bufmgr.get_devid = mos_gem_get_devid; | ||
144 | + bufmgr_gem->bufmgr.realloc_cache = mos_gem_realloc_cache; | ||
145 | bufmgr_gem->bufmgr.set_context_param = mos_gem_set_context_param; | ||
146 | bufmgr_gem->bufmgr.set_context_param_parallel = mos_gem_set_context_param_parallel; | ||
147 | bufmgr_gem->bufmgr.set_context_param_load_balance = mos_gem_set_context_param_load_balance; | ||
148 | @@ -5404,7 +5445,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) | ||
149 | bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; | ||
150 | |||
151 | DRMINITLISTHEAD(&bufmgr_gem->named); | ||
152 | - init_cache_buckets(bufmgr_gem,alloc_mode); | ||
153 | + init_cache_buckets(bufmgr_gem); | ||
154 | |||
155 | DRMLISTADD(&bufmgr_gem->managers, &bufmgr_list); | ||
156 | |||
157 | diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c | ||
158 | index abe8ef96a..d0e02c267 100644 | ||
159 | --- a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c | ||
160 | +++ b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c | ||
161 | @@ -1204,6 +1204,25 @@ mos_bufmgr_get_devid(struct mos_bufmgr *bufmgr) | ||
162 | } | ||
163 | } | ||
164 | |||
165 | +void | ||
166 | +mos_bufmgr_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) | ||
167 | +{ | ||
168 | + if(!bufmgr) | ||
169 | + { | ||
170 | + MOS_OS_CRITICALMESSAGE("Input null ptr\n"); | ||
171 | + return; | ||
172 | + } | ||
173 | + | ||
174 | + if (bufmgr->realloc_cache) | ||
175 | + { | ||
176 | + return bufmgr->realloc_cache(bufmgr, alloc_mode); | ||
177 | + } | ||
178 | + else | ||
179 | + { | ||
180 | + MOS_OS_CRITICALMESSAGE("Unsupported\n"); | ||
181 | + } | ||
182 | +} | ||
183 | + | ||
184 | int | ||
185 | mos_query_engines_count(struct mos_bufmgr *bufmgr, | ||
186 | unsigned int *nengine) | ||
187 | diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h | ||
188 | index c3b765a4c..1d7f7edb0 100644 | ||
189 | --- a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h | ||
190 | +++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h | ||
191 | @@ -358,6 +358,7 @@ struct mos_bufmgr { | ||
192 | void (*disable_object_capture)(struct mos_bufmgr *bufmgr) = nullptr; | ||
193 | int (*get_memory_info)(struct mos_bufmgr *bufmgr, char *info, uint32_t length) = nullptr; | ||
194 | int (*get_devid)(struct mos_bufmgr *bufmgr) = nullptr; | ||
195 | + void (*realloc_cache)(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) = nullptr; | ||
196 | int (*query_engines_count)(struct mos_bufmgr *bufmgr, | ||
197 | unsigned int *nengine) = nullptr; | ||
198 | |||
199 | diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
200 | index 543e262d1..87059f538 100644 | ||
201 | --- a/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
202 | +++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
203 | @@ -90,25 +90,7 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) | ||
204 | |||
205 | userSettingPtr = MosInterface::MosGetUserSettingInstance(osDriverContext); | ||
206 | |||
207 | - mode = BATCH_BUFFER_SIZE; | ||
208 | - ReadUserSetting( | ||
209 | - userSettingPtr, | ||
210 | - value, | ||
211 | - "INTEL MEDIA ALLOC MODE", | ||
212 | - MediaUserSetting::Group::Device); | ||
213 | - | ||
214 | - if (value) | ||
215 | - { | ||
216 | - mode |= (value & 0x000000ff); | ||
217 | - } | ||
218 | - value = 0; | ||
219 | - /* no need to set batch buffer size after switch to softpin | ||
220 | - * keep it, just for test during relocation to softpin transition | ||
221 | - * now , it could be a debug method , but is actually useless | ||
222 | - * so it is safe to reuse the lowest 8bit to convey addtional information | ||
223 | - * more suitable solution is deleting it , or add additional parameter*/ | ||
224 | - | ||
225 | - m_bufmgr = mos_bufmgr_gem_init(m_fd, (int)mode, &m_deviceType); | ||
226 | + m_bufmgr = mos_bufmgr_gem_init(m_fd, BATCH_BUFFER_SIZE, &m_deviceType); | ||
227 | if (nullptr == m_bufmgr) | ||
228 | { | ||
229 | MOS_OS_ASSERTMESSAGE("Not able to allocate buffer manager, fd=0x%d", m_fd); | ||
230 | @@ -151,6 +133,22 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) | ||
231 | return eStatus; | ||
232 | } | ||
233 | |||
234 | + if (m_platformInfo.eProductFamily == IGFX_METEORLAKE || | ||
235 | + m_platformInfo.eProductFamily == IGFX_ARROWLAKE) | ||
236 | + { | ||
237 | + ReadUserSetting( | ||
238 | + userSettingPtr, | ||
239 | + value, | ||
240 | + "INTEL MEDIA ALLOC MODE", | ||
241 | + MediaUserSetting::Group::Device); | ||
242 | + | ||
243 | + if (value) | ||
244 | + { | ||
245 | + mode = (value & 0x000000ff); | ||
246 | + } | ||
247 | + mos_bufmgr_realloc_cache(m_bufmgr, mode); | ||
248 | + } | ||
249 | + | ||
250 | ReadUserSetting( | ||
251 | userSettingPtr, | ||
252 | value, | ||
253 | -- | ||
254 | 2.40.1 | ||
255 | |||
diff --git a/recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch b/recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch deleted file mode 100644 index 8ee7ef14..00000000 --- a/recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | From 18c32247cbc0e9fabff7a847add099496af9e53f Mon Sep 17 00:00:00 2001 | ||
2 | From: "Soon, Thean Siew" <thean.siew.soon@intel.com> | ||
3 | Date: Mon, 8 Jan 2024 18:12:30 +0000 | ||
4 | Subject: [PATCH 09/12] Skip cache bucket realloc for default mode 0 | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1754] | ||
7 | |||
8 | Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com> | ||
9 | --- | ||
10 | .../linux/common/os/mos_context_specific_next.cpp | 7 ++++++- | ||
11 | 1 file changed, 6 insertions(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
14 | index 87059f538..9dbd5da79 100644 | ||
15 | --- a/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
16 | +++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp | ||
17 | @@ -146,7 +146,12 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) | ||
18 | { | ||
19 | mode = (value & 0x000000ff); | ||
20 | } | ||
21 | - mos_bufmgr_realloc_cache(m_bufmgr, mode); | ||
22 | + | ||
23 | + // Realloc cache only if it's not mode 0 | ||
24 | + if (mode) | ||
25 | + { | ||
26 | + mos_bufmgr_realloc_cache(m_bufmgr, mode); | ||
27 | + } | ||
28 | } | ||
29 | |||
30 | ReadUserSetting( | ||
31 | -- | ||
32 | 2.40.1 | ||
33 | |||
diff --git a/recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch b/recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch deleted file mode 100644 index 0100df77..00000000 --- a/recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch +++ /dev/null | |||
@@ -1,195 +0,0 @@ | |||
1 | From 7291ab5206c5e172c6c94dcfbe4f1bc258f3b7a5 Mon Sep 17 00:00:00 2001 | ||
2 | From: WenshengZhang <wensheng.zhang@intel.com> | ||
3 | Date: Wed, 10 Jan 2024 14:08:37 +0800 | ||
4 | Subject: [PATCH 10/12] Fix failed 4k video wall test case and color corruption | ||
5 | of video composition | ||
6 | |||
7 | Fix failed 4k video wall test case from 16CH video only show 1CH output and | ||
8 | corruption observed on certain number of video composition when doing | ||
9 | sample_multi_transcode. | ||
10 | |||
11 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/38e14b1b97170b51586d00d1fa607e496b0c5825] | ||
12 | Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> | ||
13 | --- | ||
14 | .../common/vp/kdll/hal_kerneldll_next.h | 1 + | ||
15 | .../vp/hal/packet/vp_render_fc_kernel.cpp | 7 ++ | ||
16 | .../common/vp/kdll/hal_kerneldll_next.c | 70 +++++++++++-------- | ||
17 | .../linux/common/vp/ddi/ddi_vp_functions.cpp | 20 ++---- | ||
18 | 4 files changed, 55 insertions(+), 43 deletions(-) | ||
19 | |||
20 | diff --git a/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h b/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h | ||
21 | index 6447999b7..8e2ab371e 100644 | ||
22 | --- a/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h | ||
23 | +++ b/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h | ||
24 | @@ -588,6 +588,7 @@ typedef struct tagKdll_FilterEntry | ||
25 | Kdll_Scalingratio ScalingRatio; | ||
26 | Kdll_RenderMethod RenderMethod; | ||
27 | Kdll_SetCSCCoeffMethod SetCSCCoeffMode; | ||
28 | + bool forceToTargetColorSpace; | ||
29 | } Kdll_FilterEntry, *PKdll_FilterEntry; | ||
30 | |||
31 | // Structure that defines a compositing filter | ||
32 | diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp b/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp | ||
33 | index 8e982f67e..f8308fed1 100644 | ||
34 | --- a/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp | ||
35 | +++ b/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp | ||
36 | @@ -775,6 +775,13 @@ MOS_STATUS VpRenderFcKernel::BuildFilter( | ||
37 | |||
38 | for (i = 0; (i < (int)compParams->sourceCount) && (iMaxFilterSize > 0); i++) | ||
39 | { | ||
40 | + if (i > 0) | ||
41 | + { | ||
42 | + if (!RECT1_CONTAINS_RECT2(compParams->source[0].surf->rcDst, compParams->source[i].surf->rcDst)) | ||
43 | + { | ||
44 | + pFilter->forceToTargetColorSpace = true; | ||
45 | + } | ||
46 | + } | ||
47 | src = &compParams->source[i]; | ||
48 | |||
49 | //-------------------------------- | ||
50 | diff --git a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c | ||
51 | index d8f7d429a..151f3b039 100644 | ||
52 | --- a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c | ||
53 | +++ b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c | ||
54 | @@ -2378,6 +2378,7 @@ bool KernelDll_SetupCSC( | ||
55 | Kdll_CSC_Matrix curr_matrix; | ||
56 | Kdll_CSC_Matrix *matrix = pCSC->Matrix; // Color Space conversion matrix | ||
57 | uint8_t * matrixID = pCSC->MatrixID; // CSC coefficient allocation table | ||
58 | + bool forceToTargetColorSpace = false; | ||
59 | |||
60 | // Clear all CSC matrices | ||
61 | MOS_ZeroMemory(matrix, sizeof(pCSC->Matrix)); | ||
62 | @@ -2395,6 +2396,10 @@ bool KernelDll_SetupCSC( | ||
63 | //---------------------------------------------------------------// | ||
64 | for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++) | ||
65 | { | ||
66 | + if (pFilter->forceToTargetColorSpace) | ||
67 | + { | ||
68 | + forceToTargetColorSpace = true; | ||
69 | + } | ||
70 | // Disable Procamp for all layers except Main Video | ||
71 | // Disable Procamp if source is RGB | ||
72 | if (pFilter->layer != Layer_MainVideo || | ||
73 | @@ -2456,44 +2461,51 @@ bool KernelDll_SetupCSC( | ||
74 | //---------------------------------------------------------------// | ||
75 | if (sel_cspace == CSpace_Any) | ||
76 | { | ||
77 | - int cs; | ||
78 | - for (cs = (CSpace_Any + 1); cs < CSpace_Count; cs++) | ||
79 | + if (forceToTargetColorSpace) | ||
80 | { | ||
81 | - // Skip color spaces not in use | ||
82 | - cspace = (VPHAL_CSPACE)cs; | ||
83 | - if (!cspace_in_use[cspace]) | ||
84 | - { | ||
85 | - continue; | ||
86 | - } | ||
87 | - | ||
88 | - // xvYCC and BT are treated as same for CSC considerations (BT.x to xvYCC.x matrix is I) | ||
89 | - cspace = KernelDll_TranslateCspace(cspace); | ||
90 | - | ||
91 | - // Count # of CS conversions and matrices | ||
92 | - csc_count = 0; | ||
93 | - for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++) | ||
94 | + sel_cspace = out_cspace; | ||
95 | + } | ||
96 | + else | ||
97 | + { | ||
98 | + int cs; | ||
99 | + for (cs = (CSpace_Any + 1); cs < CSpace_Count; cs++) | ||
100 | { | ||
101 | - // Ignore layers where the Color Space may be set in software (colorfill, palletized) | ||
102 | - if (pFilter->cspace == CSpace_Any) | ||
103 | + // Skip color spaces not in use | ||
104 | + cspace = (VPHAL_CSPACE)cs; | ||
105 | + if (!cspace_in_use[cspace]) | ||
106 | { | ||
107 | continue; | ||
108 | } | ||
109 | |||
110 | - // Check if CSC/PA is required | ||
111 | - if (KernelDll_TranslateCspace(pFilter->cspace) != cspace || | ||
112 | - pFilter->procamp != DL_PROCAMP_DISABLED) | ||
113 | + // xvYCC and BT are treated as same for CSC considerations (BT.x to xvYCC.x matrix is I) | ||
114 | + cspace = KernelDll_TranslateCspace(cspace); | ||
115 | + | ||
116 | + // Count # of CS conversions and matrices | ||
117 | + csc_count = 0; | ||
118 | + for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++) | ||
119 | { | ||
120 | - csc_count++; | ||
121 | + // Ignore layers where the Color Space may be set in software (colorfill, palletized) | ||
122 | + if (pFilter->cspace == CSpace_Any) | ||
123 | + { | ||
124 | + continue; | ||
125 | + } | ||
126 | + | ||
127 | + // Check if CSC/PA is required | ||
128 | + if (KernelDll_TranslateCspace(pFilter->cspace) != cspace || | ||
129 | + pFilter->procamp != DL_PROCAMP_DISABLED) | ||
130 | + { | ||
131 | + csc_count++; | ||
132 | + } | ||
133 | } | ||
134 | - } | ||
135 | |||
136 | - // Save best choice as requiring minimum number of CSC operations | ||
137 | - if ((sel_csc_count < 0) || // Initial value | ||
138 | - (csc_count < sel_csc_count) || // Minimum number of CSC operations | ||
139 | - (csc_count == sel_csc_count && cs == main_cspace)) // Use main cspace as default if same CSC count | ||
140 | - { | ||
141 | - sel_cspace = cspace; | ||
142 | - sel_csc_count = csc_count; | ||
143 | + // Save best choice as requiring minimum number of CSC operations | ||
144 | + if ((sel_csc_count < 0) || // Initial value | ||
145 | + (csc_count < sel_csc_count) || // Minimum number of CSC operations | ||
146 | + (csc_count == sel_csc_count && cs == main_cspace)) // Use main cspace as default if same CSC count | ||
147 | + { | ||
148 | + sel_cspace = cspace; | ||
149 | + sel_csc_count = csc_count; | ||
150 | + } | ||
151 | } | ||
152 | } | ||
153 | } | ||
154 | diff --git a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp | ||
155 | index 40d0b3fad..e60a6c69c 100644 | ||
156 | --- a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp | ||
157 | +++ b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp | ||
158 | @@ -2115,9 +2115,8 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill( | ||
159 | { | ||
160 | DDI_VP_FUNC_ENTER; | ||
161 | DDI_VP_CHK_NULL(vpHalRenderParams, "nullptr vpHalRenderParams.", VA_STATUS_ERROR_INVALID_PARAMETER); | ||
162 | - DDI_VP_CHK_NULL(vpHalRenderParams->pTarget[0],"nullptr pTarget[0].", VA_STATUS_ERROR_INVALID_PARAMETER); | ||
163 | |||
164 | - if ((outBackGroundcolor >> 24) != 0 || vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB) | ||
165 | + if ((outBackGroundcolor >> 24) != 0) | ||
166 | { | ||
167 | if (vpHalRenderParams->pColorFillParams == nullptr) | ||
168 | { | ||
169 | @@ -2126,18 +2125,11 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill( | ||
170 | |||
171 | DDI_VP_CHK_NULL(vpHalRenderParams->pColorFillParams, "nullptr pColorFillParams.", VA_STATUS_ERROR_UNKNOWN); | ||
172 | |||
173 | - if (vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB && (outBackGroundcolor >> 24) == 0) | ||
174 | - { | ||
175 | - // set color space for sRGB output | ||
176 | - vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; | ||
177 | - } | ||
178 | - else | ||
179 | - { | ||
180 | - // set background colorfill option | ||
181 | - vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor; | ||
182 | - vpHalRenderParams->pColorFillParams->bYCbCr = false; | ||
183 | - vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; | ||
184 | - } | ||
185 | + // set background colorfill option | ||
186 | + vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor; | ||
187 | + vpHalRenderParams->pColorFillParams->bYCbCr = false; | ||
188 | + vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; | ||
189 | + | ||
190 | } | ||
191 | else | ||
192 | { | ||
193 | -- | ||
194 | 2.40.1 | ||
195 | |||
diff --git a/recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch b/recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch deleted file mode 100644 index 2f4aec1e..00000000 --- a/recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | From f8b4d982232d4c1330e1e5f5dcd7cd8ca94decba Mon Sep 17 00:00:00 2001 | ||
2 | From: WenshengZhang <wensheng.zhang@intel.com> | ||
3 | Date: Thu, 25 Jan 2024 16:35:10 +0800 | ||
4 | Subject: [PATCH 11/12] Disable 422H format output | ||
5 | |||
6 | Disable 422H format output. | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/eab411768e61a46e096793291f5f992eecf76cd8] | ||
9 | Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> | ||
10 | --- | ||
11 | .../agnostic/common/vp/hal/feature_manager/policy.cpp | 6 ++++++ | ||
12 | 1 file changed, 6 insertions(+) | ||
13 | |||
14 | diff --git a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp | ||
15 | index 317cec25a..12f1124fa 100644 | ||
16 | --- a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp | ||
17 | +++ b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp | ||
18 | @@ -1140,6 +1140,12 @@ MOS_STATUS Policy::GetScalingExecutionCaps(SwFilter *feature, bool isHdrEnabled) | ||
19 | bool isAlphaSettingSupportedByVebox = | ||
20 | IsAlphaSettingSupportedByVebox(scalingParams->formatInput, scalingParams->formatOutput, scalingParams->pCompAlpha); | ||
21 | |||
22 | + if (scalingParams->formatOutput == Format_422H) | ||
23 | + { | ||
24 | + VP_PUBLIC_ASSERTMESSAGE("Scaling not support 422H format output."); | ||
25 | + return MOS_STATUS_UNIMPLEMENTED; | ||
26 | + } | ||
27 | + | ||
28 | // Clean usedForNextPass flag. | ||
29 | if (scalingEngine->usedForNextPass) | ||
30 | { | ||
31 | -- | ||
32 | 2.40.1 | ||
33 | |||
diff --git a/recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch b/recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch deleted file mode 100644 index 1be9139d..00000000 --- a/recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From b93904533d3ee66c7919fa8e23d26b852a37a917 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
3 | Date: Tue, 30 Jan 2024 13:27:52 +0800 | ||
4 | Subject: [PATCH 12/12] [Decode] Fix AVC decode SFC 4K hang issue | ||
5 | |||
6 | Updated VDSFC input width and height for AVC decode | ||
7 | |||
8 | Upstream-Status: Submitted [https://github.com/intel-innersource/drivers.gpu.unified/pull/151401] | ||
9 | |||
10 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
11 | --- | ||
12 | .../hal/dec/avc/packet/decode_avc_downsampling_packet.cpp | 4 ++++ | ||
13 | 1 file changed, 4 insertions(+) | ||
14 | |||
15 | diff --git a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp | ||
16 | index e75fd8137..9cc236bd7 100644 | ||
17 | --- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp | ||
18 | +++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp | ||
19 | @@ -59,6 +59,10 @@ MOS_STATUS AvcDownSamplingPkt::InitSfcParams(VDBOX_SFC_PARAMS &sfcParams) | ||
20 | |||
21 | AvcBasicFeature *avcBasicFeature = dynamic_cast<AvcBasicFeature*>(m_basicFeature); | ||
22 | DECODE_CHK_NULL(avcBasicFeature); | ||
23 | + | ||
24 | + sfcParams.input.width = avcBasicFeature->m_width; | ||
25 | + sfcParams.input.height = avcBasicFeature->m_height; | ||
26 | + | ||
27 | CODEC_PICTURE curPic = avcBasicFeature->m_avcPicParams->CurrPic; | ||
28 | |||
29 | if (avcBasicFeature->m_avcPicParams->seq_fields.mb_adaptive_frame_field_flag == true) | ||
30 | -- | ||
31 | 2.40.1 | ||
32 | |||
diff --git a/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch new file mode 100644 index 00000000..17b2d635 --- /dev/null +++ b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch | |||
@@ -0,0 +1,154 @@ | |||
1 | From 8aa866dc650e6b0e0b7425bafc7b1039232c377a Mon Sep 17 00:00:00 2001 | ||
2 | From: "Xu, Zhengguo" <zhengguo.xu@intel.com> | ||
3 | Date: Tue, 16 Apr 2024 09:53:41 +0800 | ||
4 | Subject: [PATCH] [Decode] Correct condition check when dump avc mv buffer | ||
5 | |||
6 | Fixes: #1791 | ||
7 | Signed-off-by: Xu, Zhengguo <zhengguo.xu@intel.com> | ||
8 | |||
9 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/8aa866dc650e6b0e0b7425bafc7b1039232c377a] | ||
10 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
11 | --- | ||
12 | .../common/codec/hal/codechal_decode_avc.cpp | 33 ++++++++----------- | ||
13 | .../decode_avc_picture_xe_m_base_packet.cpp | 28 +++++++--------- | ||
14 | .../avc/packet/decode_avc_picture_packet.cpp | 30 +++++++---------- | ||
15 | 3 files changed, 37 insertions(+), 54 deletions(-) | ||
16 | |||
17 | diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp | ||
18 | index 3adf6994ce..4bac426802 100644 | ||
19 | --- a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp | ||
20 | +++ b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp | ||
21 | @@ -1619,28 +1619,23 @@ MOS_STATUS CodechalDecodeAvc::InitPicMhwParams( | ||
22 | uint8_t picID = picMhwParams->AvcDirectmodeParams.bPicIdRemappingInUse ? i : refList[idx]->ucFrameId; | ||
23 | uint8_t mvIdx = refList[idx]->ucDMVIdx[0]; | ||
24 | |||
25 | - if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[i] != nullptr) | ||
26 | - { | ||
27 | - // dump Reference mvdata | ||
28 | - std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i); | ||
29 | - CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
30 | - &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx], | ||
31 | - CodechalDbgAttr::attrMvData, | ||
32 | - mvBufDumpName.c_str(), | ||
33 | - m_avcDmvBufferSize)); | ||
34 | - } | ||
35 | + // dump Reference mvdata | ||
36 | + std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i); | ||
37 | + CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
38 | + &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx], | ||
39 | + CodechalDbgAttr::attrMvData, | ||
40 | + mvBufDumpName.c_str(), | ||
41 | + m_avcDmvBufferSize)); | ||
42 | } | ||
43 | } | ||
44 | |||
45 | - if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx]) | ||
46 | - { | ||
47 | - // dump Current mvdata | ||
48 | - CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
49 | - &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx], | ||
50 | - CodechalDbgAttr::attrMvData, | ||
51 | - "DEC_Cur_MV_", | ||
52 | - m_avcDmvBufferSize)); | ||
53 | - }); | ||
54 | + // dump Current mvdata | ||
55 | + CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
56 | + &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx], | ||
57 | + CodechalDbgAttr::attrMvData, | ||
58 | + "DEC_Cur_MV_", | ||
59 | + m_avcDmvBufferSize)); | ||
60 | + ); | ||
61 | |||
62 | return eStatus; | ||
63 | } | ||
64 | diff --git a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp | ||
65 | index bd0611f6fa..035a7e6149 100644 | ||
66 | --- a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp | ||
67 | +++ b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp | ||
68 | @@ -589,26 +589,20 @@ namespace decode{ | ||
69 | { | ||
70 | if (m_avcBasicFeature->m_refFrames.m_avcPicIdx[n].bValid) | ||
71 | { | ||
72 | - if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr) | ||
73 | - { | ||
74 | - std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
75 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
76 | - &avcDirectmodeParams.presAvcDmvBuffers[n+1], | ||
77 | - CodechalDbgAttr::attrMvData, | ||
78 | - mvBufDumpName.c_str(), | ||
79 | - mvBufferSize)); | ||
80 | - } | ||
81 | + std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
82 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
83 | + &avcDirectmodeParams.presAvcDmvBuffers[n+1], | ||
84 | + CodechalDbgAttr::attrMvData, | ||
85 | + mvBufDumpName.c_str(), | ||
86 | + mvBufferSize)); | ||
87 | } | ||
88 | } | ||
89 | |||
90 | - if (&avcDirectmodeParams.presAvcDmvBuffers[0] != nullptr) | ||
91 | - { | ||
92 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
93 | - &avcDirectmodeParams.presAvcDmvBuffers[0], | ||
94 | - CodechalDbgAttr::attrMvData, | ||
95 | - "DEC_Cur_MV_", | ||
96 | - mvBufferSize)); | ||
97 | - } | ||
98 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
99 | + &avcDirectmodeParams.presAvcDmvBuffers[0], | ||
100 | + CodechalDbgAttr::attrMvData, | ||
101 | + "DEC_Cur_MV_", | ||
102 | + mvBufferSize)); | ||
103 | return MOS_STATUS_SUCCESS; | ||
104 | } | ||
105 | |||
106 | diff --git a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp | ||
107 | index 88ed0bb832..8cdc05e585 100644 | ||
108 | --- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp | ||
109 | +++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp | ||
110 | @@ -646,26 +646,20 @@ MOS_STATUS AvcDecodePicPkt::DumpResources(uint32_t mvBufferSize) const | ||
111 | CodechalDbgAttr::attrDecodeReferenceSurfaces, | ||
112 | refSurfName.c_str())); | ||
113 | |||
114 | - if (&mvParam.presAvcDmvBuffers[n+1] != nullptr) | ||
115 | - { | ||
116 | - std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
117 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
118 | - &mvParam.presAvcDmvBuffers[n+1], | ||
119 | - CodechalDbgAttr::attrMvData, | ||
120 | - mvBufDumpName.c_str(), | ||
121 | - mvBufferSize)); | ||
122 | - } | ||
123 | + std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
124 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
125 | + &mvParam.presAvcDmvBuffers[n+1], | ||
126 | + CodechalDbgAttr::attrMvData, | ||
127 | + mvBufDumpName.c_str(), | ||
128 | + mvBufferSize)); | ||
129 | } | ||
130 | } | ||
131 | |||
132 | - if (&mvParam.presAvcDmvBuffers[0] != nullptr) | ||
133 | - { | ||
134 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
135 | - &mvParam.presAvcDmvBuffers[0], | ||
136 | - CodechalDbgAttr::attrMvData, | ||
137 | - "DEC_Cur_MV_", | ||
138 | - mvBufferSize)); | ||
139 | - } | ||
140 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
141 | + &mvParam.presAvcDmvBuffers[0], | ||
142 | + CodechalDbgAttr::attrMvData, | ||
143 | + "DEC_Cur_MV_", | ||
144 | + mvBufferSize)); | ||
145 | |||
146 | return MOS_STATUS_SUCCESS; | ||
147 | } | ||
148 | @@ -699,4 +693,4 @@ MOS_STATUS AvcDecodePicPkt::SetSurfaceMmcState() const | ||
149 | return MOS_STATUS_SUCCESS; | ||
150 | } | ||
151 | |||
152 | -} // namespace decode | ||
153 | \ No newline at end of file | ||
154 | +} // namespace decode | ||
diff --git a/recipes-multimedia/libva/intel-media-driver_23.4.3.bb b/recipes-multimedia/libva/intel-media-driver_24.1.5.bb index 6513d574..79f9887d 100644 --- a/recipes-multimedia/libva/intel-media-driver_23.4.3.bb +++ b/recipes-multimedia/libva/intel-media-driver_24.1.5.bb | |||
@@ -21,18 +21,10 @@ DEPENDS += "libva gmmlib" | |||
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-Disable-vp9-padding-on-mtl.patch \ | 22 | file://0001-Disable-vp9-padding-on-mtl.patch \ |
23 | file://0002-Force-ARGB-surface-to-tile4-for-ACM.patch \ | 23 | file://0002-Force-ARGB-surface-to-tile4-for-ACM.patch \ |
24 | file://0004-Add-device-ID-for-ARL.patch \ | 24 | file://8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch \ |
25 | file://0005-Add-XR24-support-to-DMABuf.patch \ | ||
26 | file://0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch \ | ||
27 | file://0007-Skip-report-keys.patch \ | ||
28 | file://0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch \ | ||
29 | file://0009-Skip-cache-bucket-realloc-for-default-mode-0.patch \ | ||
30 | file://0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch \ | ||
31 | file://0011-Disable-422H-format-output.patch \ | ||
32 | file://0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch \ | ||
33 | " | 25 | " |
34 | 26 | ||
35 | SRCREV = "a9f272496fc0f3e823cc4a814666ea27b443d902" | 27 | SRCREV = "8068c2e119ba16c017e5a5f443fac5a55edbee65" |
36 | S = "${WORKDIR}/git" | 28 | S = "${WORKDIR}/git" |
37 | 29 | ||
38 | COMPATIBLE_HOST:x86-x32 = "null" | 30 | COMPATIBLE_HOST:x86-x32 = "null" |
diff --git a/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch b/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch deleted file mode 100644 index 8d1f3380..00000000 --- a/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | From a425927469b36e7bc597bff4fdc24d42a1168d1a Mon Sep 17 00:00:00 2001 | ||
2 | From: gfxVPLsdm <gfxvplsdm@intel.com> | ||
3 | Date: Mon, 18 Dec 2023 09:58:35 +0800 | ||
4 | Subject: [PATCH] ARLH DID open source (#6286) | ||
5 | |||
6 | Co-authored-by: huangli <li.h.huang@intel.com> | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/66f1b4d60a367eb1b0774e0b4369f906e0e632ae] | ||
9 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
10 | |||
11 | --- | ||
12 | _studio/shared/include/mfxstructures-int.h | 7 ++++++- | ||
13 | 1 file changed, 6 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/_studio/shared/include/mfxstructures-int.h b/_studio/shared/include/mfxstructures-int.h | ||
16 | index 363d9a63..8f16b0a8 100644 | ||
17 | --- a/_studio/shared/include/mfxstructures-int.h | ||
18 | +++ b/_studio/shared/include/mfxstructures-int.h | ||
19 | @@ -1,4 +1,4 @@ | ||
20 | -// Copyright (c) 2007-2021 Intel Corporation | ||
21 | +// Copyright (c) 2007-2023 Intel Corporation | ||
22 | // | ||
23 | // Permission is hereby granted, free of charge, to any person obtaining a copy | ||
24 | // of this software and associated documentation files (the "Software"), to deal | ||
25 | @@ -569,6 +569,11 @@ typedef struct { | ||
26 | /* ARL S */ | ||
27 | { 0x7D67, MFX_HW_ARL, MFX_GT2 }, | ||
28 | |||
29 | + /* ARL H*/ | ||
30 | + { 0x7D51, MFX_HW_ARL, MFX_GT2 }, | ||
31 | + { 0x7DD1, MFX_HW_ARL, MFX_GT2 }, | ||
32 | + { 0x7D41, MFX_HW_ARL, MFX_GT2 }, | ||
33 | + | ||
34 | }; | ||
35 | |||
36 | /* | ||
37 | -- | ||
38 | 2.40.1 | ||
39 | |||
diff --git a/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch b/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch deleted file mode 100644 index 8e014c97..00000000 --- a/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From e118062518c95d8fb0080cc8276b123a90bd0eb9 Mon Sep 17 00:00:00 2001 | ||
2 | From: gfxVPLsdm <gfxvplsdm@intel.com> | ||
3 | Date: Wed, 21 Feb 2024 17:11:52 +0800 | ||
4 | Subject: [PATCH] Fix SetBuffersYV12() V & U plane offsets calculation (#6475) | ||
5 | |||
6 | Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com> | ||
7 | Co-authored-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com> | ||
8 | |||
9 | Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/ce704ddfe11724767ba86c9425a3917dc3100d4a] | ||
10 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
11 | --- | ||
12 | _studio/shared/src/libmfx_core_vaapi.cpp | 4 ++-- | ||
13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/_studio/shared/src/libmfx_core_vaapi.cpp b/_studio/shared/src/libmfx_core_vaapi.cpp | ||
16 | index 2cad86f8..fd5fc269 100644 | ||
17 | --- a/_studio/shared/src/libmfx_core_vaapi.cpp | ||
18 | +++ b/_studio/shared/src/libmfx_core_vaapi.cpp | ||
19 | @@ -462,8 +462,8 @@ public: | ||
20 | } | ||
21 | else | ||
22 | { | ||
23 | - eb.offsets[1] = eb.offsets[0] + uint32_t(eb.height * eb.pitches[1] / 2); | ||
24 | - eb.offsets[2] = eb.offsets[1] + uint32_t(eb.height * eb.pitches[2] / 2); | ||
25 | + eb.offsets[1] = eb.offsets[0] + uint32_t(eb.height * eb.pitches[0]); | ||
26 | + eb.offsets[2] = eb.offsets[1] + uint32_t(eb.height * eb.pitches[1] / 2); | ||
27 | } | ||
28 | eb.num_planes = 3; | ||
29 | eb.data_size = eb.offsets[2] + (eb.height * eb.pitches[2] / 2); | ||
30 | -- | ||
31 | 2.40.1 | ||
32 | |||
diff --git a/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch b/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch deleted file mode 100644 index e3854407..00000000 --- a/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch +++ /dev/null | |||
@@ -1,96 +0,0 @@ | |||
1 | From 40c0bc6d3dfe172dd25908df2c16de29c34fa4d4 Mon Sep 17 00:00:00 2001 | ||
2 | From: gfxVPLsdm <gfxvplsdm@intel.com> | ||
3 | Date: Mon, 5 Feb 2024 17:14:07 +0800 | ||
4 | Subject: [PATCH] [JPEGe] Enable BGR4 JPEG Enc support (#6470) | ||
5 | |||
6 | Co-authored-by: vcheah <vincent.beng.keat.cheah@intel.com> | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/e73763d05f8fdc348c356b58dcb83075b5e868f8] | ||
9 | Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> | ||
10 | --- | ||
11 | .../mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp | 6 ++++-- | ||
12 | .../encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp | 9 +++++---- | ||
13 | 2 files changed, 9 insertions(+), 6 deletions(-) | ||
14 | |||
15 | diff --git a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp | ||
16 | index 141564b1..332f6372 100644 | ||
17 | --- a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp | ||
18 | +++ b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp | ||
19 | @@ -212,7 +212,8 @@ mfxStatus MFXVideoENCODEMJPEG_HW::QueryImplsDescription( | ||
20 | ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_YV12; | ||
21 | ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_YUY2; | ||
22 | ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_RGB4; | ||
23 | - memCaps.NumColorFormats = 4; | ||
24 | + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_BGR4; | ||
25 | + memCaps.NumColorFormats = 5; | ||
26 | |||
27 | ah.PushBack(profileCaps.MemDesc); | ||
28 | profileCaps.MemDesc[1] = profileCaps.MemDesc[0]; | ||
29 | @@ -392,7 +393,7 @@ mfxStatus MFXVideoENCODEMJPEG_HW::Query(VideoCORE * core, mfxVideoParam *in, mfx | ||
30 | if ((fourCC == 0 && chromaFormat == 0) || | ||
31 | (fourCC == MFX_FOURCC_NV12 && (chromaFormat == MFX_CHROMAFORMAT_YUV420 || chromaFormat == MFX_CHROMAFORMAT_YUV400)) || | ||
32 | (fourCC == MFX_FOURCC_YUY2 && chromaFormat == MFX_CHROMAFORMAT_YUV422H) || | ||
33 | - (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444)) | ||
34 | + ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444)) | ||
35 | { | ||
36 | out->mfx.FrameInfo.FourCC = in->mfx.FrameInfo.FourCC; | ||
37 | out->mfx.FrameInfo.ChromaFormat = in->mfx.FrameInfo.ChromaFormat; | ||
38 | @@ -698,6 +699,7 @@ mfxStatus MFXVideoENCODEMJPEG_HW::Init(mfxVideoParam *par) | ||
39 | doubleBytesPerPx = 4; | ||
40 | break; | ||
41 | case MFX_FOURCC_RGB4: | ||
42 | + case MFX_FOURCC_BGR4: | ||
43 | default: | ||
44 | doubleBytesPerPx = 8; | ||
45 | break; | ||
46 | diff --git a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp | ||
47 | index 3fc619d1..b1ab556e 100644 | ||
48 | --- a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp | ||
49 | +++ b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp | ||
50 | @@ -108,6 +108,7 @@ mfxStatus MfxHwMJpegEncode::CheckJpegParam(VideoCORE *core, mfxVideoParam & par, | ||
51 | BytesPerPx = 2; | ||
52 | break; | ||
53 | case MFX_FOURCC_RGB4: | ||
54 | + case MFX_FOURCC_BGR4: | ||
55 | default: | ||
56 | BytesPerPx = 4; | ||
57 | } | ||
58 | @@ -157,7 +158,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c | ||
59 | |||
60 | m_payload_base.length = 0; | ||
61 | m_payload_list.clear(); | ||
62 | - if (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444) | ||
63 | + if ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444) | ||
64 | { | ||
65 | m_app14_data.header = 0xEEFF;//APP14 | ||
66 | m_app14_data.lenH = 0; | ||
67 | @@ -287,7 +288,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c | ||
68 | m_pps.num_components = 3; | ||
69 | else if (fourCC == MFX_FOURCC_NV12 && chromaFormat == MFX_CHROMAFORMAT_YUV400) | ||
70 | m_pps.num_components = 1; | ||
71 | - else if (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444) | ||
72 | + else if ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444) | ||
73 | m_pps.num_components = 3; | ||
74 | else | ||
75 | MFX_RETURN(MFX_ERR_UNDEFINED_BEHAVIOR); | ||
76 | @@ -341,7 +342,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c | ||
77 | { | ||
78 | // No external tables - use Quality parameter | ||
79 | m_dqt_list.resize(0); | ||
80 | - if (fourCC == MFX_FOURCC_RGB4) | ||
81 | + if (fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) | ||
82 | { | ||
83 | m_pps.quantiser_table_selector[0] = 0; | ||
84 | m_pps.quantiser_table_selector[1] = 0; | ||
85 | @@ -393,7 +394,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c | ||
86 | { | ||
87 | m_dht_list.resize(0); | ||
88 | } | ||
89 | - else if (hwCaps->MaxNumHuffTable == 1 || fourCC == MFX_FOURCC_RGB4) | ||
90 | + else if (hwCaps->MaxNumHuffTable == 1 || (fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4)) | ||
91 | { | ||
92 | m_dht_list.resize(1); | ||
93 | |||
94 | -- | ||
95 | 2.40.1 | ||
96 | |||
diff --git a/recipes-multimedia/onevpl/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 index 762a4902..f9a568a7 100644 --- a/recipes-multimedia/onevpl/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 | |||
@@ -1,4 +1,4 @@ | |||
1 | From 630c32194f53c70f4f654fb3d198790df253ba1f Mon Sep 17 00:00:00 2001 | 1 | From ff715f4c543ddabc5c90160d0ae5c5598e8e1289 Mon Sep 17 00:00:00 2001 |
2 | From: Markus Volk <f_l_k@t-online.de> | 2 | From: Markus Volk <f_l_k@t-online.de> |
3 | Date: Thu, 15 Jun 2023 13:43:32 +0200 | 3 | Date: Thu, 15 Jun 2023 13:43:32 +0200 |
4 | Subject: [PATCH] vpl.pc.in: dont pass pcfiledir to cflags | 4 | Subject: [PATCH] vpl.pc.in: dont pass pcfiledir to cflags |
@@ -11,18 +11,15 @@ Upstream-Status: Inappropriate [oe specific] | |||
11 | 1 file changed, 2 insertions(+), 2 deletions(-) | 11 | 1 file changed, 2 insertions(+), 2 deletions(-) |
12 | 12 | ||
13 | diff --git a/libvpl/pkgconfig/vpl.pc.in b/libvpl/pkgconfig/vpl.pc.in | 13 | diff --git a/libvpl/pkgconfig/vpl.pc.in b/libvpl/pkgconfig/vpl.pc.in |
14 | index ab468a9..05c020e 100644 | 14 | index aa9b158..b4e85ff 100644 |
15 | --- a/libvpl/pkgconfig/vpl.pc.in | 15 | --- a/libvpl/pkgconfig/vpl.pc.in |
16 | +++ b/libvpl/pkgconfig/vpl.pc.in | 16 | +++ b/libvpl/pkgconfig/vpl.pc.in |
17 | @@ -8,6 +8,6 @@ Description: oneAPI Video Processing Library | 17 | @@ -7,6 +7,6 @@ Description: Accelerated video decode, encode, and frame processing capabilities |
18 | Version: @API_VERSION_MAJOR@.@API_VERSION_MINOR@ | 18 | Version: @API_VERSION_MAJOR@.@API_VERSION_MINOR@ |
19 | URL: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html | 19 | URL: https://github.com/intel/libvpl |
20 | 20 | ||
21 | -Libs: -L${libdir} -l@OUTPUT_NAME@ @VPL_PKGCONFIG_DEPENDENT_LIBS@ | 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@ | 22 | +Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -l@OUTPUT_NAME@ @VPL_PKGCONFIG_DEPENDENT_LIBS@ |
23 | Libs.private: @VPL_PKGCONFIG_PRIVATE_LIBS@ | 23 | Libs.private: @VPL_PKGCONFIG_PRIVATE_LIBS@ |
24 | -Cflags: -I${includedir} -I${includedir}/vpl | 24 | -Cflags: -I${includedir} -I${includedir}/vpl |
25 | +Cflags: -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/vpl | 25 | +Cflags: -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/vpl |
26 | -- | ||
27 | 2.40.1 | ||
28 | |||
diff --git a/recipes-multimedia/onevpl/onevpl_2023.4.0.bb b/recipes-multimedia/vpl/libvpl_2.10.2.bb index 513c7f2c..7dbb5417 100644 --- a/recipes-multimedia/onevpl/onevpl_2023.4.0.bb +++ b/recipes-multimedia/vpl/libvpl_2.10.2.bb | |||
@@ -1,17 +1,17 @@ | |||
1 | SUMMARY = "oneAPI Video Processing Library" | 1 | SUMMARY = "Intel Video Processing Library" |
2 | DESCRIPTION = "The oneAPI Video Processing Library (oneVPL) provides \ | 2 | DESCRIPTION = "Intel Video Processing Library (VPL) provides \ |
3 | a single video processing API for encode, decode, and video processing \ | 3 | a single video processing API for encode, decode, and video processing \ |
4 | that works across a wide range of accelerators." | 4 | that works across a wide range of accelerators." |
5 | 5 | ||
6 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL" | 6 | HOMEPAGE = "https://github.com/intel/libvpl" |
7 | LICENSE = "MIT" | 7 | LICENSE = "MIT" |
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ |
9 | file://third-party-programs.txt;md5=0e35a23482445dd089b4eabe19103a06" | 9 | file://third-party-programs.txt;md5=ddf05049184e74942f45b0ca4cc69b8a" |
10 | 10 | ||
11 | SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https;branch=master \ | 11 | SRC_URI = "git://github.com/intel/libvpl.git;protocol=https;branch=master \ |
12 | file://0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch \ | 12 | file://0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch \ |
13 | " | 13 | " |
14 | SRCREV = "2274efcd3672b43297ef774f332e1fed6781381c" | 14 | SRCREV = "383b5caac6df614e76ade5a07c4f53be702e9176" |
15 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |
16 | 16 | ||
17 | inherit cmake | 17 | inherit cmake |
@@ -21,20 +21,23 @@ PACKAGECONFIG ??= "tools" | |||
21 | PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols" | 21 | PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols" |
22 | 22 | ||
23 | do_install:append() { | 23 | do_install:append() { |
24 | mkdir -p ${D}${datadir}/oneVPL/samples | 24 | mkdir -p ${D}${datadir}/VPL/samples |
25 | mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples | 25 | mv ${D}${bindir}/sample_* ${D}${datadir}/VPL/samples |
26 | } | 26 | } |
27 | 27 | ||
28 | COMPATIBLE_HOST = '(x86_64).*-linux' | 28 | COMPATIBLE_HOST = '(x86_64).*-linux' |
29 | 29 | ||
30 | PACKAGES =+ "${PN}-examples" | 30 | PACKAGES =+ "${PN}-examples" |
31 | 31 | ||
32 | RREPLACES:${PN} = "onevpl" | ||
33 | RCONFLICTS:${PN} = "onevpl" | ||
34 | |||
32 | FILES:${PN}-examples = "${datadir}/vpl \ | 35 | FILES:${PN}-examples = "${datadir}/vpl \ |
33 | " | 36 | " |
34 | 37 | ||
35 | FILES_SOLIBSDEV = "" | 38 | FILES_SOLIBSDEV = "" |
36 | FILES:${PN}-dev += "${libdir}/libvpl.so" | 39 | FILES:${PN}-dev += "${libdir}/libvpl.so" |
37 | 40 | ||
38 | FILES:${PN} += " ${datadir}/oneVPL/samples \ | 41 | FILES:${PN} += " ${datadir}/VPL/samples \ |
39 | ${libdir}/vpl/libvpl_wayland.so \ | 42 | ${libdir}/vpl/libvpl_wayland.so \ |
40 | " | 43 | " |
diff --git a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb b/recipes-multimedia/vpl/vpl-gpu-rt_24.1.5.bb index 0b849bf1..40909a9c 100644 --- a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb +++ b/recipes-multimedia/vpl/vpl-gpu-rt_24.1.5.bb | |||
@@ -2,8 +2,8 @@ SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing" | |||
2 | DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ | 2 | DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ |
3 | video decode, encode and filtering on IntelĀ® graphics." | 3 | video decode, encode and filtering on IntelĀ® graphics." |
4 | 4 | ||
5 | HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" | 5 | HOMEPAGE = "https://github.com/intel/vpl-gpu-rt" |
6 | BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" | 6 | BUGTRACKER = "https://github.com/intel/vpl-gpu-rt/issues" |
7 | 7 | ||
8 | LICENSE = "MIT" | 8 | LICENSE = "MIT" |
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" | 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" |
@@ -14,16 +14,13 @@ PE = "1" | |||
14 | COMPATIBLE_HOST = '(x86_64).*-linux' | 14 | COMPATIBLE_HOST = '(x86_64).*-linux' |
15 | COMPATIBLE_HOST:x86-x32 = "null" | 15 | COMPATIBLE_HOST:x86-x32 = "null" |
16 | 16 | ||
17 | DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" | 17 | DEPENDS += "libdrm libva intel-media-driver libvpl pkgconfig-native" |
18 | RDEPENDS:${PN} += "intel-media-driver" | 18 | RDEPENDS:${PN} += "intel-media-driver" |
19 | 19 | ||
20 | SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;nobranch=1;lfs=0 \ | 20 | SRC_URI = "git://github.com/intel/vpl-gpu-rt.git;protocol=https;nobranch=1;lfs=0 \ |
21 | file://0001-ARLH-DID-open-source-6286.patch \ | ||
22 | file://0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch \ | ||
23 | file://0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch \ | ||
24 | " | 21 | " |
25 | 22 | ||
26 | SRCREV = "852fa9f705ef44c004d014548601f3804a6de705" | 23 | SRCREV = "088db9f5a8164525f00685c72f00a4baed97b90a" |
27 | S = "${WORKDIR}/git" | 24 | S = "${WORKDIR}/git" |
28 | 25 | ||
29 | FILES:${PN} += " \ | 26 | FILES:${PN} += " \ |
@@ -31,3 +28,6 @@ FILES:${PN} += " \ | |||
31 | " | 28 | " |
32 | 29 | ||
33 | inherit cmake | 30 | inherit cmake |
31 | |||
32 | RREPLACES:${PN} = "onevpl-intel-gpu" | ||
33 | RCONFLICTS:${PN} = "onevpl-intel-gpu" | ||