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