xref: /rockchip-linux_mpp/mpp/hal/rkenc/h265e/hal_h265e_vepu54x_reg_l2.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
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