1*437bfbebSnyanmisaka /* 2*437bfbebSnyanmisaka * Copyright 2020 Rockchip Electronics Co. LTD 3*437bfbebSnyanmisaka * 4*437bfbebSnyanmisaka * Licensed under the Apache License, Version 2.0 (the "License"); 5*437bfbebSnyanmisaka * you may not use this file except in compliance with the License. 6*437bfbebSnyanmisaka * You may obtain a copy of the License at 7*437bfbebSnyanmisaka * 8*437bfbebSnyanmisaka * http://www.apache.org/licenses/LICENSE-2.0 9*437bfbebSnyanmisaka * 10*437bfbebSnyanmisaka * Unless required by applicable law or agreed to in writing, software 11*437bfbebSnyanmisaka * distributed under the License is distributed on an "AS IS" BASIS, 12*437bfbebSnyanmisaka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*437bfbebSnyanmisaka * See the License for the specific language governing permissions and 14*437bfbebSnyanmisaka * limitations under the License. 15*437bfbebSnyanmisaka */ 16*437bfbebSnyanmisaka 17*437bfbebSnyanmisaka #ifndef __HAL_H265E_VEPU54X_REG_L2_H__ 18*437bfbebSnyanmisaka #define __HAL_H265E_VEPU54X_REG_L2_H__ 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #include "rk_type.h" 21*437bfbebSnyanmisaka 22*437bfbebSnyanmisaka typedef struct { 23*437bfbebSnyanmisaka /* 0x48 - ATF_THD0 */ 24*437bfbebSnyanmisaka struct { 25*437bfbebSnyanmisaka RK_U32 atf_thd0_i32 : 6; 26*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 27*437bfbebSnyanmisaka RK_U32 atf_thd1_i32 : 6; 28*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 29*437bfbebSnyanmisaka } atf_thd0; 30*437bfbebSnyanmisaka 31*437bfbebSnyanmisaka /* 0x4c - ATF_THD1 */ 32*437bfbebSnyanmisaka struct { 33*437bfbebSnyanmisaka RK_U32 atf_thd0_i16 : 6; 34*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 35*437bfbebSnyanmisaka RK_U32 atf_thd1_i16 : 6; 36*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 37*437bfbebSnyanmisaka } atf_thd1; 38*437bfbebSnyanmisaka 39*437bfbebSnyanmisaka /* 0x50 - ATF_SAD_THD0 */ 40*437bfbebSnyanmisaka struct { 41*437bfbebSnyanmisaka RK_U32 atf_thd0_p64 : 6; 42*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 43*437bfbebSnyanmisaka RK_U32 atf_thd1_p64 : 6; 44*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 45*437bfbebSnyanmisaka } atf_sad_thd0; 46*437bfbebSnyanmisaka 47*437bfbebSnyanmisaka /* 0x54 - ATF_SAD_THD1 */ 48*437bfbebSnyanmisaka struct { 49*437bfbebSnyanmisaka RK_U32 atf_thd0_p32 : 6; 50*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 51*437bfbebSnyanmisaka RK_U32 atf_thd1_p32 : 6; 52*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 53*437bfbebSnyanmisaka } atf_sad_thd1; 54*437bfbebSnyanmisaka 55*437bfbebSnyanmisaka /* 0x58 - ATF_SAD_WGT0 */ 56*437bfbebSnyanmisaka struct { 57*437bfbebSnyanmisaka RK_U32 atf_thd0_p16 : 6; 58*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 59*437bfbebSnyanmisaka RK_U32 atf_thd1_p16 : 6; 60*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 61*437bfbebSnyanmisaka } atf_sad_wgt0; 62*437bfbebSnyanmisaka } vepu541_intra_thd; 63*437bfbebSnyanmisaka 64*437bfbebSnyanmisaka typedef struct { 65*437bfbebSnyanmisaka /* 0x48 - ATF_THD0 */ 66*437bfbebSnyanmisaka struct { 67*437bfbebSnyanmisaka RK_U32 atf_thd0_i32 : 10; 68*437bfbebSnyanmisaka RK_U32 reserved0 : 6; 69*437bfbebSnyanmisaka RK_U32 atf_thd1_i32 : 10; 70*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 71*437bfbebSnyanmisaka } atf_thd0; 72*437bfbebSnyanmisaka 73*437bfbebSnyanmisaka /* 0x4c - ATF_THD1 */ 74*437bfbebSnyanmisaka struct { 75*437bfbebSnyanmisaka RK_U32 atf_thd0_i16 : 10; 76*437bfbebSnyanmisaka RK_U32 reserved0 : 6; 77*437bfbebSnyanmisaka RK_U32 atf_thd1_i16 : 10; 78*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 79*437bfbebSnyanmisaka } atf_thd1; 80*437bfbebSnyanmisaka 81*437bfbebSnyanmisaka /* 0x50 - ATF_SAD_THD0 */ 82*437bfbebSnyanmisaka struct { 83*437bfbebSnyanmisaka RK_U32 atf_thd0_p64 : 10; 84*437bfbebSnyanmisaka RK_U32 reserved0 : 6; 85*437bfbebSnyanmisaka RK_U32 atf_thd1_p64 : 10; 86*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 87*437bfbebSnyanmisaka } atf_sad_thd0; 88*437bfbebSnyanmisaka 89*437bfbebSnyanmisaka /* 0x54 - ATF_SAD_THD1 */ 90*437bfbebSnyanmisaka struct { 91*437bfbebSnyanmisaka RK_U32 atf_thd0_p32 : 10; 92*437bfbebSnyanmisaka RK_U32 reserved0 : 6; 93*437bfbebSnyanmisaka RK_U32 atf_thd1_p32 : 10; 94*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 95*437bfbebSnyanmisaka } atf_sad_thd1; 96*437bfbebSnyanmisaka 97*437bfbebSnyanmisaka /* 0x58 - ATF_SAD_WGT0 */ 98*437bfbebSnyanmisaka struct { 99*437bfbebSnyanmisaka RK_U32 atf_thd0_p16 : 10; 100*437bfbebSnyanmisaka RK_U32 reserved0 : 6; 101*437bfbebSnyanmisaka RK_U32 atf_thd1_p16 : 10; 102*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 103*437bfbebSnyanmisaka } atf_sad_wgt0; 104*437bfbebSnyanmisaka } vepu540_intra_thd; 105*437bfbebSnyanmisaka 106*437bfbebSnyanmisaka 107*437bfbebSnyanmisaka typedef struct H265eV54xL2RegSet_t { 108*437bfbebSnyanmisaka /* L2 Register: 0x4 */ 109*437bfbebSnyanmisaka struct { 110*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_thd0 : 12; 111*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 112*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_thd1 : 12; 113*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 114*437bfbebSnyanmisaka } lvl32_intra_CST_THD0; 115*437bfbebSnyanmisaka 116*437bfbebSnyanmisaka struct { 117*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_thd2 : 12; 118*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 119*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_thd3 : 12; 120*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 121*437bfbebSnyanmisaka } lvl32_intra_CST_THD1; 122*437bfbebSnyanmisaka 123*437bfbebSnyanmisaka struct { 124*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_thd0 : 12; 125*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 126*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_thd1 : 12; 127*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 128*437bfbebSnyanmisaka } lvl16_intra_CST_THD0; 129*437bfbebSnyanmisaka 130*437bfbebSnyanmisaka struct { 131*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_thd2 : 12; 132*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 133*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_thd3 : 12; 134*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 135*437bfbebSnyanmisaka } lvl16_intra_CST_THD1; 136*437bfbebSnyanmisaka 137*437bfbebSnyanmisaka /* 0x14-0x1c - reserved */ 138*437bfbebSnyanmisaka RK_U32 lvl8_intra_CST_THD0; 139*437bfbebSnyanmisaka RK_U32 lvl8_intra_CST_THD1; 140*437bfbebSnyanmisaka RK_U32 lvl16_intra_UL_CST_THD; 141*437bfbebSnyanmisaka 142*437bfbebSnyanmisaka struct { 143*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt0 : 8; 144*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt1 : 8; 145*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt2 : 8; 146*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt3 : 8; 147*437bfbebSnyanmisaka } lvl32_intra_CST_WGT0; 148*437bfbebSnyanmisaka 149*437bfbebSnyanmisaka struct { 150*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt4 : 8; 151*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt5 : 8; 152*437bfbebSnyanmisaka RK_U32 lvl32_intra_cst_wgt6 : 8; 153*437bfbebSnyanmisaka RK_U32 reserved2 : 8; 154*437bfbebSnyanmisaka } lvl32_intra_CST_WGT1; 155*437bfbebSnyanmisaka 156*437bfbebSnyanmisaka struct { 157*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt0 : 8; 158*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt1 : 8; 159*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt2 : 8; 160*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt3 : 8; 161*437bfbebSnyanmisaka } lvl16_intra_CST_WGT0; 162*437bfbebSnyanmisaka 163*437bfbebSnyanmisaka struct { 164*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt4 : 8; 165*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt5 : 8; 166*437bfbebSnyanmisaka RK_U32 lvl16_intra_cst_wgt6 : 8; 167*437bfbebSnyanmisaka RK_U32 reserved2 : 8; 168*437bfbebSnyanmisaka } lvl16_intra_CST_WGT1; 169*437bfbebSnyanmisaka 170*437bfbebSnyanmisaka /* 0x30 - RDO_QUANT */ 171*437bfbebSnyanmisaka struct { 172*437bfbebSnyanmisaka RK_U32 quant_f_bias_I : 10; 173*437bfbebSnyanmisaka RK_U32 quant_f_bias_P : 10; 174*437bfbebSnyanmisaka RK_U32 reserved : 12; 175*437bfbebSnyanmisaka } rdo_quant; 176*437bfbebSnyanmisaka 177*437bfbebSnyanmisaka /* 0x34 - ATR_THD0, reserved */ 178*437bfbebSnyanmisaka struct { 179*437bfbebSnyanmisaka RK_U32 atr_thd0 : 12; 180*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 181*437bfbebSnyanmisaka RK_U32 atr_thd1 : 12; 182*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 183*437bfbebSnyanmisaka } atr_thd0; 184*437bfbebSnyanmisaka 185*437bfbebSnyanmisaka /* 0x38 - ATR_THD1, reserved */ 186*437bfbebSnyanmisaka struct { 187*437bfbebSnyanmisaka RK_U32 atr_thd2 : 12; 188*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 189*437bfbebSnyanmisaka RK_U32 atr_thdqp : 6; 190*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 191*437bfbebSnyanmisaka } atr_thd1; 192*437bfbebSnyanmisaka 193*437bfbebSnyanmisaka /* 0x3c - Lvl16_ATR_WGT, reserved */ 194*437bfbebSnyanmisaka struct { 195*437bfbebSnyanmisaka RK_U32 lvl16_atr_wgt0 : 8; 196*437bfbebSnyanmisaka RK_U32 lvl16_atr_wgt1 : 8; 197*437bfbebSnyanmisaka RK_U32 lvl16_atr_wgt2 : 8; 198*437bfbebSnyanmisaka RK_U32 reserved : 8; 199*437bfbebSnyanmisaka } lvl16_atr_wgt; 200*437bfbebSnyanmisaka 201*437bfbebSnyanmisaka /* 0x40 - Lvl8_ATR_WGT, reserved */ 202*437bfbebSnyanmisaka struct { 203*437bfbebSnyanmisaka RK_U32 lvl8_atr_wgt0 : 8; 204*437bfbebSnyanmisaka RK_U32 lvl8_atr_wgt1 : 8; 205*437bfbebSnyanmisaka RK_U32 lvl8_atr_wgt2 : 8; 206*437bfbebSnyanmisaka RK_U32 reserved : 8; 207*437bfbebSnyanmisaka } lvl8_atr_wgt; 208*437bfbebSnyanmisaka 209*437bfbebSnyanmisaka /* 0x44 - Lvl4_ATR_WGT, reserved */ 210*437bfbebSnyanmisaka struct { 211*437bfbebSnyanmisaka RK_U32 lvl4_atr_wgt0 : 8; 212*437bfbebSnyanmisaka RK_U32 lvl4_atr_wgt1 : 8; 213*437bfbebSnyanmisaka RK_U32 lvl4_atr_wgt2 : 8; 214*437bfbebSnyanmisaka RK_U32 reserved : 8; 215*437bfbebSnyanmisaka } lvl4_atr_wgt; 216*437bfbebSnyanmisaka 217*437bfbebSnyanmisaka union { 218*437bfbebSnyanmisaka vepu541_intra_thd thd_541; 219*437bfbebSnyanmisaka vepu540_intra_thd thd_540; 220*437bfbebSnyanmisaka }; 221*437bfbebSnyanmisaka 222*437bfbebSnyanmisaka /* 0x5c - ATF_SAD_WGT1 */ 223*437bfbebSnyanmisaka struct { 224*437bfbebSnyanmisaka RK_U32 atf_wgt_i16 : 6; 225*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 226*437bfbebSnyanmisaka RK_U32 atf_wgt_i32 : 6; 227*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 228*437bfbebSnyanmisaka } atf_sad_wgt1; 229*437bfbebSnyanmisaka 230*437bfbebSnyanmisaka /* 0x60 - ATF_SAD_WGT2 */ 231*437bfbebSnyanmisaka struct { 232*437bfbebSnyanmisaka RK_U32 atf_wgt_p32 : 6; 233*437bfbebSnyanmisaka RK_U32 reserved0 : 10; 234*437bfbebSnyanmisaka RK_U32 atf_wgt_p64 : 6; 235*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 236*437bfbebSnyanmisaka } atf_sad_wgt2; 237*437bfbebSnyanmisaka 238*437bfbebSnyanmisaka /* 0x64 - ATF_SAD_OFST0 */ 239*437bfbebSnyanmisaka struct { 240*437bfbebSnyanmisaka RK_U32 atf_wgt_p16 : 6; 241*437bfbebSnyanmisaka RK_U32 reserved : 26; 242*437bfbebSnyanmisaka } atf_sad_ofst0; 243*437bfbebSnyanmisaka 244*437bfbebSnyanmisaka /* 0x68 - ATF_SAD_OFST1, reserved */ 245*437bfbebSnyanmisaka struct { 246*437bfbebSnyanmisaka RK_U32 atf_sad_ofst12 : 14; 247*437bfbebSnyanmisaka RK_U32 reserved0 : 2; 248*437bfbebSnyanmisaka RK_U32 atf_sad_ofst20 : 14; 249*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 250*437bfbebSnyanmisaka } atf_sad_ofst1; 251*437bfbebSnyanmisaka 252*437bfbebSnyanmisaka /* 0x6c - ATF_SAD_OFST2, reserved */ 253*437bfbebSnyanmisaka struct { 254*437bfbebSnyanmisaka RK_U32 atf_sad_ofst21 : 14; 255*437bfbebSnyanmisaka RK_U32 reserved0 : 2; 256*437bfbebSnyanmisaka RK_U32 atf_sad_ofst30 : 14; 257*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 258*437bfbebSnyanmisaka } atf_sad_ofst2; 259*437bfbebSnyanmisaka 260*437bfbebSnyanmisaka /* 0x70-0x13c - LAMD_SATD_qp */ 261*437bfbebSnyanmisaka RK_U32 lamd_satd_qp[52]; 262*437bfbebSnyanmisaka 263*437bfbebSnyanmisaka /* 0x140-0x20c - LAMD_MOD_qp, combo for I and P */ 264*437bfbebSnyanmisaka RK_U32 lamd_moda_qp[52]; 265*437bfbebSnyanmisaka /* 0x210-0x2dc */ 266*437bfbebSnyanmisaka RK_U32 lamd_modb_qp[52]; 267*437bfbebSnyanmisaka 268*437bfbebSnyanmisaka /* 0x2e0 - MADI_CFG */ 269*437bfbebSnyanmisaka struct { 270*437bfbebSnyanmisaka RK_U32 reserved : 16; 271*437bfbebSnyanmisaka RK_U32 madi_thd : 8; 272*437bfbebSnyanmisaka RK_U32 reserved1 : 8; 273*437bfbebSnyanmisaka } madi_cfg; 274*437bfbebSnyanmisaka 275*437bfbebSnyanmisaka /* 0x2e4 - AQ_THD0 - 0x2f0 - AQ_THD3 */ 276*437bfbebSnyanmisaka RK_U8 aq_tthd[16]; 277*437bfbebSnyanmisaka 278*437bfbebSnyanmisaka /* 279*437bfbebSnyanmisaka * 0x2f4 - AQ_QP_DLT0 - 0x300 - AQ_QP_DLT3 280*437bfbebSnyanmisaka * only low 6 bits is valid for per step. 281*437bfbebSnyanmisaka */ 282*437bfbebSnyanmisaka RK_U8 aq_step[16]; 283*437bfbebSnyanmisaka 284*437bfbebSnyanmisaka /*0x304-0x30c*/ 285*437bfbebSnyanmisaka RK_U32 reserve[3]; 286*437bfbebSnyanmisaka /*pre_intra class mode */ 287*437bfbebSnyanmisaka // 0x0310~0x394 288*437bfbebSnyanmisaka // 0x0310 289*437bfbebSnyanmisaka struct { 290*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m0 : 6; 291*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m1 : 6; 292*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m2 : 6; 293*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m3 : 6; 294*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m4 : 6; 295*437bfbebSnyanmisaka RK_U32 reserved : 2; 296*437bfbebSnyanmisaka } pre_intra_cla0_B0; 297*437bfbebSnyanmisaka 298*437bfbebSnyanmisaka // 0x0314 299*437bfbebSnyanmisaka struct { 300*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m5 : 6; 301*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m6 : 6; 302*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m7 : 6; 303*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m8 : 6; 304*437bfbebSnyanmisaka RK_U32 pre_intra_cla0_m9 : 6; 305*437bfbebSnyanmisaka RK_U32 reserved : 2; 306*437bfbebSnyanmisaka } pre_intra_cla0_B1; 307*437bfbebSnyanmisaka 308*437bfbebSnyanmisaka // 0x0318 309*437bfbebSnyanmisaka struct { 310*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m0 : 6; 311*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m1 : 6; 312*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m2 : 6; 313*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m3 : 6; 314*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m4 : 6; 315*437bfbebSnyanmisaka RK_U32 reserved : 2; 316*437bfbebSnyanmisaka } pre_intra_cla1_B0; 317*437bfbebSnyanmisaka 318*437bfbebSnyanmisaka // 0x031c 319*437bfbebSnyanmisaka struct { 320*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m5 : 6; 321*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m6 : 6; 322*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m7 : 6; 323*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m8 : 6; 324*437bfbebSnyanmisaka RK_U32 pre_intra_cla1_m9 : 6; 325*437bfbebSnyanmisaka RK_U32 reserved : 2; 326*437bfbebSnyanmisaka } pre_intra_cla1_B1; 327*437bfbebSnyanmisaka 328*437bfbebSnyanmisaka // 0x0320 329*437bfbebSnyanmisaka struct { 330*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m0 : 6; 331*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m1 : 6; 332*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m2 : 6; 333*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m3 : 6; 334*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m4 : 6; 335*437bfbebSnyanmisaka RK_U32 reserved : 2; 336*437bfbebSnyanmisaka } pre_intra_cla2_B0; 337*437bfbebSnyanmisaka 338*437bfbebSnyanmisaka // 0x0324 339*437bfbebSnyanmisaka struct { 340*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m5 : 6; 341*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m6 : 6; 342*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m7 : 6; 343*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m8 : 6; 344*437bfbebSnyanmisaka RK_U32 pre_intra_cla2_m9 : 6; 345*437bfbebSnyanmisaka RK_U32 reserved : 2; 346*437bfbebSnyanmisaka } pre_intra_cla2_B1; 347*437bfbebSnyanmisaka 348*437bfbebSnyanmisaka // 0x0328 349*437bfbebSnyanmisaka struct { 350*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m0 : 6; 351*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m1 : 6; 352*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m2 : 6; 353*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m3 : 6; 354*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m4 : 6; 355*437bfbebSnyanmisaka RK_U32 reserved : 2; 356*437bfbebSnyanmisaka } pre_intra_cla3_B0; 357*437bfbebSnyanmisaka 358*437bfbebSnyanmisaka // 0x032c 359*437bfbebSnyanmisaka struct { 360*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m5 : 6; 361*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m6 : 6; 362*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m7 : 6; 363*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m8 : 6; 364*437bfbebSnyanmisaka RK_U32 pre_intra_cla3_m9 : 6; 365*437bfbebSnyanmisaka RK_U32 reserved : 2; 366*437bfbebSnyanmisaka } pre_intra_cla3_B1; 367*437bfbebSnyanmisaka 368*437bfbebSnyanmisaka // 0x0330 369*437bfbebSnyanmisaka struct { 370*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m0 : 6; 371*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m1 : 6; 372*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m2 : 6; 373*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m3 : 6; 374*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m4 : 6; 375*437bfbebSnyanmisaka RK_U32 reserved : 2; 376*437bfbebSnyanmisaka } pre_intra_cla4_B0; 377*437bfbebSnyanmisaka 378*437bfbebSnyanmisaka // 0x0334 379*437bfbebSnyanmisaka struct { 380*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m5 : 6; 381*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m6 : 6; 382*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m7 : 6; 383*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m8 : 6; 384*437bfbebSnyanmisaka RK_U32 pre_intra_cla4_m9 : 6; 385*437bfbebSnyanmisaka RK_U32 reserved : 2; 386*437bfbebSnyanmisaka } pre_intra_cla4_B1; 387*437bfbebSnyanmisaka 388*437bfbebSnyanmisaka // 0x0338 389*437bfbebSnyanmisaka struct { 390*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m0 : 6; 391*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m1 : 6; 392*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m2 : 6; 393*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m3 : 6; 394*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m4 : 6; 395*437bfbebSnyanmisaka RK_U32 reserved : 2; 396*437bfbebSnyanmisaka } pre_intra_cla5_B0; 397*437bfbebSnyanmisaka 398*437bfbebSnyanmisaka // 0x033c 399*437bfbebSnyanmisaka struct { 400*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m5 : 6; 401*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m6 : 6; 402*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m7 : 6; 403*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m8 : 6; 404*437bfbebSnyanmisaka RK_U32 pre_intra_cla5_m9 : 6; 405*437bfbebSnyanmisaka RK_U32 reserved : 2; 406*437bfbebSnyanmisaka } pre_intra_cla5_B1; 407*437bfbebSnyanmisaka 408*437bfbebSnyanmisaka // 0x0340 409*437bfbebSnyanmisaka struct { 410*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m0 : 6; 411*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m1 : 6; 412*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m2 : 6; 413*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m3 : 6; 414*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m4 : 6; 415*437bfbebSnyanmisaka RK_U32 reserved : 2; 416*437bfbebSnyanmisaka } pre_intra_cla6_B0; 417*437bfbebSnyanmisaka 418*437bfbebSnyanmisaka // 0x0344 419*437bfbebSnyanmisaka struct { 420*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m5 : 6; 421*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m6 : 6; 422*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m7 : 6; 423*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m8 : 6; 424*437bfbebSnyanmisaka RK_U32 pre_intra_cla6_m9 : 6; 425*437bfbebSnyanmisaka RK_U32 reserved : 2; 426*437bfbebSnyanmisaka } pre_intra_cla6_B1; 427*437bfbebSnyanmisaka 428*437bfbebSnyanmisaka // 0x0348 429*437bfbebSnyanmisaka struct { 430*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m0 : 6; 431*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m1 : 6; 432*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m2 : 6; 433*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m3 : 6; 434*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m4 : 6; 435*437bfbebSnyanmisaka RK_U32 reserved : 2; 436*437bfbebSnyanmisaka } pre_intra_cla7_B0; 437*437bfbebSnyanmisaka 438*437bfbebSnyanmisaka // 0x034c 439*437bfbebSnyanmisaka struct { 440*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m5 : 6; 441*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m6 : 6; 442*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m7 : 6; 443*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m8 : 6; 444*437bfbebSnyanmisaka RK_U32 pre_intra_cla7_m9 : 6; 445*437bfbebSnyanmisaka RK_U32 reserved : 2; 446*437bfbebSnyanmisaka } pre_intra_cla7_B1; 447*437bfbebSnyanmisaka 448*437bfbebSnyanmisaka // 0x0350 449*437bfbebSnyanmisaka struct { 450*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m0 : 6; 451*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m1 : 6; 452*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m2 : 6; 453*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m3 : 6; 454*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m4 : 6; 455*437bfbebSnyanmisaka RK_U32 reserved : 2; 456*437bfbebSnyanmisaka } pre_intra_cla8_B0; 457*437bfbebSnyanmisaka 458*437bfbebSnyanmisaka // 0x0354 459*437bfbebSnyanmisaka struct { 460*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m5 : 6; 461*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m6 : 6; 462*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m7 : 6; 463*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m8 : 6; 464*437bfbebSnyanmisaka RK_U32 pre_intra_cla8_m9 : 6; 465*437bfbebSnyanmisaka RK_U32 reserved : 2; 466*437bfbebSnyanmisaka } pre_intra_cla8_B1; 467*437bfbebSnyanmisaka 468*437bfbebSnyanmisaka // 0x0358 469*437bfbebSnyanmisaka struct { 470*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m0 : 6; 471*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m1 : 6; 472*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m2 : 6; 473*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m3 : 6; 474*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m4 : 6; 475*437bfbebSnyanmisaka RK_U32 reserved : 2; 476*437bfbebSnyanmisaka } pre_intra_cla9_B0; 477*437bfbebSnyanmisaka 478*437bfbebSnyanmisaka // 0x035c 479*437bfbebSnyanmisaka struct { 480*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m5 : 6; 481*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m6 : 6; 482*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m7 : 6; 483*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m8 : 6; 484*437bfbebSnyanmisaka RK_U32 pre_intra_cla9_m9 : 6; 485*437bfbebSnyanmisaka RK_U32 reserved : 2; 486*437bfbebSnyanmisaka } pre_intra_cla9_B1; 487*437bfbebSnyanmisaka 488*437bfbebSnyanmisaka // 0x0360 489*437bfbebSnyanmisaka struct { 490*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m0 : 6; 491*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m1 : 6; 492*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m2 : 6; 493*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m3 : 6; 494*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m4 : 6; 495*437bfbebSnyanmisaka RK_U32 reserved : 2; 496*437bfbebSnyanmisaka } pre_intra_cla10_B0; 497*437bfbebSnyanmisaka 498*437bfbebSnyanmisaka // 0x0364 499*437bfbebSnyanmisaka struct { 500*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m5 : 6; 501*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m6 : 6; 502*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m7 : 6; 503*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m8 : 6; 504*437bfbebSnyanmisaka RK_U32 pre_intra_cla10_m9 : 6; 505*437bfbebSnyanmisaka RK_U32 reserved : 2; 506*437bfbebSnyanmisaka } pre_intra_cla10_B1; 507*437bfbebSnyanmisaka 508*437bfbebSnyanmisaka // 0x0368 509*437bfbebSnyanmisaka struct { 510*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m0 : 6; 511*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m1 : 6; 512*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m2 : 6; 513*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m3 : 6; 514*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m4 : 6; 515*437bfbebSnyanmisaka RK_U32 reserved : 2; 516*437bfbebSnyanmisaka } pre_intra_cla11_B0; 517*437bfbebSnyanmisaka 518*437bfbebSnyanmisaka // 0x036c 519*437bfbebSnyanmisaka struct { 520*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m5 : 6; 521*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m6 : 6; 522*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m7 : 6; 523*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m8 : 6; 524*437bfbebSnyanmisaka RK_U32 pre_intra_cla11_m9 : 6; 525*437bfbebSnyanmisaka RK_U32 reserved : 2; 526*437bfbebSnyanmisaka } pre_intra_cla11_B1; 527*437bfbebSnyanmisaka 528*437bfbebSnyanmisaka // 0x0370 529*437bfbebSnyanmisaka struct { 530*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m0 : 6; 531*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m1 : 6; 532*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m2 : 6; 533*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m3 : 6; 534*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m4 : 6; 535*437bfbebSnyanmisaka RK_U32 reserved : 2; 536*437bfbebSnyanmisaka } pre_intra_cla12_B0; 537*437bfbebSnyanmisaka 538*437bfbebSnyanmisaka // 0x0374 539*437bfbebSnyanmisaka struct { 540*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m5 : 6; 541*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m6 : 6; 542*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m7 : 6; 543*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m8 : 6; 544*437bfbebSnyanmisaka RK_U32 pre_intra_cla12_m9 : 6; 545*437bfbebSnyanmisaka RK_U32 reserved : 2; 546*437bfbebSnyanmisaka } pre_intra_cla12_B1; 547*437bfbebSnyanmisaka 548*437bfbebSnyanmisaka // 0x0378 549*437bfbebSnyanmisaka struct { 550*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m0 : 6; 551*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m1 : 6; 552*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m2 : 6; 553*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m3 : 6; 554*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m4 : 6; 555*437bfbebSnyanmisaka RK_U32 reserved : 2; 556*437bfbebSnyanmisaka } pre_intra_cla13_B0; 557*437bfbebSnyanmisaka 558*437bfbebSnyanmisaka // 0x037c 559*437bfbebSnyanmisaka struct { 560*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m5 : 6; 561*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m6 : 6; 562*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m7 : 6; 563*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m8 : 6; 564*437bfbebSnyanmisaka RK_U32 pre_intra_cla13_m9 : 6; 565*437bfbebSnyanmisaka RK_U32 reserved : 2; 566*437bfbebSnyanmisaka } pre_intra_cla13_B1; 567*437bfbebSnyanmisaka 568*437bfbebSnyanmisaka // 0x0380 569*437bfbebSnyanmisaka struct { 570*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m0 : 6; 571*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m1 : 6; 572*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m2 : 6; 573*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m3 : 6; 574*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m4 : 6; 575*437bfbebSnyanmisaka RK_U32 reserved : 2; 576*437bfbebSnyanmisaka } pre_intra_cla14_B0; 577*437bfbebSnyanmisaka 578*437bfbebSnyanmisaka // 0x0384 579*437bfbebSnyanmisaka struct { 580*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m5 : 6; 581*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m6 : 6; 582*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m7 : 6; 583*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m8 : 6; 584*437bfbebSnyanmisaka RK_U32 pre_intra_cla14_m9 : 6; 585*437bfbebSnyanmisaka RK_U32 reserved : 2; 586*437bfbebSnyanmisaka } pre_intra_cla14_B1; 587*437bfbebSnyanmisaka 588*437bfbebSnyanmisaka // 0x0388 589*437bfbebSnyanmisaka struct { 590*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m0 : 6; 591*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m1 : 6; 592*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m2 : 6; 593*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m3 : 6; 594*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m4 : 6; 595*437bfbebSnyanmisaka RK_U32 reserved : 2; 596*437bfbebSnyanmisaka } pre_intra_cla15_B0; 597*437bfbebSnyanmisaka 598*437bfbebSnyanmisaka // 0x038c 599*437bfbebSnyanmisaka struct { 600*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m5 : 6; 601*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m6 : 6; 602*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m7 : 6; 603*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m8 : 6; 604*437bfbebSnyanmisaka RK_U32 pre_intra_cla15_m9 : 6; 605*437bfbebSnyanmisaka RK_U32 reserved : 2; 606*437bfbebSnyanmisaka } pre_intra_cla15_B1; 607*437bfbebSnyanmisaka 608*437bfbebSnyanmisaka // 0x0390 609*437bfbebSnyanmisaka struct { 610*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m0 : 6; 611*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m1 : 6; 612*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m2 : 6; 613*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m3 : 6; 614*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m4 : 6; 615*437bfbebSnyanmisaka RK_U32 reserved : 2; 616*437bfbebSnyanmisaka } pre_intra_cla16_B0; 617*437bfbebSnyanmisaka 618*437bfbebSnyanmisaka // 0x0394 619*437bfbebSnyanmisaka struct { 620*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m5 : 6; 621*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m6 : 6; 622*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m7 : 6; 623*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m8 : 6; 624*437bfbebSnyanmisaka RK_U32 pre_intra_cla16_m9 : 6; 625*437bfbebSnyanmisaka RK_U32 reserved : 2; 626*437bfbebSnyanmisaka } pre_intra_cla16_B1; 627*437bfbebSnyanmisaka 628*437bfbebSnyanmisaka // 0x0398 0x03fC 629*437bfbebSnyanmisaka RK_U32 reg_L2reserved1[26]; 630*437bfbebSnyanmisaka 631*437bfbebSnyanmisaka // 0x400 632*437bfbebSnyanmisaka RK_U32 reg_rdo_ckg_hevc; 633*437bfbebSnyanmisaka 634*437bfbebSnyanmisaka // 0x404~0x40c 635*437bfbebSnyanmisaka RK_U32 reg_L2reserved2[3]; 636*437bfbebSnyanmisaka 637*437bfbebSnyanmisaka // 0x410 638*437bfbebSnyanmisaka struct { 639*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_t0 : 12; 640*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 641*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_t1 : 12; 642*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 643*437bfbebSnyanmisaka } i16_sobel_t_hevc; 644*437bfbebSnyanmisaka 645*437bfbebSnyanmisaka struct { 646*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp0 : 6; 647*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp1 : 6; 648*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp2 : 6; 649*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp3 : 6; 650*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp4 : 6; 651*437bfbebSnyanmisaka RK_U32 reserved0 : 2; 652*437bfbebSnyanmisaka } i16_sobel_a_00_hevc; 653*437bfbebSnyanmisaka 654*437bfbebSnyanmisaka struct { 655*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp5 : 6; 656*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp6 : 6; 657*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp7 : 6; 658*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_a0_qp8 : 6; 659*437bfbebSnyanmisaka RK_U32 reserved0 : 8; 660*437bfbebSnyanmisaka } i16_sobel_a_01_hevc; 661*437bfbebSnyanmisaka 662*437bfbebSnyanmisaka struct { 663*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp0 : 15; 664*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 665*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp1 : 15; 666*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 667*437bfbebSnyanmisaka } i16_sobel_b_00_hevc; 668*437bfbebSnyanmisaka 669*437bfbebSnyanmisaka struct { 670*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp2 : 15; 671*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 672*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp3 : 15; 673*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 674*437bfbebSnyanmisaka } i16_sobel_b_01_hevc; 675*437bfbebSnyanmisaka 676*437bfbebSnyanmisaka struct { 677*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp4 : 15; 678*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 679*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp5 : 15; 680*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 681*437bfbebSnyanmisaka } i16_sobel_b_02_hevc; 682*437bfbebSnyanmisaka 683*437bfbebSnyanmisaka struct { 684*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp6 : 15; 685*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 686*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp7 : 15; 687*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 688*437bfbebSnyanmisaka } i16_sobel_b_03_hevc; 689*437bfbebSnyanmisaka 690*437bfbebSnyanmisaka struct { 691*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_b0_qp8 : 15; 692*437bfbebSnyanmisaka RK_U32 reserved0 : 17; 693*437bfbebSnyanmisaka } i16_sobel_b_04_hevc; 694*437bfbebSnyanmisaka 695*437bfbebSnyanmisaka struct { 696*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp0 : 6; 697*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp1 : 6; 698*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp2 : 6; 699*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp3 : 6; 700*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp4 : 6; 701*437bfbebSnyanmisaka RK_U32 reserved0 : 2; 702*437bfbebSnyanmisaka } i16_sobel_c_00_hevc; 703*437bfbebSnyanmisaka 704*437bfbebSnyanmisaka struct { 705*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp5 : 6; 706*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp6 : 6; 707*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp7 : 6; 708*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_c0_qp8 : 6; 709*437bfbebSnyanmisaka RK_U32 reserved0 : 8; 710*437bfbebSnyanmisaka } i16_sobel_c_01_hevc; 711*437bfbebSnyanmisaka 712*437bfbebSnyanmisaka struct { 713*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp0 : 15; 714*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 715*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp1 : 15; 716*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 717*437bfbebSnyanmisaka } i16_sobel_d_00_hevc; 718*437bfbebSnyanmisaka 719*437bfbebSnyanmisaka struct { 720*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp2 : 15; 721*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 722*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp3 : 15; 723*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 724*437bfbebSnyanmisaka } i16_sobel_d_01_hevc; 725*437bfbebSnyanmisaka 726*437bfbebSnyanmisaka struct { 727*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp4 : 15; 728*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 729*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp5 : 15; 730*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 731*437bfbebSnyanmisaka } i16_sobel_d_02_hevc; 732*437bfbebSnyanmisaka 733*437bfbebSnyanmisaka struct { 734*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp6 : 15; 735*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 736*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp7 : 15; 737*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 738*437bfbebSnyanmisaka } i16_sobel_d_03_hevc; 739*437bfbebSnyanmisaka 740*437bfbebSnyanmisaka struct { 741*437bfbebSnyanmisaka RK_U32 intra_l16_sobel_d0_qp8 : 15; 742*437bfbebSnyanmisaka RK_U32 reserved0 : 17; 743*437bfbebSnyanmisaka } i16_sobel_d_04_hevc; 744*437bfbebSnyanmisaka 745*437bfbebSnyanmisaka RK_U32 i16_sobel_e_00_17_hevc[18];// 0 2 4 ... low 32bit ; 1 3 5 ... high 2bit 746*437bfbebSnyanmisaka 747*437bfbebSnyanmisaka // 0x494 748*437bfbebSnyanmisaka struct { 749*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_t2 : 12; 750*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 751*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_t3 : 12; 752*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 753*437bfbebSnyanmisaka } i32_sobel_t_00_hevc; 754*437bfbebSnyanmisaka 755*437bfbebSnyanmisaka struct { 756*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_t4 : 6; 757*437bfbebSnyanmisaka RK_U32 reserved0 : 24; 758*437bfbebSnyanmisaka 759*437bfbebSnyanmisaka } i32_sobel_t_01_hevc; 760*437bfbebSnyanmisaka 761*437bfbebSnyanmisaka struct { 762*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_t5 : 12; 763*437bfbebSnyanmisaka RK_U32 reserved0 : 4; 764*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_t6 : 12; 765*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 766*437bfbebSnyanmisaka } i32_sobel_t_02_hevc; 767*437bfbebSnyanmisaka 768*437bfbebSnyanmisaka struct { 769*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_a1_qp0 : 6; 770*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_a1_qp1 : 6; 771*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_a1_qp2 : 6; 772*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_a1_qp3 : 6; 773*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_a1_qp4 : 6; 774*437bfbebSnyanmisaka RK_U32 reserved0 : 2; 775*437bfbebSnyanmisaka } i32_sobel_a_hevc; 776*437bfbebSnyanmisaka 777*437bfbebSnyanmisaka struct { 778*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_b1_qp0 : 15; 779*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 780*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_b1_qp1 : 15; 781*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 782*437bfbebSnyanmisaka } i32_sobel_b_00_hevc; 783*437bfbebSnyanmisaka 784*437bfbebSnyanmisaka struct { 785*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_b1_qp2 : 15; 786*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 787*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_b1_qp3 : 15; 788*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 789*437bfbebSnyanmisaka } i32_sobel_b_01_hevc; 790*437bfbebSnyanmisaka 791*437bfbebSnyanmisaka struct { 792*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_b1_qp4 : 15; 793*437bfbebSnyanmisaka RK_U32 reserved0 : 17; 794*437bfbebSnyanmisaka } i32_sobel_b_02_hevc; 795*437bfbebSnyanmisaka 796*437bfbebSnyanmisaka struct { 797*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_c1_qp0 : 6; 798*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_c1_qp1 : 6; 799*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_c1_qp2 : 6; 800*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_c1_qp3 : 6; 801*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_c1_qp4 : 6; 802*437bfbebSnyanmisaka RK_U32 reserved0 : 2; 803*437bfbebSnyanmisaka } i32_sobel_c_hevc; 804*437bfbebSnyanmisaka 805*437bfbebSnyanmisaka struct { 806*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_d1_qp0 : 15; 807*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 808*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_d1_qp1 : 15; 809*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 810*437bfbebSnyanmisaka } i32_sobel_d_00_hevc; 811*437bfbebSnyanmisaka 812*437bfbebSnyanmisaka struct { 813*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_d1_qp2 : 15; 814*437bfbebSnyanmisaka RK_U32 reserved0 : 1; 815*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_d1_qp3 : 15; 816*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 817*437bfbebSnyanmisaka } i32_sobel_d_01_hevc; 818*437bfbebSnyanmisaka 819*437bfbebSnyanmisaka struct { 820*437bfbebSnyanmisaka RK_U32 intra_l32_sobel_d1_qp4 : 15; 821*437bfbebSnyanmisaka RK_U32 reserved0 : 17; 822*437bfbebSnyanmisaka } i32_sobel_d_02_hevc; 823*437bfbebSnyanmisaka // 0x4c0~0x4e4 824*437bfbebSnyanmisaka RK_U32 i32_sobel_e_00_09_hevc[10];// 0 2 4 ... low 32bit ; 1 3 5 ... high 9bit 825*437bfbebSnyanmisaka } H265eV54xL2RegSet; 826*437bfbebSnyanmisaka 827*437bfbebSnyanmisaka #endif /* __HAL_H265E_VEPU54X_REG_L2_H__ */ 828