• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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