1*437bfbebSnyanmisaka /* 2*437bfbebSnyanmisaka * Copyright 2015 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_H264D_VDPU2_REG_TBL_H__ 18*437bfbebSnyanmisaka #define __HAL_H264D_VDPU2_REG_TBL_H__ 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #include "rk_type.h" 21*437bfbebSnyanmisaka 22*437bfbebSnyanmisaka /* Number registers for the decoder */ 23*437bfbebSnyanmisaka #define DEC_VDPU_REGISTERS 159 24*437bfbebSnyanmisaka 25*437bfbebSnyanmisaka typedef struct { 26*437bfbebSnyanmisaka RK_U32 sw00_49[50]; 27*437bfbebSnyanmisaka struct { 28*437bfbebSnyanmisaka RK_U32 dec_tiled_msb : 1; 29*437bfbebSnyanmisaka RK_U32 adtion_latency : 6; 30*437bfbebSnyanmisaka RK_U32 dec_fixed_quant : 1; 31*437bfbebSnyanmisaka RK_U32 dblk_flt_dis : 1; 32*437bfbebSnyanmisaka RK_U32 skip_sel : 1; 33*437bfbebSnyanmisaka RK_U32 dec_ascmd0_dis : 1; 34*437bfbebSnyanmisaka RK_U32 adv_pref_dis : 1; 35*437bfbebSnyanmisaka RK_U32 dec_tiled_lsb : 1; 36*437bfbebSnyanmisaka RK_U32 refbuf_thrd : 12; 37*437bfbebSnyanmisaka RK_U32 refbuf_pid : 5; 38*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 39*437bfbebSnyanmisaka } sw50; 40*437bfbebSnyanmisaka struct { 41*437bfbebSnyanmisaka RK_U32 stream_len : 24; 42*437bfbebSnyanmisaka RK_U32 stream_len_ext : 1; 43*437bfbebSnyanmisaka RK_U32 qp_init_val : 6; 44*437bfbebSnyanmisaka RK_U32 reverse0 : 1; 45*437bfbebSnyanmisaka } sw51; 46*437bfbebSnyanmisaka struct { 47*437bfbebSnyanmisaka RK_U32 ydim_mbst : 8; 48*437bfbebSnyanmisaka RK_U32 xdim_mbst : 9; 49*437bfbebSnyanmisaka RK_U32 adv_pref_thrd : 14; 50*437bfbebSnyanmisaka RK_U32 reverse0 : 1; 51*437bfbebSnyanmisaka } sw52; 52*437bfbebSnyanmisaka struct { 53*437bfbebSnyanmisaka RK_U32 dec_fmt_sel : 4; 54*437bfbebSnyanmisaka RK_U32 reverse0 : 28; 55*437bfbebSnyanmisaka } sw53; 56*437bfbebSnyanmisaka struct { 57*437bfbebSnyanmisaka RK_U32 dec_in_endian : 1; 58*437bfbebSnyanmisaka RK_U32 dec_out_endian : 1; 59*437bfbebSnyanmisaka RK_U32 dec_in_wordsp : 1; 60*437bfbebSnyanmisaka RK_U32 dec_out_wordsp : 1; 61*437bfbebSnyanmisaka RK_U32 dec_strm_wordsp : 1; 62*437bfbebSnyanmisaka RK_U32 dec_strendian_e : 1; 63*437bfbebSnyanmisaka RK_U32 reverse0 : 26; 64*437bfbebSnyanmisaka } sw54; 65*437bfbebSnyanmisaka struct { 66*437bfbebSnyanmisaka RK_U32 dec_irq : 1; 67*437bfbebSnyanmisaka RK_U32 dec_irq_dis : 1; 68*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 69*437bfbebSnyanmisaka RK_U32 dec_rdy_sts : 1; 70*437bfbebSnyanmisaka RK_U32 pp_bus_sts : 1; 71*437bfbebSnyanmisaka RK_U32 buf_emt_sts : 1; 72*437bfbebSnyanmisaka RK_U32 reverse1 : 1; 73*437bfbebSnyanmisaka RK_U32 aso_det_sts : 1; 74*437bfbebSnyanmisaka RK_U32 slice_det_sts : 1; 75*437bfbebSnyanmisaka RK_U32 bslice_det_sts : 1; 76*437bfbebSnyanmisaka RK_U32 reverse2 : 1; 77*437bfbebSnyanmisaka RK_U32 error_det_sts : 1; 78*437bfbebSnyanmisaka RK_U32 timeout_det_sts : 1; 79*437bfbebSnyanmisaka RK_U32 reverse3 : 18; 80*437bfbebSnyanmisaka } sw55; 81*437bfbebSnyanmisaka struct { 82*437bfbebSnyanmisaka RK_U32 dec_axi_id_rd : 8; 83*437bfbebSnyanmisaka RK_U32 dec_axi_id_wr : 8; 84*437bfbebSnyanmisaka RK_U32 dec_max_burlen : 5; 85*437bfbebSnyanmisaka RK_U32 bus_pos_sel : 1; 86*437bfbebSnyanmisaka RK_U32 dec_data_discd_en : 1; 87*437bfbebSnyanmisaka RK_U32 axi_sel : 1; 88*437bfbebSnyanmisaka RK_U32 reverse0 : 8; 89*437bfbebSnyanmisaka } sw56; 90*437bfbebSnyanmisaka struct { 91*437bfbebSnyanmisaka RK_U32 dec_st_work : 1; 92*437bfbebSnyanmisaka RK_U32 refpic_buf2_en : 1; 93*437bfbebSnyanmisaka RK_U32 dec_wr_extmen_dis : 1; 94*437bfbebSnyanmisaka RK_U32 reverse0 : 1; 95*437bfbebSnyanmisaka RK_U32 dec_clkgate_en : 1; 96*437bfbebSnyanmisaka RK_U32 timeout_sts_en : 1; 97*437bfbebSnyanmisaka RK_U32 rd_cnt_tab_en : 1; 98*437bfbebSnyanmisaka RK_U32 sequ_mbaff_en : 1; 99*437bfbebSnyanmisaka RK_U32 first_reftop_en : 1; 100*437bfbebSnyanmisaka RK_U32 reftop_en : 1; 101*437bfbebSnyanmisaka RK_U32 dmmv_wr_en : 1; 102*437bfbebSnyanmisaka RK_U32 sorspa_en : 1; 103*437bfbebSnyanmisaka RK_U32 fwd_refpic_mode_sel : 1; 104*437bfbebSnyanmisaka RK_U32 pic_decfield_sel : 1; 105*437bfbebSnyanmisaka RK_U32 pic_type_sel0 : 1; 106*437bfbebSnyanmisaka RK_U32 pic_type_sel1 : 1; 107*437bfbebSnyanmisaka RK_U32 curpic_stru_sel : 1; 108*437bfbebSnyanmisaka RK_U32 curpic_code_sel : 1; 109*437bfbebSnyanmisaka RK_U32 prog_jpeg_en : 1; 110*437bfbebSnyanmisaka RK_U32 divx3_en : 1; 111*437bfbebSnyanmisaka RK_U32 rlc_mode_en : 1; 112*437bfbebSnyanmisaka RK_U32 addit_ch_fmt_wen : 1; 113*437bfbebSnyanmisaka RK_U32 st_code_exit : 1; 114*437bfbebSnyanmisaka RK_U32 reverse1 : 2; 115*437bfbebSnyanmisaka RK_U32 inter_dblspeed : 1; 116*437bfbebSnyanmisaka RK_U32 intra_dblspeed : 1; 117*437bfbebSnyanmisaka RK_U32 intra_dbl3t : 1; 118*437bfbebSnyanmisaka RK_U32 pref_sigchan : 1; 119*437bfbebSnyanmisaka RK_U32 cache_en : 1; 120*437bfbebSnyanmisaka RK_U32 reverse2 : 1; 121*437bfbebSnyanmisaka RK_U32 dec_timeout_mode : 1; 122*437bfbebSnyanmisaka } sw57; 123*437bfbebSnyanmisaka struct { 124*437bfbebSnyanmisaka RK_U32 soft_rst : 1; 125*437bfbebSnyanmisaka RK_U32 reverse0 : 31; 126*437bfbebSnyanmisaka } sw58; 127*437bfbebSnyanmisaka struct { 128*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 129*437bfbebSnyanmisaka RK_U32 pflt_set0_tap2 : 10; 130*437bfbebSnyanmisaka RK_U32 pflt_set0_tap1 : 10; 131*437bfbebSnyanmisaka RK_U32 pflt_set0_tap0 : 10; 132*437bfbebSnyanmisaka } sw59; 133*437bfbebSnyanmisaka struct { 134*437bfbebSnyanmisaka RK_U32 addit_ch_st_adr : 32; 135*437bfbebSnyanmisaka } sw60; 136*437bfbebSnyanmisaka struct { 137*437bfbebSnyanmisaka RK_U32 qtable_st_adr : 32; 138*437bfbebSnyanmisaka } sw61; 139*437bfbebSnyanmisaka struct { 140*437bfbebSnyanmisaka RK_U32 dmmv_st_adr : 32; 141*437bfbebSnyanmisaka } sw62; 142*437bfbebSnyanmisaka struct { 143*437bfbebSnyanmisaka RK_U32 dec_out_st_adr : 32; 144*437bfbebSnyanmisaka } sw63; 145*437bfbebSnyanmisaka struct { 146*437bfbebSnyanmisaka RK_U32 rlc_vlc_st_adr : 32; 147*437bfbebSnyanmisaka } sw64; 148*437bfbebSnyanmisaka struct { 149*437bfbebSnyanmisaka RK_U32 refbuf_y_offset : 9; 150*437bfbebSnyanmisaka RK_U32 reserve0 : 3; 151*437bfbebSnyanmisaka RK_U32 refbuf_fildpar_mode_e : 1; 152*437bfbebSnyanmisaka RK_U32 refbuf_idcal_e : 1; 153*437bfbebSnyanmisaka RK_U32 refbuf_picid : 5; 154*437bfbebSnyanmisaka RK_U32 refbuf_thr_level : 12; 155*437bfbebSnyanmisaka RK_U32 refbuf_e : 1; 156*437bfbebSnyanmisaka } sw65; 157*437bfbebSnyanmisaka RK_U32 sw66; 158*437bfbebSnyanmisaka RK_U32 sw67; 159*437bfbebSnyanmisaka struct { 160*437bfbebSnyanmisaka RK_U32 refbuf_sum_bot : 16; 161*437bfbebSnyanmisaka RK_U32 refbuf_sum_top : 16; 162*437bfbebSnyanmisaka } sw68; 163*437bfbebSnyanmisaka struct { 164*437bfbebSnyanmisaka RK_U32 luma_sum_intra : 16; 165*437bfbebSnyanmisaka RK_U32 refbuf_sum_hit : 16; 166*437bfbebSnyanmisaka } sw69; 167*437bfbebSnyanmisaka struct { 168*437bfbebSnyanmisaka RK_U32 ycomp_mv_sum : 22; 169*437bfbebSnyanmisaka RK_U32 reserve0 : 10; 170*437bfbebSnyanmisaka } sw70; 171*437bfbebSnyanmisaka RK_U32 sw71; 172*437bfbebSnyanmisaka RK_U32 sw72; 173*437bfbebSnyanmisaka RK_U32 sw73; 174*437bfbebSnyanmisaka struct { 175*437bfbebSnyanmisaka RK_U32 init_reflist_pf4 : 5; 176*437bfbebSnyanmisaka RK_U32 init_reflist_pf5 : 5; 177*437bfbebSnyanmisaka RK_U32 init_reflist_pf6 : 5; 178*437bfbebSnyanmisaka RK_U32 init_reflist_pf7 : 5; 179*437bfbebSnyanmisaka RK_U32 init_reflist_pf8 : 5; 180*437bfbebSnyanmisaka RK_U32 init_reflist_pf9 : 5; 181*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 182*437bfbebSnyanmisaka } sw74; 183*437bfbebSnyanmisaka struct { 184*437bfbebSnyanmisaka RK_U32 init_reflist_pf10 : 5; 185*437bfbebSnyanmisaka RK_U32 init_reflist_pf11 : 5; 186*437bfbebSnyanmisaka RK_U32 init_reflist_pf12 : 5; 187*437bfbebSnyanmisaka RK_U32 init_reflist_pf13 : 5; 188*437bfbebSnyanmisaka RK_U32 init_reflist_pf14 : 5; 189*437bfbebSnyanmisaka RK_U32 init_reflist_pf15 : 5; 190*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 191*437bfbebSnyanmisaka } sw75; 192*437bfbebSnyanmisaka struct { 193*437bfbebSnyanmisaka RK_U32 num_ref_idx0 : 16; 194*437bfbebSnyanmisaka RK_U32 num_ref_idx1 : 16; 195*437bfbebSnyanmisaka } sw76; 196*437bfbebSnyanmisaka struct { 197*437bfbebSnyanmisaka RK_U32 num_ref_idx2 : 16; 198*437bfbebSnyanmisaka RK_U32 num_ref_idx3 : 16; 199*437bfbebSnyanmisaka } sw77; 200*437bfbebSnyanmisaka struct { 201*437bfbebSnyanmisaka RK_U32 num_ref_idx4 : 16; 202*437bfbebSnyanmisaka RK_U32 num_ref_idx5 : 16; 203*437bfbebSnyanmisaka } sw78; 204*437bfbebSnyanmisaka struct { 205*437bfbebSnyanmisaka RK_U32 num_ref_idx6 : 16; 206*437bfbebSnyanmisaka RK_U32 num_ref_idx7 : 16; 207*437bfbebSnyanmisaka } sw79; 208*437bfbebSnyanmisaka struct { 209*437bfbebSnyanmisaka RK_U32 num_ref_idx8 : 16; 210*437bfbebSnyanmisaka RK_U32 num_ref_idx9 : 16; 211*437bfbebSnyanmisaka } sw80; 212*437bfbebSnyanmisaka struct { 213*437bfbebSnyanmisaka RK_U32 num_ref_idx10 : 16; 214*437bfbebSnyanmisaka RK_U32 num_ref_idx11 : 16; 215*437bfbebSnyanmisaka } sw81; 216*437bfbebSnyanmisaka struct { 217*437bfbebSnyanmisaka RK_U32 num_ref_idx12 : 16; 218*437bfbebSnyanmisaka RK_U32 num_ref_idx13 : 16; 219*437bfbebSnyanmisaka } sw82; 220*437bfbebSnyanmisaka struct { 221*437bfbebSnyanmisaka RK_U32 num_ref_idx14 : 16; 222*437bfbebSnyanmisaka RK_U32 num_ref_idx15 : 16; 223*437bfbebSnyanmisaka } sw83; 224*437bfbebSnyanmisaka union { 225*437bfbebSnyanmisaka RK_U32 ref0_st_addr; 226*437bfbebSnyanmisaka struct { 227*437bfbebSnyanmisaka RK_U32 ref0_closer_sel : 1; 228*437bfbebSnyanmisaka RK_U32 ref0_field_en : 1; 229*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 230*437bfbebSnyanmisaka }; 231*437bfbebSnyanmisaka } sw84; 232*437bfbebSnyanmisaka union { 233*437bfbebSnyanmisaka RK_U32 ref1_st_addr; 234*437bfbebSnyanmisaka struct { 235*437bfbebSnyanmisaka RK_U32 ref1_closer_sel : 1; 236*437bfbebSnyanmisaka RK_U32 ref1_field_en : 1; 237*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 238*437bfbebSnyanmisaka }; 239*437bfbebSnyanmisaka } sw85; 240*437bfbebSnyanmisaka union { 241*437bfbebSnyanmisaka RK_U32 ref2_st_addr; 242*437bfbebSnyanmisaka struct { 243*437bfbebSnyanmisaka RK_U32 ref2_closer_sel : 1; 244*437bfbebSnyanmisaka RK_U32 ref2_field_en : 1; 245*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 246*437bfbebSnyanmisaka }; 247*437bfbebSnyanmisaka } sw86; 248*437bfbebSnyanmisaka union { 249*437bfbebSnyanmisaka RK_U32 ref3_st_addr; 250*437bfbebSnyanmisaka struct { 251*437bfbebSnyanmisaka RK_U32 ref3_closer_sel : 1; 252*437bfbebSnyanmisaka RK_U32 ref3_field_en : 1; 253*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 254*437bfbebSnyanmisaka }; 255*437bfbebSnyanmisaka } sw87; 256*437bfbebSnyanmisaka union { 257*437bfbebSnyanmisaka RK_U32 ref4_st_addr; 258*437bfbebSnyanmisaka struct { 259*437bfbebSnyanmisaka RK_U32 ref4_closer_sel : 1; 260*437bfbebSnyanmisaka RK_U32 ref4_field_en : 1; 261*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 262*437bfbebSnyanmisaka }; 263*437bfbebSnyanmisaka } sw88; 264*437bfbebSnyanmisaka union { 265*437bfbebSnyanmisaka RK_U32 ref5_st_addr; 266*437bfbebSnyanmisaka struct { 267*437bfbebSnyanmisaka RK_U32 ref5_closer_sel : 1; 268*437bfbebSnyanmisaka RK_U32 ref5_field_en : 1; 269*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 270*437bfbebSnyanmisaka }; 271*437bfbebSnyanmisaka } sw89; 272*437bfbebSnyanmisaka union { 273*437bfbebSnyanmisaka RK_U32 ref6_st_addr; 274*437bfbebSnyanmisaka struct { 275*437bfbebSnyanmisaka RK_U32 ref6_closer_sel : 1; 276*437bfbebSnyanmisaka RK_U32 ref6_field_en : 1; 277*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 278*437bfbebSnyanmisaka }; 279*437bfbebSnyanmisaka } sw90; 280*437bfbebSnyanmisaka union { 281*437bfbebSnyanmisaka RK_U32 ref7_st_addr; 282*437bfbebSnyanmisaka struct { 283*437bfbebSnyanmisaka RK_U32 ref7_closer_sel : 1; 284*437bfbebSnyanmisaka RK_U32 ref7_field_en : 1; 285*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 286*437bfbebSnyanmisaka }; 287*437bfbebSnyanmisaka } sw91; 288*437bfbebSnyanmisaka union { 289*437bfbebSnyanmisaka RK_U32 ref8_st_addr; 290*437bfbebSnyanmisaka struct { 291*437bfbebSnyanmisaka RK_U32 ref8_closer_sel : 1; 292*437bfbebSnyanmisaka RK_U32 ref8_field_en : 1; 293*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 294*437bfbebSnyanmisaka }; 295*437bfbebSnyanmisaka } sw92; 296*437bfbebSnyanmisaka union { 297*437bfbebSnyanmisaka RK_U32 ref9_st_addr; 298*437bfbebSnyanmisaka struct { 299*437bfbebSnyanmisaka RK_U32 ref9_closer_sel : 1; 300*437bfbebSnyanmisaka RK_U32 ref9_field_en : 1; 301*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 302*437bfbebSnyanmisaka }; 303*437bfbebSnyanmisaka } sw93; 304*437bfbebSnyanmisaka union { 305*437bfbebSnyanmisaka RK_U32 ref10_st_addr; 306*437bfbebSnyanmisaka struct { 307*437bfbebSnyanmisaka RK_U32 ref10_closer_sel : 1; 308*437bfbebSnyanmisaka RK_U32 ref10_field_en : 1; 309*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 310*437bfbebSnyanmisaka }; 311*437bfbebSnyanmisaka } sw94; 312*437bfbebSnyanmisaka union { 313*437bfbebSnyanmisaka RK_U32 ref11_st_addr; 314*437bfbebSnyanmisaka struct { 315*437bfbebSnyanmisaka RK_U32 ref11_closer_sel : 1; 316*437bfbebSnyanmisaka RK_U32 ref11_field_en : 1; 317*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 318*437bfbebSnyanmisaka }; 319*437bfbebSnyanmisaka } sw95; 320*437bfbebSnyanmisaka union { 321*437bfbebSnyanmisaka RK_U32 ref12_st_addr; 322*437bfbebSnyanmisaka struct { 323*437bfbebSnyanmisaka RK_U32 ref12_closer_sel : 1; 324*437bfbebSnyanmisaka RK_U32 ref12_field_en : 1; 325*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 326*437bfbebSnyanmisaka }; 327*437bfbebSnyanmisaka } sw96; 328*437bfbebSnyanmisaka union { 329*437bfbebSnyanmisaka RK_U32 ref13_st_addr; 330*437bfbebSnyanmisaka struct { 331*437bfbebSnyanmisaka RK_U32 ref13_closer_sel : 1; 332*437bfbebSnyanmisaka RK_U32 ref13_field_en : 1; 333*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 334*437bfbebSnyanmisaka }; 335*437bfbebSnyanmisaka } sw97; 336*437bfbebSnyanmisaka union { 337*437bfbebSnyanmisaka RK_U32 ref14_st_addr; 338*437bfbebSnyanmisaka struct { 339*437bfbebSnyanmisaka RK_U32 ref14_closer_sel : 1; 340*437bfbebSnyanmisaka RK_U32 ref14_field_en : 1; 341*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 342*437bfbebSnyanmisaka }; 343*437bfbebSnyanmisaka } sw98; 344*437bfbebSnyanmisaka union { 345*437bfbebSnyanmisaka RK_U32 ref15_st_addr; 346*437bfbebSnyanmisaka struct { 347*437bfbebSnyanmisaka RK_U32 ref15_closer_sel : 1; 348*437bfbebSnyanmisaka RK_U32 ref15_field_en : 1; 349*437bfbebSnyanmisaka RK_U32 reverse0 : 30; 350*437bfbebSnyanmisaka }; 351*437bfbebSnyanmisaka } sw99; 352*437bfbebSnyanmisaka struct { 353*437bfbebSnyanmisaka RK_U32 init_reflist_df0 : 5; 354*437bfbebSnyanmisaka RK_U32 init_reflist_df1 : 5; 355*437bfbebSnyanmisaka RK_U32 init_reflist_df2 : 5; 356*437bfbebSnyanmisaka RK_U32 init_reflist_df3 : 5; 357*437bfbebSnyanmisaka RK_U32 init_reflist_df4 : 5; 358*437bfbebSnyanmisaka RK_U32 init_reflist_df5 : 5; 359*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 360*437bfbebSnyanmisaka } sw100; 361*437bfbebSnyanmisaka struct { 362*437bfbebSnyanmisaka RK_U32 init_reflist_df6 : 5; 363*437bfbebSnyanmisaka RK_U32 init_reflist_df7 : 5; 364*437bfbebSnyanmisaka RK_U32 init_reflist_df8 : 5; 365*437bfbebSnyanmisaka RK_U32 init_reflist_df9 : 5; 366*437bfbebSnyanmisaka RK_U32 init_reflist_df10 : 5; 367*437bfbebSnyanmisaka RK_U32 init_reflist_df11 : 5; 368*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 369*437bfbebSnyanmisaka } sw101; 370*437bfbebSnyanmisaka struct { 371*437bfbebSnyanmisaka RK_U32 init_reflist_df12 : 5; 372*437bfbebSnyanmisaka RK_U32 init_reflist_df13 : 5; 373*437bfbebSnyanmisaka RK_U32 init_reflist_df14 : 5; 374*437bfbebSnyanmisaka RK_U32 init_reflist_df15 : 5; 375*437bfbebSnyanmisaka RK_U32 reverse0 : 12; 376*437bfbebSnyanmisaka } sw102; 377*437bfbebSnyanmisaka struct { 378*437bfbebSnyanmisaka RK_U32 init_reflist_db0 : 5; 379*437bfbebSnyanmisaka RK_U32 init_reflist_db1 : 5; 380*437bfbebSnyanmisaka RK_U32 init_reflist_db2 : 5; 381*437bfbebSnyanmisaka RK_U32 init_reflist_db3 : 5; 382*437bfbebSnyanmisaka RK_U32 init_reflist_db4 : 5; 383*437bfbebSnyanmisaka RK_U32 init_reflist_db5 : 5; 384*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 385*437bfbebSnyanmisaka } sw103; 386*437bfbebSnyanmisaka struct { 387*437bfbebSnyanmisaka RK_U32 init_reflist_db6 : 5; 388*437bfbebSnyanmisaka RK_U32 init_reflist_db7 : 5; 389*437bfbebSnyanmisaka RK_U32 init_reflist_db8 : 5; 390*437bfbebSnyanmisaka RK_U32 init_reflist_db9 : 5; 391*437bfbebSnyanmisaka RK_U32 init_reflist_db10 : 5; 392*437bfbebSnyanmisaka RK_U32 init_reflist_db11 : 5; 393*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 394*437bfbebSnyanmisaka } sw104; 395*437bfbebSnyanmisaka struct { 396*437bfbebSnyanmisaka RK_U32 init_reflist_db12 : 5; 397*437bfbebSnyanmisaka RK_U32 init_reflist_db13 : 5; 398*437bfbebSnyanmisaka RK_U32 init_reflist_db14 : 5; 399*437bfbebSnyanmisaka RK_U32 init_reflist_db15 : 5; 400*437bfbebSnyanmisaka RK_U32 reverse0 : 12; 401*437bfbebSnyanmisaka } sw105; 402*437bfbebSnyanmisaka struct { 403*437bfbebSnyanmisaka RK_U32 init_reflist_pf0 : 5; 404*437bfbebSnyanmisaka RK_U32 init_reflist_pf1 : 5; 405*437bfbebSnyanmisaka RK_U32 init_reflist_pf2 : 5; 406*437bfbebSnyanmisaka RK_U32 init_reflist_pf3 : 5; 407*437bfbebSnyanmisaka RK_U32 reverse0 : 12; 408*437bfbebSnyanmisaka } sw106; 409*437bfbebSnyanmisaka struct { 410*437bfbebSnyanmisaka RK_U32 refpic_term_flag : 32; 411*437bfbebSnyanmisaka } sw107; 412*437bfbebSnyanmisaka struct { 413*437bfbebSnyanmisaka RK_U32 refpic_valid_flag : 32; 414*437bfbebSnyanmisaka } sw108; 415*437bfbebSnyanmisaka struct { 416*437bfbebSnyanmisaka RK_U32 strm_start_bit : 6; 417*437bfbebSnyanmisaka RK_U32 reverse0 : 26; 418*437bfbebSnyanmisaka } sw109; 419*437bfbebSnyanmisaka struct { 420*437bfbebSnyanmisaka RK_U32 pic_mb_w : 9; 421*437bfbebSnyanmisaka RK_U32 pic_mb_h : 8; 422*437bfbebSnyanmisaka RK_U32 flt_offset_cb_qp : 5; 423*437bfbebSnyanmisaka RK_U32 flt_offset_cr_qp : 5; 424*437bfbebSnyanmisaka RK_U32 reverse0 : 5; 425*437bfbebSnyanmisaka } sw110; 426*437bfbebSnyanmisaka struct { 427*437bfbebSnyanmisaka RK_U32 max_refnum : 5; 428*437bfbebSnyanmisaka RK_U32 reverse0 : 11; 429*437bfbebSnyanmisaka RK_U32 wp_bslice_sel : 2; 430*437bfbebSnyanmisaka RK_U32 reverse1 : 14; 431*437bfbebSnyanmisaka } sw111; 432*437bfbebSnyanmisaka struct { 433*437bfbebSnyanmisaka RK_U32 curfrm_num : 16; 434*437bfbebSnyanmisaka RK_U32 cur_frm_len : 5; 435*437bfbebSnyanmisaka RK_U32 reverse0 : 9; 436*437bfbebSnyanmisaka RK_U32 rpcp_flag : 1; 437*437bfbebSnyanmisaka RK_U32 dblk_ctrl_flag : 1; 438*437bfbebSnyanmisaka } sw112; 439*437bfbebSnyanmisaka struct { 440*437bfbebSnyanmisaka RK_U32 idr_pic_id : 16; 441*437bfbebSnyanmisaka RK_U32 refpic_mk_len : 11; 442*437bfbebSnyanmisaka RK_U32 reverse0 : 5; 443*437bfbebSnyanmisaka } sw113; 444*437bfbebSnyanmisaka struct { 445*437bfbebSnyanmisaka RK_U32 poc_field_len : 8; 446*437bfbebSnyanmisaka RK_U32 reverse0 : 6; 447*437bfbebSnyanmisaka RK_U32 max_refidx0 : 5; 448*437bfbebSnyanmisaka RK_U32 max_refidx1 : 5; 449*437bfbebSnyanmisaka RK_U32 pps_id : 8; 450*437bfbebSnyanmisaka } sw114; 451*437bfbebSnyanmisaka struct { 452*437bfbebSnyanmisaka RK_U32 fieldpic_flag_exist : 1; 453*437bfbebSnyanmisaka RK_U32 scl_matrix_en : 1; 454*437bfbebSnyanmisaka RK_U32 tranf_8x8_flag_en : 1; 455*437bfbebSnyanmisaka RK_U32 const_intra_en : 1; 456*437bfbebSnyanmisaka RK_U32 weight_pred_en : 1; 457*437bfbebSnyanmisaka RK_U32 cabac_en : 1; 458*437bfbebSnyanmisaka RK_U32 monochr_en : 1; 459*437bfbebSnyanmisaka RK_U32 dlmv_method_en : 1; 460*437bfbebSnyanmisaka RK_U32 idr_pic_flag : 1; 461*437bfbebSnyanmisaka RK_U32 reverse0 : 23; 462*437bfbebSnyanmisaka } sw115; 463*437bfbebSnyanmisaka RK_U32 sw116_158[43]; 464*437bfbebSnyanmisaka } H264dVdpuRegs_t; 465*437bfbebSnyanmisaka 466*437bfbebSnyanmisaka #endif /*__HAL_H264D_VDPU_REG_TBL_H__*/ 467