• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 * Copyright (c) 2022, 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_decode_xe2_lpm_r0_specific.h
23 //! \brief    This file register all caps data
24 //!
25 
26 #ifndef __CAPSTABLE_DATA_VP9_DECODE_XE2_LPM_R0_SPECIFIC_H__
27 #define __CAPSTABLE_DATA_VP9_DECODE_XE2_LPM_R0_SPECIFIC_H__
28 
29 #include "capstable_data_xe2_lpm_r0_specific.h"
30 #include "codec_def_common.h"
31 
32 #ifndef VA_ENCRYPTION_TYPE_NONE
33 #define VA_ENCRYPTION_TYPE_NONE 0x00000000
34 #endif
35 
36 //!
37 //! \brief  Definition for ConfigDataList
38 //!
39 static ConfigDataList configDataList_VAProfileVP9Profile0_VAEntrypointVLD_Xe2_Lpm_r0 =
40 {
41   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
42   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING},
43   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
44   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING}
45 };
46 
47 static ConfigDataList configDataList_VAProfileVP9Profile2_VAEntrypointVLD_Xe2_Lpm_r0 =
48 {
49   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
50   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING},
51   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
52   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING}
53 };
54 
55 static ConfigDataList configDataList_VAProfileVP9Profile1_VAEntrypointVLD_Xe2_Lpm_r0 =
56 {
57   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
58   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING},
59   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
60   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING}
61 };
62 
63 static ConfigDataList configDataList_VAProfileVP9Profile3_VAEntrypointVLD_Xe2_Lpm_r0 =
64 {
65   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
66   {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING},
67   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE},
68   {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING}
69 };
70 
71 //!
72 //! \brief  Definition for AttribList
73 //!
74 static const AttribList attribList_VAProfileVP9Profile0_VAEntrypointVLD_Xe2_Lpm_r0
75 {
76    {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420},
77    {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE},
78    {VAConfigAttribMaxPictureWidth, CODEC_16K_MAX_PIC_WIDTH},
79    {VAConfigAttribMaxPictureHeight, CODEC_16K_MAX_PIC_HEIGHT},
80    {VAConfigAttribDecProcessing, VA_DEC_PROCESSING},
81    {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED},
82    {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE},
83    {VAConfigAttribCustomRoundingControl, 1},
84 };
85 
86 static const AttribList attribList_VAProfileVP9Profile1_VAEntrypointVLD_Xe2_Lpm_r0
87 {
88    {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_YUV444},
89    {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE},
90    {VAConfigAttribMaxPictureWidth, CODEC_16K_MAX_PIC_WIDTH},
91    {VAConfigAttribMaxPictureHeight, CODEC_16K_MAX_PIC_HEIGHT},
92    {VAConfigAttribDecProcessing, VA_DEC_PROCESSING},
93    {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED},
94    {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE},
95    {VAConfigAttribCustomRoundingControl, 1},
96 };
97 
98 static const AttribList attribList_VAProfileVP9Profile2_VAEntrypointVLD_Xe2_Lpm_r0
99 {
100    {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420_10BPP | VA_RT_FORMAT_YUV420_12},
101    {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE},
102    {VAConfigAttribMaxPictureWidth, CODEC_16K_MAX_PIC_WIDTH},
103    {VAConfigAttribMaxPictureHeight, CODEC_16K_MAX_PIC_HEIGHT},
104    {VAConfigAttribDecProcessing, VA_DEC_PROCESSING},
105    {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED},
106    {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE},
107    {VAConfigAttribCustomRoundingControl, 1},
108 };
109 
110 static const AttribList attribList_VAProfileVP9Profile3_VAEntrypointVLD_Xe2_Lpm_r0
111 {
112    {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV422_10 | VA_RT_FORMAT_YUV444_10 | VA_RT_FORMAT_YUV422_12 | VA_RT_FORMAT_YUV444_12},
113    {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE},
114    {VAConfigAttribMaxPictureWidth, CODEC_16K_MAX_PIC_WIDTH},
115    {VAConfigAttribMaxPictureHeight, CODEC_16K_MAX_PIC_HEIGHT},
116    {VAConfigAttribDecProcessing, VA_DEC_PROCESSING},
117    {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED},
118    {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE},
119    {VAConfigAttribCustomRoundingControl, 1},
120 };
121 
122 //!
123 //! \brief   Definition for ProfileSurfaceAttribInfo
124 //!
125 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile2_VAEntrypointVLD_Xe2_Lpm_r0 =
126 {
127   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_P010}}},
128   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, { VA_FOURCC_P012}}},
129   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_P016}}},
130   {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_WIDTH}}},
131   {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_HEIGHT}}},
132   {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
133 };
134 
135 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile1_VAEntrypointVLD_Xe2_Lpm_r0 =
136 {
137   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_AYUV}}},
138 #if VA_CHECK_VERSION(1, 13, 0)
139   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_XYUV}}},
140 #endif
141   {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_WIDTH}}},
142   {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_HEIGHT}}},
143   {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
144 };
145 
146 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile3_VAEntrypointVLD_Xe2_Lpm_r0 =
147 {
148   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_Y410}}},
149 #if VA_CHECK_VERSION(1, 9, 0)
150   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_Y412}}},
151 #endif
152   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_Y416}}},
153   {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_WIDTH}}},
154   {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_HEIGHT}}},
155   {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
156 };
157 
158 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileVP9Profile0_VAEntrypointVLD_Xe2_Lpm_r0 =
159 {
160   {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}},
161   {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_WIDTH}}},
162   {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_16K_MAX_PIC_HEIGHT}}},
163   {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}}
164 };
165 
166 //!
167 //! \brief  Definition for EntrypointMap
168 //!
169 static const EntrypointData entrypointMap_VAProfileVP9Profile0Dec_Data_Xe2_Lpm_r0
170 {
171     &attribList_VAProfileVP9Profile0_VAEntrypointVLD_Xe2_Lpm_r0,
172     &configDataList_VAProfileVP9Profile0_VAEntrypointVLD_Xe2_Lpm_r0,
173     &surfaceAttribInfo_VAProfileVP9Profile0_VAEntrypointVLD_Xe2_Lpm_r0
174 };
175 
176 static const EntrypointData entrypointMap_VAProfileVP9Profile1Dec_Data_Xe2_Lpm_r0
177 {
178     &attribList_VAProfileVP9Profile1_VAEntrypointVLD_Xe2_Lpm_r0,
179     &configDataList_VAProfileVP9Profile1_VAEntrypointVLD_Xe2_Lpm_r0,
180     &surfaceAttribInfo_VAProfileVP9Profile1_VAEntrypointVLD_Xe2_Lpm_r0
181 };
182 
183 static const EntrypointData entrypointMap_VAProfileVP9Profile2Dec_Data_Xe2_Lpm_r0
184 {
185     &attribList_VAProfileVP9Profile2_VAEntrypointVLD_Xe2_Lpm_r0,
186     &configDataList_VAProfileVP9Profile2_VAEntrypointVLD_Xe2_Lpm_r0,
187     &surfaceAttribInfo_VAProfileVP9Profile2_VAEntrypointVLD_Xe2_Lpm_r0
188 };
189 
190 static const EntrypointData entrypointMap_VAProfileVP9Profile3Dec_Data_Xe2_Lpm_r0
191 {
192     &attribList_VAProfileVP9Profile3_VAEntrypointVLD_Xe2_Lpm_r0,
193     &configDataList_VAProfileVP9Profile3_VAEntrypointVLD_Xe2_Lpm_r0,
194     &surfaceAttribInfo_VAProfileVP9Profile3_VAEntrypointVLD_Xe2_Lpm_r0
195 };
196 
197 #endif
198