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_VP8D_VDPU2_REG_H__ 18*437bfbebSnyanmisaka #define __HAL_VP8D_VDPU2_REG_H__ 19*437bfbebSnyanmisaka #include "rk_type.h" 20*437bfbebSnyanmisaka 21*437bfbebSnyanmisaka #define VP8HWD_VP7 1 22*437bfbebSnyanmisaka #define VP8HWD_VP8 2 23*437bfbebSnyanmisaka #define VP8HWD_WEBP 3 24*437bfbebSnyanmisaka 25*437bfbebSnyanmisaka #define DEC_MODE_VP7 9 26*437bfbebSnyanmisaka #define DEC_MODE_VP8 10 27*437bfbebSnyanmisaka 28*437bfbebSnyanmisaka #define VP8D_PROB_TABLE_SIZE (1<<16) /* TODO */ 29*437bfbebSnyanmisaka #define VP8D_MAX_SEGMAP_SIZE (2048 + 1024) //1920*1080 /* TODO */ 30*437bfbebSnyanmisaka 31*437bfbebSnyanmisaka #define VP8D_REG_NUM 159 32*437bfbebSnyanmisaka 33*437bfbebSnyanmisaka typedef struct { 34*437bfbebSnyanmisaka RK_U32 ppReg[50]; 35*437bfbebSnyanmisaka struct { 36*437bfbebSnyanmisaka RK_U32 sw_dec_out_tiled_e : 1; 37*437bfbebSnyanmisaka RK_U32 sw_dec_latency : 6; 38*437bfbebSnyanmisaka RK_U32 sw_pic_fixed_quant : 1; 39*437bfbebSnyanmisaka RK_U32 sw_filtering_dis : 1; 40*437bfbebSnyanmisaka RK_U32 sw_skip_mode : 1; 41*437bfbebSnyanmisaka RK_U32 sw_dec_scmd_dis : 1; 42*437bfbebSnyanmisaka RK_U32 sw_dec_adv_pre_dis : 1; 43*437bfbebSnyanmisaka RK_U32 sw_priority_mode : 1; 44*437bfbebSnyanmisaka RK_U32 sw_refbu2_thr : 12; 45*437bfbebSnyanmisaka RK_U32 sw_refbu2_picid : 5; 46*437bfbebSnyanmisaka RK_U32 reserve1 : 2; 47*437bfbebSnyanmisaka } reg50_dec_ctrl; 48*437bfbebSnyanmisaka 49*437bfbebSnyanmisaka struct { 50*437bfbebSnyanmisaka RK_U32 sw_stream_len : 24; 51*437bfbebSnyanmisaka RK_U32 reserve1 : 1; 52*437bfbebSnyanmisaka RK_U32 sw_init_qp : 6; 53*437bfbebSnyanmisaka RK_U32 reserve2 : 1; 54*437bfbebSnyanmisaka } reg51_stream_info; 55*437bfbebSnyanmisaka 56*437bfbebSnyanmisaka struct { 57*437bfbebSnyanmisaka RK_U32 sw_startmb_y : 8; 58*437bfbebSnyanmisaka RK_U32 sw_startmb_x : 9; 59*437bfbebSnyanmisaka RK_U32 sw_apf_threshold : 14; 60*437bfbebSnyanmisaka RK_U32 sw_reserve : 1; 61*437bfbebSnyanmisaka } reg52_error_concealment; 62*437bfbebSnyanmisaka 63*437bfbebSnyanmisaka RK_U32 reg53_dec_mode; 64*437bfbebSnyanmisaka 65*437bfbebSnyanmisaka struct { 66*437bfbebSnyanmisaka RK_U32 sw_dec_in_endian : 1; 67*437bfbebSnyanmisaka RK_U32 sw_dec_out_endian : 1; 68*437bfbebSnyanmisaka RK_U32 sw_dec_inswap32_e : 1; 69*437bfbebSnyanmisaka RK_U32 sw_dec_outswap32_e : 1; 70*437bfbebSnyanmisaka RK_U32 sw_dec_strswap32_e : 1; 71*437bfbebSnyanmisaka RK_U32 sw_dec_strendian_e : 1; 72*437bfbebSnyanmisaka RK_U32 reserve3 : 26; 73*437bfbebSnyanmisaka } reg54_endian; 74*437bfbebSnyanmisaka 75*437bfbebSnyanmisaka struct { 76*437bfbebSnyanmisaka RK_U32 sw_dec_irq : 1; 77*437bfbebSnyanmisaka RK_U32 sw_dec_irq_dis : 1; 78*437bfbebSnyanmisaka RK_U32 reserve0 : 2; 79*437bfbebSnyanmisaka RK_U32 sw_dec_rdy_int : 1; 80*437bfbebSnyanmisaka RK_U32 sw_dec_bus_int : 1; 81*437bfbebSnyanmisaka RK_U32 sw_dec_buffer_int : 1; 82*437bfbebSnyanmisaka RK_U32 reserve1 : 1; 83*437bfbebSnyanmisaka RK_U32 sw_dec_aso_int : 1; 84*437bfbebSnyanmisaka RK_U32 sw_dec_slice_int : 1; 85*437bfbebSnyanmisaka RK_U32 sw_dec_pic_inf : 1; 86*437bfbebSnyanmisaka RK_U32 reserve2 : 1; 87*437bfbebSnyanmisaka RK_U32 sw_dec_error_int: 1; 88*437bfbebSnyanmisaka RK_U32 sw_dec_timeout : 1; 89*437bfbebSnyanmisaka RK_U32 reserve3 : 18; 90*437bfbebSnyanmisaka } reg55_Interrupt; 91*437bfbebSnyanmisaka 92*437bfbebSnyanmisaka struct { 93*437bfbebSnyanmisaka RK_U32 sw_dec_axi_rn_id : 8; 94*437bfbebSnyanmisaka RK_U32 sw_dec_axi_wr_id : 8; 95*437bfbebSnyanmisaka RK_U32 sw_dec_max_burst : 5; 96*437bfbebSnyanmisaka RK_U32 resever : 1; 97*437bfbebSnyanmisaka RK_U32 sw_dec_data_disc_e : 1; 98*437bfbebSnyanmisaka RK_U32 resever1 : 9; 99*437bfbebSnyanmisaka } reg56_axi_ctrl; 100*437bfbebSnyanmisaka 101*437bfbebSnyanmisaka struct { 102*437bfbebSnyanmisaka RK_U32 sw_dec_e : 1; 103*437bfbebSnyanmisaka RK_U32 sw_refbu2_buf_e : 1; 104*437bfbebSnyanmisaka RK_U32 sw_dec_out_dis : 1; 105*437bfbebSnyanmisaka RK_U32 resever : 1; 106*437bfbebSnyanmisaka RK_U32 sw_dec_clk_gate_e : 1; 107*437bfbebSnyanmisaka RK_U32 sw_dec_timeout_e : 1; 108*437bfbebSnyanmisaka RK_U32 sw_picord_count_e : 1; 109*437bfbebSnyanmisaka RK_U32 sw_seq_mbaff_e : 1; 110*437bfbebSnyanmisaka RK_U32 sw_reftopfirst_e : 1; 111*437bfbebSnyanmisaka RK_U32 sw_ref_topfield_e : 1; 112*437bfbebSnyanmisaka RK_U32 sw_write_mvs_e : 1; 113*437bfbebSnyanmisaka RK_U32 sw_sorenson_e : 1; 114*437bfbebSnyanmisaka RK_U32 sw_fwd_interlace_e : 1; 115*437bfbebSnyanmisaka RK_U32 sw_pic_topfield_e : 1 ; 116*437bfbebSnyanmisaka RK_U32 sw_pic_inter_e : 1; 117*437bfbebSnyanmisaka RK_U32 sw_pic_b_e : 1; 118*437bfbebSnyanmisaka RK_U32 sw_pic_fieldmode_e : 1; 119*437bfbebSnyanmisaka RK_U32 sw_pic_interlace_e : 1; 120*437bfbebSnyanmisaka RK_U32 sw_pjpeg_e : 1; 121*437bfbebSnyanmisaka RK_U32 sw_divx3_e : 1; 122*437bfbebSnyanmisaka RK_U32 sw_rlc_mode_e : 1; 123*437bfbebSnyanmisaka RK_U32 sw_ch_8pix_ileav_e : 1; 124*437bfbebSnyanmisaka RK_U32 sw_start_code_e : 1; 125*437bfbebSnyanmisaka RK_U32 resever1 : 8; 126*437bfbebSnyanmisaka RK_U32 sw_dec_ahb_hlock_e : 1; 127*437bfbebSnyanmisaka 128*437bfbebSnyanmisaka } reg57_enable_ctrl; 129*437bfbebSnyanmisaka 130*437bfbebSnyanmisaka RK_U32 reg58_soft_rest; 131*437bfbebSnyanmisaka 132*437bfbebSnyanmisaka struct { 133*437bfbebSnyanmisaka RK_U32 resever : 2; 134*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_0_2 : 10; 135*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_0_1 : 10; 136*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_0_0 : 10; 137*437bfbebSnyanmisaka } reg59; 138*437bfbebSnyanmisaka 139*437bfbebSnyanmisaka RK_U32 reg60_addit_ch_st_base; 140*437bfbebSnyanmisaka RK_U32 reg61_qtable_base; 141*437bfbebSnyanmisaka RK_U32 reg62_directmv_base; 142*437bfbebSnyanmisaka RK_U32 reg63_cur_pic_base; 143*437bfbebSnyanmisaka RK_U32 reg64_input_stream_base; 144*437bfbebSnyanmisaka 145*437bfbebSnyanmisaka struct { 146*437bfbebSnyanmisaka RK_U32 sw_refbu_y_offset : 9; 147*437bfbebSnyanmisaka RK_U32 sw_reserve : 3; 148*437bfbebSnyanmisaka RK_U32 sw_refbu_fparmod_e : 1; 149*437bfbebSnyanmisaka RK_U32 sw_refbu_eval_e : 1; 150*437bfbebSnyanmisaka RK_U32 sw_refbu_picid : 5; 151*437bfbebSnyanmisaka RK_U32 sw_refbu_thr : 12; 152*437bfbebSnyanmisaka RK_U32 sw_refbu_e : 1; 153*437bfbebSnyanmisaka } reg65_refpicbuf_ctrl; 154*437bfbebSnyanmisaka 155*437bfbebSnyanmisaka struct { 156*437bfbebSnyanmisaka RK_U32 build_version : 3; 157*437bfbebSnyanmisaka RK_U32 product_IDen : 1; 158*437bfbebSnyanmisaka RK_U32 minor_version : 8; 159*437bfbebSnyanmisaka RK_U32 major_version : 4; 160*437bfbebSnyanmisaka RK_U32 product_numer : 16; 161*437bfbebSnyanmisaka } reg66_id; 162*437bfbebSnyanmisaka 163*437bfbebSnyanmisaka struct { 164*437bfbebSnyanmisaka RK_U32 sw_reserve : 25; 165*437bfbebSnyanmisaka RK_U32 sw_dec_rtl_rom : 1; 166*437bfbebSnyanmisaka RK_U32 sw_dec_rv_prof : 2; 167*437bfbebSnyanmisaka RK_U32 sw_ref_buff2_exist : 1; 168*437bfbebSnyanmisaka RK_U32 sw_dec_divx_prof : 1; 169*437bfbebSnyanmisaka RK_U32 sw_dec_refbu_ilace : 1; 170*437bfbebSnyanmisaka RK_U32 sw_dec_jpeg_exten : 1; 171*437bfbebSnyanmisaka } reg67_synthesis_cfg; 172*437bfbebSnyanmisaka 173*437bfbebSnyanmisaka struct { 174*437bfbebSnyanmisaka RK_U32 sw_refbu_top_sum : 16; 175*437bfbebSnyanmisaka RK_U32 sw_refbu_bot_sum : 16; 176*437bfbebSnyanmisaka } reg68_sum_of_partitions; 177*437bfbebSnyanmisaka 178*437bfbebSnyanmisaka struct { 179*437bfbebSnyanmisaka RK_U32 sw_refbu_intra_sum : 16; 180*437bfbebSnyanmisaka RK_U32 sw_refbu_hit_sum : 16; 181*437bfbebSnyanmisaka } reg69_sum_inf; 182*437bfbebSnyanmisaka 183*437bfbebSnyanmisaka struct { 184*437bfbebSnyanmisaka RK_U32 sw_refbu_mv_sum : 22; 185*437bfbebSnyanmisaka RK_U32 sw_reserve : 10; 186*437bfbebSnyanmisaka } reg70_sum_mv; 187*437bfbebSnyanmisaka 188*437bfbebSnyanmisaka RK_U32 reg71_119_reserve[49]; 189*437bfbebSnyanmisaka 190*437bfbebSnyanmisaka struct { 191*437bfbebSnyanmisaka RK_U32 sw_pic_mb_h_ext : 3; 192*437bfbebSnyanmisaka RK_U32 sw_pic_mb_w_ext : 3; 193*437bfbebSnyanmisaka RK_U32 sw_alt_scan_e : 1; 194*437bfbebSnyanmisaka RK_U32 sw_mb_height_off : 4; 195*437bfbebSnyanmisaka RK_U32 sw_pic_mb_hight_p : 8; 196*437bfbebSnyanmisaka RK_U32 sw_mb_width_off : 4; 197*437bfbebSnyanmisaka RK_U32 sw_pic_mb_width : 9; 198*437bfbebSnyanmisaka } reg120; 199*437bfbebSnyanmisaka 200*437bfbebSnyanmisaka struct { 201*437bfbebSnyanmisaka RK_U32 sw_resever : 5; 202*437bfbebSnyanmisaka RK_U32 sw_vp7_version : 1; 203*437bfbebSnyanmisaka RK_U32 sw_dc_match0 : 3; 204*437bfbebSnyanmisaka RK_U32 sw_dc_match1 : 3; 205*437bfbebSnyanmisaka RK_U32 sw_eable_bilinear : 1; 206*437bfbebSnyanmisaka RK_U32 sw_romain_mv : 1; 207*437bfbebSnyanmisaka RK_U32 sw_resever1 : 6; 208*437bfbebSnyanmisaka RK_U32 sw_dct2_start_bit : 6; 209*437bfbebSnyanmisaka RK_U32 sw_dct1_start_bit : 6; 210*437bfbebSnyanmisaka } reg121; 211*437bfbebSnyanmisaka 212*437bfbebSnyanmisaka struct { 213*437bfbebSnyanmisaka RK_U32 sw_boolean_range : 8; 214*437bfbebSnyanmisaka RK_U32 sw_boolean_value : 8; 215*437bfbebSnyanmisaka RK_U32 sw_multistream_e : 1; 216*437bfbebSnyanmisaka RK_U32 sw_huffman_e : 1; 217*437bfbebSnyanmisaka RK_U32 sw_strm1_start_bit : 6; 218*437bfbebSnyanmisaka RK_U32 sw_resever : 2; 219*437bfbebSnyanmisaka RK_U32 sw_strm_start_bit : 6; 220*437bfbebSnyanmisaka } reg122; 221*437bfbebSnyanmisaka 222*437bfbebSnyanmisaka struct { 223*437bfbebSnyanmisaka RK_U32 sw_dc_comp1 : 16; 224*437bfbebSnyanmisaka RK_U32 sw_dc_comp0 : 16; 225*437bfbebSnyanmisaka } reg123; 226*437bfbebSnyanmisaka 227*437bfbebSnyanmisaka struct { 228*437bfbebSnyanmisaka RK_U32 sw_stream1_len : 24; 229*437bfbebSnyanmisaka RK_U32 sw_coeffs_part_am : 4; 230*437bfbebSnyanmisaka RK_U32 sw_resever : 4; 231*437bfbebSnyanmisaka } reg124; 232*437bfbebSnyanmisaka 233*437bfbebSnyanmisaka struct { 234*437bfbebSnyanmisaka RK_U32 resever : 2; 235*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_5_3 : 10; 236*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_5_2 : 10; 237*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_5_1 : 10; 238*437bfbebSnyanmisaka } reg125; 239*437bfbebSnyanmisaka 240*437bfbebSnyanmisaka struct { 241*437bfbebSnyanmisaka RK_U32 resever : 2; 242*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_6_2 : 10; 243*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_6_1 : 10; 244*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_6_0 : 10; 245*437bfbebSnyanmisaka } reg126; 246*437bfbebSnyanmisaka 247*437bfbebSnyanmisaka struct { 248*437bfbebSnyanmisaka RK_U32 resever : 2; 249*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_7_1 : 10; 250*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_7_0 : 10; 251*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_6_3 : 10; 252*437bfbebSnyanmisaka } reg127; 253*437bfbebSnyanmisaka 254*437bfbebSnyanmisaka struct { 255*437bfbebSnyanmisaka RK_U32 sw_pred_tap_6_4 : 2; 256*437bfbebSnyanmisaka RK_U32 sw_pred_tap_6_M1 : 2; 257*437bfbebSnyanmisaka RK_U32 sw_pred_tap_4_4 : 2; 258*437bfbebSnyanmisaka RK_U32 sw_pred_tap_4_M1 : 2; 259*437bfbebSnyanmisaka RK_U32 sw_pred_tap_2_4 : 2; 260*437bfbebSnyanmisaka RK_U32 sw_pred_tap_2_M1 : 2; 261*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_7_3 : 10; 262*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_7_2 : 10; 263*437bfbebSnyanmisaka } reg128; 264*437bfbebSnyanmisaka 265*437bfbebSnyanmisaka struct { 266*437bfbebSnyanmisaka RK_U32 sw_filt_level_3 : 6; 267*437bfbebSnyanmisaka RK_U32 sw_filt_level_2 : 6; 268*437bfbebSnyanmisaka RK_U32 sw_filt_level_1 : 6; 269*437bfbebSnyanmisaka RK_U32 sw_filt_level_0 : 6; 270*437bfbebSnyanmisaka RK_U32 resever : 8; 271*437bfbebSnyanmisaka } reg129; 272*437bfbebSnyanmisaka 273*437bfbebSnyanmisaka struct { 274*437bfbebSnyanmisaka RK_U32 sw_quant_1 : 11; 275*437bfbebSnyanmisaka RK_U32 sw_quant_0 : 11; 276*437bfbebSnyanmisaka RK_U32 sw_quant_delta_1 : 5; 277*437bfbebSnyanmisaka RK_U32 sw_quant_delta_0 : 5; 278*437bfbebSnyanmisaka } reg130; 279*437bfbebSnyanmisaka 280*437bfbebSnyanmisaka 281*437bfbebSnyanmisaka RK_U32 reg131_ref0_base; 282*437bfbebSnyanmisaka 283*437bfbebSnyanmisaka struct { 284*437bfbebSnyanmisaka RK_U32 sw_filt_mb_adj_3 : 7; 285*437bfbebSnyanmisaka RK_U32 sw_filt_mb_adj_2 : 7; 286*437bfbebSnyanmisaka RK_U32 sw_filt_mb_adj_1 : 7; 287*437bfbebSnyanmisaka RK_U32 sw_filt_mb_adj_0 : 7; 288*437bfbebSnyanmisaka RK_U32 sw_filt_sharpness : 3; 289*437bfbebSnyanmisaka RK_U32 sw_filt_type : 1; 290*437bfbebSnyanmisaka } reg132; 291*437bfbebSnyanmisaka 292*437bfbebSnyanmisaka 293*437bfbebSnyanmisaka struct { 294*437bfbebSnyanmisaka RK_U32 sw_filt_ref_adj_3 : 7; 295*437bfbebSnyanmisaka RK_U32 sw_filt_ref_adj_2 : 7; 296*437bfbebSnyanmisaka RK_U32 sw_filt_ref_adj_1 : 7; 297*437bfbebSnyanmisaka RK_U32 sw_filt_ref_adj_0 : 7; 298*437bfbebSnyanmisaka RK_U32 sw_resver : 4; 299*437bfbebSnyanmisaka } reg133; 300*437bfbebSnyanmisaka 301*437bfbebSnyanmisaka RK_U32 reg134; 302*437bfbebSnyanmisaka RK_U32 reg135; 303*437bfbebSnyanmisaka 304*437bfbebSnyanmisaka RK_U32 reg136_golden_ref_base; 305*437bfbebSnyanmisaka 306*437bfbebSnyanmisaka union { 307*437bfbebSnyanmisaka RK_U32 alternate_ref_base; 308*437bfbebSnyanmisaka struct { 309*437bfbebSnyanmisaka RK_U32 sw_scan_map_5 : 6; 310*437bfbebSnyanmisaka RK_U32 sw_scan_map_4 : 6; 311*437bfbebSnyanmisaka RK_U32 sw_scan_map_3 : 6; 312*437bfbebSnyanmisaka RK_U32 sw_scan_map_2 : 6; 313*437bfbebSnyanmisaka RK_U32 sw_scan_map_1 : 6; 314*437bfbebSnyanmisaka RK_U32 sw_resver : 2; 315*437bfbebSnyanmisaka }; 316*437bfbebSnyanmisaka } reg137; 317*437bfbebSnyanmisaka 318*437bfbebSnyanmisaka struct { 319*437bfbebSnyanmisaka RK_U32 sw_scan_map_10 : 6; 320*437bfbebSnyanmisaka RK_U32 sw_scan_map_9 : 6; 321*437bfbebSnyanmisaka RK_U32 sw_scan_map_8 : 6; 322*437bfbebSnyanmisaka RK_U32 sw_scan_map_7 : 6; 323*437bfbebSnyanmisaka RK_U32 sw_scan_map_6 : 6; 324*437bfbebSnyanmisaka RK_U32 sw_resver : 2; 325*437bfbebSnyanmisaka } reg138; 326*437bfbebSnyanmisaka 327*437bfbebSnyanmisaka struct { 328*437bfbebSnyanmisaka RK_U32 sw_scan_map_15 : 6; 329*437bfbebSnyanmisaka RK_U32 sw_scan_map_14 : 6; 330*437bfbebSnyanmisaka RK_U32 sw_scan_map_13 : 6; 331*437bfbebSnyanmisaka RK_U32 sw_scan_map_12 : 6; 332*437bfbebSnyanmisaka RK_U32 sw_scan_map_11 : 6; 333*437bfbebSnyanmisaka RK_U32 sw_resver : 2; 334*437bfbebSnyanmisaka } reg139; 335*437bfbebSnyanmisaka 336*437bfbebSnyanmisaka RK_U32 reg_dct_strm_base[5]; 337*437bfbebSnyanmisaka RK_U32 reg145_bitpl_ctrl_base; 338*437bfbebSnyanmisaka RK_U32 reg_dct_strm1_base[2]; 339*437bfbebSnyanmisaka 340*437bfbebSnyanmisaka struct { 341*437bfbebSnyanmisaka RK_U32 sw_slice_h : 8; 342*437bfbebSnyanmisaka RK_U32 sw_resver : 24; 343*437bfbebSnyanmisaka } reg148; 344*437bfbebSnyanmisaka 345*437bfbebSnyanmisaka RK_U32 reg149_segment_map_base; 346*437bfbebSnyanmisaka 347*437bfbebSnyanmisaka 348*437bfbebSnyanmisaka struct { 349*437bfbebSnyanmisaka RK_U32 sw_dct_start_bit_7 : 6; 350*437bfbebSnyanmisaka RK_U32 sw_dct_start_bit_6 : 6; 351*437bfbebSnyanmisaka RK_U32 sw_dct_start_bit_5 : 6; 352*437bfbebSnyanmisaka RK_U32 sw_dct_start_bit_4 : 6; 353*437bfbebSnyanmisaka RK_U32 sw_dct_start_bit_3 : 6; 354*437bfbebSnyanmisaka RK_U32 sw_resver : 2; 355*437bfbebSnyanmisaka } reg150; 356*437bfbebSnyanmisaka 357*437bfbebSnyanmisaka struct { 358*437bfbebSnyanmisaka RK_U32 sw_quant_3 : 11; 359*437bfbebSnyanmisaka RK_U32 sw_quant_2 : 11; 360*437bfbebSnyanmisaka RK_U32 sw_quant_delta_3 : 5; 361*437bfbebSnyanmisaka RK_U32 sw_quant_delta_2 : 5; 362*437bfbebSnyanmisaka } reg151; 363*437bfbebSnyanmisaka 364*437bfbebSnyanmisaka struct { 365*437bfbebSnyanmisaka RK_U32 sw_quant_5 : 11; 366*437bfbebSnyanmisaka RK_U32 sw_quant_4 : 11; 367*437bfbebSnyanmisaka RK_U32 sw_resver : 5; 368*437bfbebSnyanmisaka RK_U32 sw_quant_delta_4 : 5; 369*437bfbebSnyanmisaka } reg152; 370*437bfbebSnyanmisaka 371*437bfbebSnyanmisaka struct { 372*437bfbebSnyanmisaka RK_U32 resever : 2; 373*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_1_1 : 10; 374*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_1_0 : 10; 375*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_0_3 : 10; 376*437bfbebSnyanmisaka } reg153; 377*437bfbebSnyanmisaka 378*437bfbebSnyanmisaka struct { 379*437bfbebSnyanmisaka RK_U32 resever : 2; 380*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_2_0 : 10; 381*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_1_3 : 10; 382*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_1_2 : 10; 383*437bfbebSnyanmisaka } reg154; 384*437bfbebSnyanmisaka 385*437bfbebSnyanmisaka struct { 386*437bfbebSnyanmisaka RK_U32 resever : 2; 387*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_2_3 : 10; 388*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_2_2 : 10; 389*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_2_1 : 10; 390*437bfbebSnyanmisaka } reg155; 391*437bfbebSnyanmisaka 392*437bfbebSnyanmisaka struct { 393*437bfbebSnyanmisaka RK_U32 resever : 2; 394*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_3_2 : 10; 395*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_3_1 : 10; 396*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_3_0 : 10; 397*437bfbebSnyanmisaka } reg156; 398*437bfbebSnyanmisaka 399*437bfbebSnyanmisaka struct { 400*437bfbebSnyanmisaka RK_U32 resever : 2; 401*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_4_1 : 10; 402*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_4_0 : 10; 403*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_3_3 : 10; 404*437bfbebSnyanmisaka } reg157; 405*437bfbebSnyanmisaka 406*437bfbebSnyanmisaka struct { 407*437bfbebSnyanmisaka RK_U32 resever : 2; 408*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_5_0 : 10; 409*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_4_3 : 10; 410*437bfbebSnyanmisaka RK_U32 sw_pred_bc_tap_4_2 : 10; 411*437bfbebSnyanmisaka } reg158; 412*437bfbebSnyanmisaka } VP8DRegSet_t; 413*437bfbebSnyanmisaka 414*437bfbebSnyanmisaka #endif 415