Skip to content

Commit 7feeaec

Browse files
MicroYYintel-mediadev
authored andcommitted
[Encode] [PDVT-SH] VP9 DDI upstream
Open source VP9 DDI for PTL.
1 parent b25f343 commit 7feeaec

8 files changed

+361
-8
lines changed

media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@
4141
#if defined(_AV1_ENCODE_VDENC_SUPPORTED)
4242
#include "capstable_data_av1_encode_xe3_lpm_r0_specific.h"
4343
#endif
44+
#endif
4445
#if defined(_VP9_ENCODE_VDENC_SUPPORTED)
4546
#include "capstable_data_vp9_encode_xe3_lpm_r0_specific.h"
4647
#endif
47-
#endif
4848

4949
#if defined(_HEVC_DECODE_SUPPORTED)
5050
#include "capstable_data_hevc_decode_xe3_lpm_r0_specific.h"
@@ -287,7 +287,7 @@ static const EntrypointMap entrypointMap_VAProfileAV1Profile1_Xe3_Lpm_r0
287287

288288
static const EntrypointMap entrypointMap_VAProfileVP9Profile0_Xe3_Lpm_r0
289289
{
290-
#if defined(_VP9_ENCODE_VDENC_SUPPORTED) && defined(_MEDIA_RESERVED)
290+
#if defined(_VP9_ENCODE_VDENC_SUPPORTED)
291291
{VAEntrypointEncSlice, &entrypointMap_VAProfileVP9Profile0_Data_Xe3_Lpm_r0},
292292
#endif
293293
#if defined(_VP9_DECODE_SUPPORTED)
@@ -297,7 +297,7 @@ static const EntrypointMap entrypointMap_VAProfileVP9Profile0_Xe3_Lpm_r0
297297

298298
static const EntrypointMap entrypointMap_VAProfileVP9Profile1_Xe3_Lpm_r0
299299
{
300-
#if defined(_VP9_ENCODE_VDENC_SUPPORTED) && defined(_MEDIA_RESERVED)
300+
#if defined(_VP9_ENCODE_VDENC_SUPPORTED)
301301
{VAEntrypointEncSlice, &entrypointMap_VAProfileVP9Profile1_Data_Xe3_Lpm_r0},
302302
#endif
303303
#if defined(_VP9_DECODE_SUPPORTED)
@@ -307,7 +307,7 @@ static const EntrypointMap entrypointMap_VAProfileVP9Profile1_Xe3_Lpm_r0
307307

308308
static const EntrypointMap entrypointMap_VAProfileVP9Profile2_Xe3_Lpm_r0
309309
{
310-
#if defined(_VP9_ENCODE_VDENC_SUPPORTED) && defined(_MEDIA_RESERVED)
310+
#if defined(_VP9_ENCODE_VDENC_SUPPORTED)
311311
{VAEntrypointEncSlice, &entrypointMap_VAProfileVP9Profile2_Data_Xe3_Lpm_r0},
312312
#endif
313313
#if defined(_VP9_DECODE_SUPPORTED)
@@ -317,7 +317,7 @@ static const EntrypointMap entrypointMap_VAProfileVP9Profile2_Xe3_Lpm_r0
317317

318318
static const EntrypointMap entrypointMap_VAProfileVP9Profile3_Xe3_Lpm_r0
319319
{
320-
#if defined(_VP9_ENCODE_VDENC_SUPPORTED) && defined(_MEDIA_RESERVED)
320+
#if defined(_VP9_ENCODE_VDENC_SUPPORTED)
321321
{VAEntrypointEncSlice, &entrypointMap_VAProfileVP9Profile3_Data_Xe3_Lpm_r0},
322322
#endif
323323

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright (c) 2024, Intel Corporation
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a
4+
# copy of this software and associated documentation files (the "Software"),
5+
# to deal in the Software without restriction, including without limitation
6+
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7+
# and/or sell copies of the Software, and to permit persons to whom the
8+
# Software is furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included
11+
# in all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16+
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17+
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18+
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19+
# OTHER DEALINGS IN THE SOFTWARE.
20+
21+
media_include_subdirectory(vp9)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,277 @@
1+
/*
2+
* Copyright (c) 2024, Intel Corporation
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a
5+
* copy of this software and associated documentation files (the "Software"),
6+
* to deal in the Software without restriction, including without limitation
7+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8+
* and/or sell copies of the Software, and to permit persons to whom the
9+
* Software is furnished to do so, subject to the following conditions:
10+
* The above copyright notice and this permission notice shall be included
11+
* in all copies or substantial portions of the Software.
12+
*
13+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14+
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17+
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18+
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19+
* OTHER DEALINGS IN THE SOFTWARE.
20+
*/
21+
//!
22+
//! \file capstable_data_vp9_encode_xe3_lpm_r0_specific.h
23+
//! \brief This file register all caps data
24+
//!
25+
26+
#ifndef __CAPSTABLE_DATA_VP9_ENCODE_XE3_LPM_R0_SPECIFIC_H__
27+
#define __CAPSTABLE_DATA_VP9_ENCODE_XE3_LPM_R0_SPECIFIC_H__
28+
29+
#include "capstable_data_xe3_lpm_r0_specific.h"
30+
#include "codec_def_encode_vp9.h"
31+
32+
//!
33+
//! \brief Definition for bitset value
34+
//!
35+
static const VAConfigAttribValEncROI VP9Common_VAEntrypointEncSlice_encROI_Xe3_Lpm_r0
36+
{
37+
{0,0,1,0}
38+
};
39+
40+
static const VAConfigAttribValEncRateControlExt VP9Common_VAEntrypointEncSlice_encRateControlExt_Xe3_Lpm_r0
41+
{
42+
{CODECHAL_ENCODE_VP9_MAX_NUM_TEMPORAL_LAYERS - 1,1,0}
43+
};
44+
45+
#if VA_CHECK_VERSION(1, 23, 0)
46+
static const VAConfigAttribValEncVP9 VP9Common_VAEntrypointEncSlice_encVP9_Xe3_Lpm_r0
47+
{
48+
{15,0,0}
49+
};
50+
#endif
51+
52+
//! \brief Definition for ConfigDataList
53+
static ConfigDataList configDataList_VAProfileVP9Profile0_VAEntrypointEncSlice_Xe3_Lpm_r0 =
54+
{
55+
{VA_RC_CQP, 0},
56+
{VA_RC_CBR, 0},
57+
{VA_RC_VBR, 0},
58+
{VA_RC_ICQ, 0}
59+
};
60+
61+
static ConfigDataList configDataList_VAProfileVP9Profile1_VAEntrypointEncSlice_Xe3_Lpm_r0 =
62+
{
63+
{VA_RC_CQP, 0},
64+
{VA_RC_CBR, 0},
65+
{VA_RC_VBR, 0},
66+
{VA_RC_ICQ, 0}
67+
};
68+
69+
static ConfigDataList configDataList_VAProfileVP9Profile2_VAEntrypointEncSlice_Xe3_Lpm_r0 =
70+
{
71+
{VA_RC_CQP, 0},
72+
{VA_RC_CBR, 0},
73+
{VA_RC_VBR, 0},
74+
{VA_RC_ICQ, 0}
75+
};
76+
77+
static ConfigDataList configDataList_VAProfileVP9Profile3_VAEntrypointEncSlice_Xe3_Lpm_r0 =
78+
{
79+
{VA_RC_CQP, 0},
80+
{VA_RC_CBR, 0},
81+
{VA_RC_VBR, 0},
82+
{VA_RC_ICQ, 0}
83+
};
84+
85+
//!
86+
//! \brief Definition for AttribList
87+
//!
88+
static const AttribList attribList_VAProfileVP9Profile0_VAEntrypointEncSlice_Xe3_Lpm_r0
89+
{
90+
{VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV420_10 | VA_RT_FORMAT_YUV444 | VA_RT_FORMAT_YUV444_10 | VA_RT_FORMAT_RGB32 | VA_RT_FORMAT_RGB32_10},
91+
{VAConfigAttribMaxPictureWidth, CODEC_8K_MAX_PIC_WIDTH},
92+
{VAConfigAttribMaxPictureHeight, CODEC_8K_MAX_PIC_HEIGHT},
93+
{VAConfigAttribEncPackedHeaders, VA_ENC_PACKED_HEADER_RAW_DATA},
94+
{VAConfigAttribEncMaxRefFrames, 2},
95+
#if VA_CHECK_VERSION(1, 23, 0)
96+
{VAConfigAttribEncVP9, VP9Common_VAEntrypointEncSlice_encVP9_Xe3_Lpm_r0.value},
97+
#endif
98+
{VAConfigAttribRateControl, VA_RC_CQP | VA_RC_ICQ | VA_RC_CBR | VA_RC_VBR | VA_RC_MB},
99+
{VAConfigAttribProcessingRate, VA_PROCESSING_RATE_ENCODE},
100+
{VAConfigAttribEncTileSupport, 1},
101+
{VAConfigAttribEncDirtyRect, 4},
102+
{VAConfigAttribEncDynamicScaling, 1},
103+
{VAConfigAttribEncQualityRange, NUM_TARGET_USAGE_MODES - 1},
104+
{VAConfigAttribEncInterlaced, VA_ENC_INTERLACED_NONE},
105+
{VAConfigAttribEncQuantization, VA_ENC_QUANTIZATION_NONE},
106+
{VAConfigAttribEncMaxSlices, 0},
107+
{VAConfigAttribEncSliceStructure, VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS | VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE | VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS | VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS},
108+
{VAConfigAttribEncIntraRefresh, VA_ENC_INTRA_REFRESH_NONE},
109+
{VAConfigAttribEncSkipFrame, 0},
110+
{VAConfigAttribEncROI, VP9Common_VAEntrypointEncSlice_encROI_Xe3_Lpm_r0.value},
111+
{VAConfigAttribEncParallelRateControl, 0},
112+
{VAConfigAttribFEIMVPredictors, 0},
113+
{VAConfigAttribEncRateControlExt, VP9Common_VAEntrypointEncSlice_encRateControlExt_Xe3_Lpm_r0.value},
114+
};
115+
116+
static const AttribList attribList_VAProfileVP9Profile1_VAEntrypointEncSlice_Xe3_Lpm_r0
117+
{
118+
{VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV420_10 | VA_RT_FORMAT_YUV444 | VA_RT_FORMAT_YUV444_10 | VA_RT_FORMAT_RGB32 | VA_RT_FORMAT_RGB32_10},
119+
{VAConfigAttribMaxPictureWidth, CODEC_8K_MAX_PIC_WIDTH},
120+
{VAConfigAttribMaxPictureHeight, CODEC_8K_MAX_PIC_HEIGHT},
121+
{VAConfigAttribEncPackedHeaders, VA_ENC_PACKED_HEADER_RAW_DATA},
122+
{VAConfigAttribEncMaxRefFrames, 2},
123+
#if VA_CHECK_VERSION(1, 23, 0)
124+
{VAConfigAttribEncVP9, VP9Common_VAEntrypointEncSlice_encVP9_Xe3_Lpm_r0.value},
125+
#endif
126+
{VAConfigAttribRateControl, VA_RC_CQP | VA_RC_ICQ | VA_RC_CBR | VA_RC_VBR | VA_RC_MB},
127+
{VAConfigAttribProcessingRate, VA_PROCESSING_RATE_ENCODE},
128+
{VAConfigAttribEncTileSupport, 1},
129+
{VAConfigAttribEncDirtyRect, 4},
130+
{VAConfigAttribEncDynamicScaling, 1},
131+
{VAConfigAttribEncQualityRange, NUM_TARGET_USAGE_MODES - 1},
132+
{VAConfigAttribEncInterlaced, VA_ENC_INTERLACED_NONE},
133+
{VAConfigAttribEncQuantization, VA_ENC_QUANTIZATION_NONE},
134+
{VAConfigAttribEncMaxSlices, 0},
135+
{VAConfigAttribEncSliceStructure, VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS | VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE | VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS | VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS},
136+
{VAConfigAttribEncIntraRefresh, VA_ENC_INTRA_REFRESH_NONE},
137+
{VAConfigAttribEncSkipFrame, 0},
138+
{VAConfigAttribEncROI, VP9Common_VAEntrypointEncSlice_encROI_Xe3_Lpm_r0.value},
139+
{VAConfigAttribEncParallelRateControl, 0},
140+
{VAConfigAttribFEIMVPredictors, 0},
141+
{VAConfigAttribEncRateControlExt, VP9Common_VAEntrypointEncSlice_encRateControlExt_Xe3_Lpm_r0.value},
142+
};
143+
144+
static const AttribList attribList_VAProfileVP9Profile2_VAEntrypointEncSlice_Xe3_Lpm_r0
145+
{
146+
{VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV420_10 | VA_RT_FORMAT_YUV444 | VA_RT_FORMAT_YUV444_10 | VA_RT_FORMAT_RGB32 | VA_RT_FORMAT_RGB32_10},
147+
{VAConfigAttribMaxPictureWidth, CODEC_8K_MAX_PIC_WIDTH},
148+
{VAConfigAttribMaxPictureHeight, CODEC_8K_MAX_PIC_HEIGHT},
149+
{VAConfigAttribEncPackedHeaders, VA_ENC_PACKED_HEADER_RAW_DATA},
150+
{VAConfigAttribEncMaxRefFrames, 2},
151+
#if VA_CHECK_VERSION(1, 23, 0)
152+
{VAConfigAttribEncVP9, VP9Common_VAEntrypointEncSlice_encVP9_Xe3_Lpm_r0.value},
153+
#endif
154+
{VAConfigAttribRateControl, VA_RC_CQP | VA_RC_ICQ | VA_RC_CBR | VA_RC_VBR | VA_RC_MB},
155+
{VAConfigAttribProcessingRate, VA_PROCESSING_RATE_ENCODE},
156+
{VAConfigAttribEncTileSupport, 1},
157+
{VAConfigAttribEncDirtyRect, 4},
158+
{VAConfigAttribEncDynamicScaling, 1},
159+
{VAConfigAttribEncQualityRange, NUM_TARGET_USAGE_MODES - 1},
160+
{VAConfigAttribEncInterlaced, VA_ENC_INTERLACED_NONE},
161+
{VAConfigAttribEncQuantization, VA_ENC_QUANTIZATION_NONE},
162+
{VAConfigAttribEncMaxSlices, 0},
163+
{VAConfigAttribEncSliceStructure, VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS | VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE | VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS | VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS},
164+
{VAConfigAttribEncIntraRefresh, VA_ENC_INTRA_REFRESH_NONE},
165+
{VAConfigAttribEncSkipFrame, 0},
166+
{VAConfigAttribEncROI, VP9Common_VAEntrypointEncSlice_encROI_Xe3_Lpm_r0.value},
167+
{VAConfigAttribEncParallelRateControl, 0},
168+
{VAConfigAttribFEIMVPredictors, 0},
169+
{VAConfigAttribEncRateControlExt, VP9Common_VAEntrypointEncSlice_encRateControlExt_Xe3_Lpm_r0.value},
170+
};
171+
172+
static const AttribList attribList_VAProfileVP9Profile3_VAEntrypointEncSlice_Xe3_Lpm_r0
173+
{
174+
{VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV420_10 | VA_RT_FORMAT_YUV444 | VA_RT_FORMAT_YUV444_10 | VA_RT_FORMAT_RGB32 | VA_RT_FORMAT_RGB32_10},
175+
{VAConfigAttribMaxPictureWidth, CODEC_8K_MAX_PIC_WIDTH},
176+
{VAConfigAttribMaxPictureHeight, CODEC_8K_MAX_PIC_HEIGHT},
177+
{VAConfigAttribEncPackedHeaders, VA_ENC_PACKED_HEADER_RAW_DATA},
178+
{VAConfigAttribEncMaxRefFrames, 2},
179+
#if VA_CHECK_VERSION(1, 23, 0)
180+
{VAConfigAttribEncVP9, VP9Common_VAEntrypointEncSlice_encVP9_Xe3_Lpm_r0.value},
181+
#endif
182+
{VAConfigAttribRateControl, VA_RC_CQP | VA_RC_ICQ | VA_RC_CBR | VA_RC_VBR | VA_RC_MB},
183+
{VAConfigAttribProcessingRate, VA_PROCESSING_RATE_ENCODE},
184+
{VAConfigAttribEncTileSupport, 1},
185+
{VAConfigAttribEncDirtyRect, 4},
186+
{VAConfigAttribEncDynamicScaling, 1},
187+
{VAConfigAttribEncQualityRange, NUM_TARGET_USAGE_MODES - 1},
188+
{VAConfigAttribEncInterlaced, VA_ENC_INTERLACED_NONE},
189+
{VAConfigAttribEncQuantization, VA_ENC_QUANTIZATION_NONE},
190+
{VAConfigAttribEncMaxSlices, 0},
191+
{VAConfigAttribEncSliceStructure, VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS | VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE | VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS | VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS},
192+
{VAConfigAttribEncIntraRefresh, VA_ENC_INTRA_REFRESH_NONE},
193+
{VAConfigAttribEncSkipFrame, 0},
194+
{VAConfigAttribEncROI, VP9Common_VAEntrypointEncSlice_encROI_Xe3_Lpm_r0.value},
195+
{VAConfigAttribEncParallelRateControl, 0},
196+
{VAConfigAttribFEIMVPredictors, 0},
197+
{VAConfigAttribEncRateControlExt, VP9Common_VAEntrypointEncSlice_encRateControlExt_Xe3_Lpm_r0.value},
198+
};
199+
200+
//!
201+
static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile0_VAEntrypointEncSlice_Xe3_Lpm_r0 =
202+
{
203+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}},
204+
{VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
205+
{VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
206+
{VASurfaceAttribMinWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {128}}},
207+
{VASurfaceAttribMinHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {96}}},
208+
{VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
209+
};
210+
211+
static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile1_VAEntrypointEncSlice_Xe3_Lpm_r0 =
212+
{
213+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_AYUV}}},
214+
#if VA_CHECK_VERSION(1, 13, 0)
215+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_XYUV}}},
216+
#endif
217+
{VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
218+
{VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
219+
{VASurfaceAttribMinWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {128}}},
220+
{VASurfaceAttribMinHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {96}}},
221+
{VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
222+
};
223+
224+
static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile2_VAEntrypointEncSlice_Xe3_Lpm_r0 =
225+
{
226+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_P010}}},
227+
{VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
228+
{VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
229+
{VASurfaceAttribMinWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {128}}},
230+
{VASurfaceAttribMinHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {96}}},
231+
{VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
232+
};
233+
234+
static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile3_VAEntrypointEncSlice_Xe3_Lpm_r0 =
235+
{
236+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_Y410}}},
237+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_ARGB}}},
238+
{VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_ABGR}}},
239+
{VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
240+
{VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}},
241+
{VASurfaceAttribMinWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {128}}},
242+
{VASurfaceAttribMinHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {96}}},
243+
{VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
244+
};
245+
246+
//!
247+
//! \brief Definition for EmtrypointMap
248+
//!
249+
static const EntrypointData entrypointMap_VAProfileVP9Profile0_Data_Xe3_Lpm_r0
250+
{
251+
&attribList_VAProfileVP9Profile0_VAEntrypointEncSlice_Xe3_Lpm_r0,
252+
&configDataList_VAProfileVP9Profile0_VAEntrypointEncSlice_Xe3_Lpm_r0,
253+
&surfaceAttribInfo_VAProfileVP9Profile0_VAEntrypointEncSlice_Xe3_Lpm_r0
254+
};
255+
256+
static const EntrypointData entrypointMap_VAProfileVP9Profile1_Data_Xe3_Lpm_r0
257+
{
258+
&attribList_VAProfileVP9Profile1_VAEntrypointEncSlice_Xe3_Lpm_r0,
259+
&configDataList_VAProfileVP9Profile1_VAEntrypointEncSlice_Xe3_Lpm_r0,
260+
&surfaceAttribInfo_VAProfileVP9Profile1_VAEntrypointEncSlice_Xe3_Lpm_r0
261+
};
262+
263+
static const EntrypointData entrypointMap_VAProfileVP9Profile2_Data_Xe3_Lpm_r0
264+
{
265+
&attribList_VAProfileVP9Profile2_VAEntrypointEncSlice_Xe3_Lpm_r0,
266+
&configDataList_VAProfileVP9Profile2_VAEntrypointEncSlice_Xe3_Lpm_r0,
267+
&surfaceAttribInfo_VAProfileVP9Profile2_VAEntrypointEncSlice_Xe3_Lpm_r0
268+
};
269+
270+
static const EntrypointData entrypointMap_VAProfileVP9Profile3_Data_Xe3_Lpm_r0
271+
{
272+
&attribList_VAProfileVP9Profile3_VAEntrypointEncSlice_Xe3_Lpm_r0,
273+
&configDataList_VAProfileVP9Profile3_VAEntrypointEncSlice_Xe3_Lpm_r0,
274+
&surfaceAttribInfo_VAProfileVP9Profile3_VAEntrypointEncSlice_Xe3_Lpm_r0
275+
};
276+
277+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright (c) 2024, Intel Corporation
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a
4+
# copy of this software and associated documentation files (the "Software"),
5+
# to deal in the Software without restriction, including without limitation
6+
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7+
# and/or sell copies of the Software, and to permit persons to whom the
8+
# Software is furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included
11+
# in all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16+
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17+
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18+
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19+
# OTHER DEALINGS IN THE SOFTWARE.
20+
21+
set (TMP_HEADERS_
22+
${CMAKE_CURRENT_LIST_DIR}/capstable_data_vp9_encode_xe3_lpm_r0_specific.h
23+
)
24+
25+
set (SOFTLET_DDI_HEADERS_
26+
${SOFTLET_DDI_HEADERS_}
27+
${TMP_HEADERS_}
28+
)
29+
30+
set(SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_
31+
${SOFTLET_DDI_PUBLIC_INCLUDE_DIRS_}
32+
${CMAKE_CURRENT_LIST_DIR}
33+
)

0 commit comments

Comments
 (0)