1 /* 2 * Copyright (c) 2022-2023, 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_avc_decode_xe2_lpm_r0_specific.h 23 //! \brief This file register all caps data 24 //! 25 26 #ifndef __CAPSTABLE_DATA_AVC_DECODE_XE2_LPM_R0_SPECIFIC_H__ 27 #define __CAPSTABLE_DATA_AVC_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_VAProfileH264Main_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_VAProfileH264High_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_VAProfileH264ConstrainedBaseline_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 //! 64 //! \brief Definition for AttribList 65 //! 66 static const AttribList attribList_VAProfileH264Main_VAEntrypointVLD_Xe2_Lpm_r0 67 { 68 {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_RGB32}, 69 {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE}, 70 {VAConfigAttribDecProcessing, VA_DEC_PROCESSING}, 71 {VAConfigAttribMaxPictureWidth, CODEC_4K_MAX_PIC_WIDTH}, 72 {VAConfigAttribMaxPictureHeight, CODEC_4K_MAX_PIC_HEIGHT}, 73 {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED}, 74 {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE}, 75 {VAConfigAttribCustomRoundingControl, 1}, 76 }; 77 78 static const AttribList attribList_VAProfileH264High_VAEntrypointVLD_Xe2_Lpm_r0 79 { 80 {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_RGB32}, 81 {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE}, 82 {VAConfigAttribDecProcessing, VA_DEC_PROCESSING}, 83 {VAConfigAttribMaxPictureWidth, CODEC_4K_MAX_PIC_WIDTH}, 84 {VAConfigAttribMaxPictureHeight, CODEC_4K_MAX_PIC_HEIGHT}, 85 {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED}, 86 {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE}, 87 {VAConfigAttribCustomRoundingControl, 1}, 88 }; 89 90 static const AttribList attribList_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe2_Lpm_r0 91 { 92 {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_RGB32}, 93 {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE}, 94 {VAConfigAttribDecProcessing, VA_DEC_PROCESSING}, 95 {VAConfigAttribMaxPictureWidth, CODEC_4K_MAX_PIC_WIDTH}, 96 {VAConfigAttribMaxPictureHeight, CODEC_4K_MAX_PIC_HEIGHT}, 97 {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED}, 98 {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE}, 99 {VAConfigAttribCustomRoundingControl, 1}, 100 }; 101 102 //! 103 //! \brief Definition for ProfileSurfaceAttribInfo 104 //! 105 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileH264Main_VAEntrypointVLD_Xe2_Lpm_r0 = 106 { 107 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, 108 {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_WIDTH}}}, 109 {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_HEIGHT}}}, 110 {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA| VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} 111 }; 112 113 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileH264High_VAEntrypointVLD_Xe2_Lpm_r0 = 114 { 115 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, 116 {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_WIDTH}}}, 117 {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_HEIGHT}}}, 118 {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA| VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} 119 }; 120 121 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe2_Lpm_r0 = 122 { 123 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, 124 {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_WIDTH}}}, 125 {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_HEIGHT}}}, 126 {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA| VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} 127 }; 128 129 //! 130 //! \brief Definition for EntrypointMap 131 //! 132 static const EntrypointData entrypointMap_VAProfileH264MainDec_Data_Xe2_Lpm_r0 133 { 134 &attribList_VAProfileH264Main_VAEntrypointVLD_Xe2_Lpm_r0, 135 &configDataList_VAProfileH264Main_VAEntrypointVLD_Xe2_Lpm_r0, 136 &surfaceAttribInfo_VAProfileH264Main_VAEntrypointVLD_Xe2_Lpm_r0 137 }; 138 139 static const EntrypointData entrypointMap_VAProfileH264HighDec_Data_Xe2_Lpm_r0 140 { 141 &attribList_VAProfileH264High_VAEntrypointVLD_Xe2_Lpm_r0, 142 &configDataList_VAProfileH264High_VAEntrypointVLD_Xe2_Lpm_r0, 143 &surfaceAttribInfo_VAProfileH264High_VAEntrypointVLD_Xe2_Lpm_r0 144 }; 145 146 static const EntrypointData entrypointMap_VAProfileH264ConstrainedBaselineDec_Data_Xe2_Lpm_r0 147 { 148 &attribList_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe2_Lpm_r0, 149 &configDataList_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe2_Lpm_r0, 150 &surfaceAttribInfo_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe2_Lpm_r0 151 }; 152 153 #endif 154