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_mpeg2_decode_xe2_lpm_r0_specific.h 23 //! \brief This file register all caps data 24 //! 25 26 #ifndef __CAPSTABLE_DATA_MPEG2_DECODE_XE2_LPM_R0_SPECIFIC_H__ 27 #define __CAPSTABLE_DATA_MPEG2_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 bitset value 38 //! 39 //! \brief Definition for ConfigDataList 40 static ConfigDataList configDataList_VAProfileMPEG2Simple_VAEntrypointVLD_Xe2_Lpm_r0 = 41 { 42 {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE} 43 }; 44 45 static ConfigDataList configDataList_VAProfileMPEG2Main_VAEntrypointVLD_Xe2_Lpm_r0 = 46 { 47 {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE} 48 }; 49 50 //! 51 //! \brief Definition for AttribList 52 //! 53 static const AttribList attribList_VAProfileMPEG2Simple_VAEntrypointVLD_Xe2_Lpm_r0 54 { 55 {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_RGB32}, 56 {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL}, 57 {VAConfigAttribDecProcessing, VA_DEC_PROCESSING_NONE}, 58 {VAConfigAttribMaxPictureWidth, CODEC_2K_MAX_PIC_WIDTH}, 59 {VAConfigAttribMaxPictureHeight, CODEC_2K_MAX_PIC_HEIGHT}, 60 {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED}, 61 {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE}, 62 {VAConfigAttribCustomRoundingControl, 1}, 63 }; 64 65 static const AttribList attribList_VAProfileMPEG2Main_VAEntrypointVLD_Xe2_Lpm_r0 66 { 67 {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_RGB32}, 68 {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL}, 69 {VAConfigAttribDecProcessing, VA_DEC_PROCESSING_NONE}, 70 {VAConfigAttribMaxPictureWidth, CODEC_2K_MAX_PIC_WIDTH}, 71 {VAConfigAttribMaxPictureHeight, CODEC_2K_MAX_PIC_HEIGHT}, 72 {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED}, 73 {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE}, 74 {VAConfigAttribCustomRoundingControl, 1}, 75 }; 76 77 //! 78 //! \brief Definition for ProfileSurfaceAttribInfo 79 //! 80 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileMPEG2Simple_VAEntrypointVLD_Xe2_Lpm_r0 = 81 { 82 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, 83 {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_2K_MAX_PIC_WIDTH}}}, 84 {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_2K_MAX_PIC_HEIGHT}}}, 85 {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} 86 }; 87 88 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileMPEG2Main_VAEntrypointVLD_Xe2_Lpm_r0 = 89 { 90 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, 91 {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_2K_MAX_PIC_WIDTH}}}, 92 {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_2K_MAX_PIC_HEIGHT}}}, 93 {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} 94 }; 95 96 //! 97 //! \brief Definition for EntrypointMap 98 //! 99 static const EntrypointData entrypointMap_VAProfileMPEG2SimpleDec_Data_Xe2_Lpm_r0 100 { 101 &attribList_VAProfileMPEG2Simple_VAEntrypointVLD_Xe2_Lpm_r0, 102 &configDataList_VAProfileMPEG2Simple_VAEntrypointVLD_Xe2_Lpm_r0, 103 &surfaceAttribInfo_VAProfileMPEG2Simple_VAEntrypointVLD_Xe2_Lpm_r0 104 }; 105 106 static const EntrypointData entrypointMap_VAProfileMPEG2MainDec_Data_Xe2_Lpm_r0 107 { 108 &attribList_VAProfileMPEG2Main_VAEntrypointVLD_Xe2_Lpm_r0, 109 &configDataList_VAProfileMPEG2Main_VAEntrypointVLD_Xe2_Lpm_r0, 110 &surfaceAttribInfo_VAProfileMPEG2Main_VAEntrypointVLD_Xe2_Lpm_r0 111 }; 112 113 #endif 114