1 /* 2 * Copyright (c) 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_av1_encode_xe2_lpm_r0_specific.h 23 //! \brief This file register all caps data 24 //! 25 26 #ifndef __CAPSTABLE_DATA_AV1_ENCODE_XE2_LPM_R0_SPECIFIC_H__ 27 #define __CAPSTABLE_DATA_AV1_ENCODE_XE2_LPM_R0_SPECIFIC_H__ 28 29 #include "capstable_data_xe2_lpm_r0_specific.h" 30 #include "codec_def_encode_av1.h" 31 32 //! 33 //! \brief Definition for bitset value 34 //! 35 static const VAConfigAttribValEncAV1Ext2 VAProfileAV1Profile0_VAEntrypointEncSlice_encAV1Ext2_Xe2_Lpm_r0 36 { 37 {TILE_SIZE_BYTES - 1,3,AV1_TX_MODE_SELECT_SUPPORTED,511,0} 38 }; 39 40 static const VAConfigAttribValEncAV1 VAProfileAV1Profile0_VAEntrypointEncSlice_encAV1_Xe2_Lpm_r0 41 { 42 {0,0,0,0,0,0,1,0,0,0,0,0,1,1,0} 43 }; 44 45 static const VAConfigAttribValEncAV1Ext1 VAProfileAV1Profile0_VAEntrypointEncSlice_encAV1Ext1_Xe2_Lpm_r0 46 { 47 {31,32,1,0} 48 }; 49 50 static const VAConfigAttribValEncROI VAProfileAV1Profile0_VAEntrypointEncSlice_encROI_Xe2_Lpm_r0 51 { 52 {0,0,1,0} 53 }; 54 55 //! \brief Definition for ConfigDataList 56 static ConfigDataList configDataList_VAProfileAV1Profile0_VAEntrypointEncSlice_Xe2_Lpm_r0 = 57 { 58 {VA_RC_CQP, 0}, 59 {VA_RC_CBR, 0}, 60 {VA_RC_VBR, 0}, 61 {VA_RC_ICQ, 0} 62 }; 63 64 //! 65 //! \brief Definition for AttribList 66 //! 67 static const AttribList attribList_VAProfileAV1Profile0_VAEntrypointEncSlice_Xe2_Lpm_r0 68 { 69 {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV420_10}, 70 {VAConfigAttribEncDynamicScaling, 0}, 71 {VAConfigAttribEncDirtyRect, VA_ATTRIB_NOT_SUPPORTED}, 72 {VAConfigAttribEncAV1Ext2, VAProfileAV1Profile0_VAEntrypointEncSlice_encAV1Ext2_Xe2_Lpm_r0.value}, 73 {VAConfigAttribEncAV1, VAProfileAV1Profile0_VAEntrypointEncSlice_encAV1_Xe2_Lpm_r0.value}, 74 {VAConfigAttribMaxPictureWidth, CODEC_8K_MAX_PIC_WIDTH}, 75 {VAConfigAttribMaxPictureHeight, CODEC_8K_MAX_PIC_HEIGHT}, 76 {VAConfigAttribEncAV1Ext1, VAProfileAV1Profile0_VAEntrypointEncSlice_encAV1Ext1_Xe2_Lpm_r0.value}, 77 {VAConfigAttribRateControl, VA_RC_CQP | VA_RC_CBR | VA_RC_VBR | VA_RC_ICQ}, 78 {VAConfigAttribEncTileSupport, 1}, 79 {VAConfigAttribEncMaxRefFrames, CODEC_AV1_NUM_REFL0P_FRAMES | CODEC_AV1_NUM_REFL1B_FRAMES<<16}, 80 {VAConfigAttribEncQualityRange, NUM_TARGET_USAGE_MODES - 1}, 81 {VAConfigAttribEncPackedHeaders, VA_ENC_PACKED_HEADER_PICTURE | VA_ENC_PACKED_HEADER_SEQUENCE | VA_ENC_PACKED_HEADER_RAW_DATA | VA_ENC_PACKED_HEADER_MISC}, 82 {VAConfigAttribEncInterlaced, VA_ENC_INTERLACED_NONE}, 83 {VAConfigAttribEncQuantization, 0}, 84 {VAConfigAttribEncIntraRefresh, 0}, 85 {VAConfigAttribEncSkipFrame, 0}, 86 {VAConfigAttribEncROI, VAProfileAV1Profile0_VAEntrypointEncSlice_encROI_Xe2_Lpm_r0.value}, 87 {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_ENCODE}, 88 {VAConfigAttribEncParallelRateControl, 0}, 89 {VAConfigAttribFEIMVPredictors, 0}, 90 }; 91 92 //! 93 static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileAV1Profile0_VAEntrypointEncSlice_Xe2_Lpm_r0 = 94 { 95 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, 96 {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_P010}}}, 97 {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}}, 98 {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {8192}}}, 99 {VASurfaceAttribMinWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {128}}}, 100 {VASurfaceAttribMinHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {96}}}, 101 {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA | VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} 102 }; 103 104 //! 105 //! \brief Definition for EmtrypointMap 106 //! 107 static const EntrypointData entrypointMap_VAProfileAV1Profile0_Data_Xe2_Lpm_r0 108 { 109 &attribList_VAProfileAV1Profile0_VAEntrypointEncSlice_Xe2_Lpm_r0, 110 &configDataList_VAProfileAV1Profile0_VAEntrypointEncSlice_Xe2_Lpm_r0, 111 &surfaceAttribInfo_VAProfileAV1Profile0_VAEntrypointEncSlice_Xe2_Lpm_r0 112 }; 113 114 115 #endif 116