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_VP8E_VEPU1_REG_H__ 18*437bfbebSnyanmisaka #define __HAL_VP8E_VEPU1_REG_H__ 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #include "rk_type.h" 21*437bfbebSnyanmisaka 22*437bfbebSnyanmisaka typedef struct { 23*437bfbebSnyanmisaka RK_U32 sw0; 24*437bfbebSnyanmisaka 25*437bfbebSnyanmisaka struct { 26*437bfbebSnyanmisaka RK_U32 val : 32; 27*437bfbebSnyanmisaka } sw1; 28*437bfbebSnyanmisaka 29*437bfbebSnyanmisaka struct { 30*437bfbebSnyanmisaka RK_U32 val : 32; 31*437bfbebSnyanmisaka } sw2; 32*437bfbebSnyanmisaka 33*437bfbebSnyanmisaka RK_U32 sw3_4[2]; 34*437bfbebSnyanmisaka 35*437bfbebSnyanmisaka struct { 36*437bfbebSnyanmisaka RK_U32 base_stream : 32; 37*437bfbebSnyanmisaka } sw5; 38*437bfbebSnyanmisaka 39*437bfbebSnyanmisaka struct { 40*437bfbebSnyanmisaka RK_U32 base_control : 32; 41*437bfbebSnyanmisaka } sw6; 42*437bfbebSnyanmisaka 43*437bfbebSnyanmisaka struct { 44*437bfbebSnyanmisaka RK_U32 base_ref_lum : 32; 45*437bfbebSnyanmisaka } sw7; 46*437bfbebSnyanmisaka 47*437bfbebSnyanmisaka struct { 48*437bfbebSnyanmisaka RK_U32 base_ref_chr : 32; 49*437bfbebSnyanmisaka } sw8; 50*437bfbebSnyanmisaka 51*437bfbebSnyanmisaka struct { 52*437bfbebSnyanmisaka RK_U32 base_rec_lum : 32; 53*437bfbebSnyanmisaka } sw9; 54*437bfbebSnyanmisaka 55*437bfbebSnyanmisaka struct { 56*437bfbebSnyanmisaka RK_U32 base_rec_chr : 32; 57*437bfbebSnyanmisaka } sw10; 58*437bfbebSnyanmisaka 59*437bfbebSnyanmisaka struct { 60*437bfbebSnyanmisaka RK_U32 base_in_lum : 32; 61*437bfbebSnyanmisaka } sw11; 62*437bfbebSnyanmisaka 63*437bfbebSnyanmisaka struct { 64*437bfbebSnyanmisaka RK_U32 base_in_cb : 32; 65*437bfbebSnyanmisaka } sw12; 66*437bfbebSnyanmisaka 67*437bfbebSnyanmisaka struct { 68*437bfbebSnyanmisaka RK_U32 base_in_cr : 32; 69*437bfbebSnyanmisaka } sw13; 70*437bfbebSnyanmisaka 71*437bfbebSnyanmisaka struct { 72*437bfbebSnyanmisaka RK_U32 enable : 1; 73*437bfbebSnyanmisaka RK_U32 encoding_mode : 2; 74*437bfbebSnyanmisaka RK_U32 picture_type : 2; 75*437bfbebSnyanmisaka RK_U32 : 1; 76*437bfbebSnyanmisaka RK_U32 rec_write_disable : 1; 77*437bfbebSnyanmisaka RK_U32 : 3; 78*437bfbebSnyanmisaka RK_U32 height : 9; 79*437bfbebSnyanmisaka RK_U32 width : 9; 80*437bfbebSnyanmisaka RK_U32 int_slice_ready : 1; 81*437bfbebSnyanmisaka RK_U32 nal_size_write : 1; 82*437bfbebSnyanmisaka RK_U32 mv_write : 1; 83*437bfbebSnyanmisaka RK_U32 int_timeout : 1; 84*437bfbebSnyanmisaka } sw14; 85*437bfbebSnyanmisaka 86*437bfbebSnyanmisaka struct { 87*437bfbebSnyanmisaka RK_U32 input_rot : 2; 88*437bfbebSnyanmisaka RK_U32 input_format : 4; 89*437bfbebSnyanmisaka RK_U32 y_fill : 4; 90*437bfbebSnyanmisaka RK_U32 x_fill : 2; 91*437bfbebSnyanmisaka RK_U32 row_length : 14; 92*437bfbebSnyanmisaka RK_U32 lum_offset : 3; 93*437bfbebSnyanmisaka RK_U32 chr_offset : 3; 94*437bfbebSnyanmisaka } sw15; 95*437bfbebSnyanmisaka 96*437bfbebSnyanmisaka struct { 97*437bfbebSnyanmisaka RK_U32 base_ref_lum2 : 32; 98*437bfbebSnyanmisaka } sw16; 99*437bfbebSnyanmisaka 100*437bfbebSnyanmisaka struct { 101*437bfbebSnyanmisaka RK_U32 base_ref_chr2 : 32; 102*437bfbebSnyanmisaka } sw17; 103*437bfbebSnyanmisaka 104*437bfbebSnyanmisaka struct { 105*437bfbebSnyanmisaka RK_U32 ip_intra16_favor : 16; 106*437bfbebSnyanmisaka RK_U32 stream_mode : 1; 107*437bfbebSnyanmisaka RK_U32 inter_4_restrict : 1; 108*437bfbebSnyanmisaka RK_U32 cabac_enable : 1; 109*437bfbebSnyanmisaka RK_U32 cabac_initidc : 2; 110*437bfbebSnyanmisaka RK_U32 transform_8x8 : 1; 111*437bfbebSnyanmisaka RK_U32 disable_qp_mv : 1; 112*437bfbebSnyanmisaka RK_U32 slice_size : 7; 113*437bfbebSnyanmisaka RK_U32 deblocking : 2; 114*437bfbebSnyanmisaka } sw18; 115*437bfbebSnyanmisaka 116*437bfbebSnyanmisaka struct { 117*437bfbebSnyanmisaka RK_U32 dmv_penalty1p : 10; 118*437bfbebSnyanmisaka RK_U32 dmv_penalty4p : 10; 119*437bfbebSnyanmisaka RK_U32 dmv_penaltyqp : 10; 120*437bfbebSnyanmisaka RK_U32 split_mv : 1; 121*437bfbebSnyanmisaka RK_U32 : 1; 122*437bfbebSnyanmisaka } sw19; 123*437bfbebSnyanmisaka 124*437bfbebSnyanmisaka struct { 125*437bfbebSnyanmisaka RK_U32 split_penalty_8x4 : 10; 126*437bfbebSnyanmisaka RK_U32 split_penalty_8x8 : 10; 127*437bfbebSnyanmisaka RK_U32 split_penalty_16x8 : 10; 128*437bfbebSnyanmisaka RK_U32 : 2; 129*437bfbebSnyanmisaka } sw20; 130*437bfbebSnyanmisaka 131*437bfbebSnyanmisaka struct { 132*437bfbebSnyanmisaka RK_U32 inter_favor : 16; 133*437bfbebSnyanmisaka RK_U32 num_slices_ready : 8; 134*437bfbebSnyanmisaka RK_U32 skip_penalty : 8; 135*437bfbebSnyanmisaka } sw21; 136*437bfbebSnyanmisaka 137*437bfbebSnyanmisaka struct { 138*437bfbebSnyanmisaka RK_U32 strm_hdr_rem1 : 32; 139*437bfbebSnyanmisaka } sw22; 140*437bfbebSnyanmisaka 141*437bfbebSnyanmisaka struct { 142*437bfbebSnyanmisaka RK_U32 strm_hdr_rem2 : 32; 143*437bfbebSnyanmisaka } sw23; 144*437bfbebSnyanmisaka 145*437bfbebSnyanmisaka struct { 146*437bfbebSnyanmisaka RK_U32 strm_buf_limit : 32; 147*437bfbebSnyanmisaka } sw24; 148*437bfbebSnyanmisaka 149*437bfbebSnyanmisaka struct { 150*437bfbebSnyanmisaka RK_U32 qp_sum : 21; 151*437bfbebSnyanmisaka RK_U32 : 1; 152*437bfbebSnyanmisaka RK_U32 mad_threshold : 6; 153*437bfbebSnyanmisaka RK_U32 mad_qp_delta : 4; 154*437bfbebSnyanmisaka } sw25; 155*437bfbebSnyanmisaka 156*437bfbebSnyanmisaka struct { 157*437bfbebSnyanmisaka RK_U32 base_prob_count : 32; 158*437bfbebSnyanmisaka } sw26; 159*437bfbebSnyanmisaka 160*437bfbebSnyanmisaka struct { 161*437bfbebSnyanmisaka RK_U32 y1_quant_dc : 14; 162*437bfbebSnyanmisaka RK_U32 y1_zbin_dc : 9; 163*437bfbebSnyanmisaka RK_U32 y1_round_dc : 8; 164*437bfbebSnyanmisaka RK_U32 : 1; 165*437bfbebSnyanmisaka } sw27; 166*437bfbebSnyanmisaka 167*437bfbebSnyanmisaka struct { 168*437bfbebSnyanmisaka RK_U32 y1_quant_ac : 14; 169*437bfbebSnyanmisaka RK_U32 y1_zbin_ac : 9; 170*437bfbebSnyanmisaka RK_U32 y1_round_ac : 8; 171*437bfbebSnyanmisaka RK_U32 : 1; 172*437bfbebSnyanmisaka } sw28; 173*437bfbebSnyanmisaka 174*437bfbebSnyanmisaka struct { 175*437bfbebSnyanmisaka RK_U32 y2_quant_dc : 14; 176*437bfbebSnyanmisaka RK_U32 y2_zbin_dc : 9; 177*437bfbebSnyanmisaka RK_U32 y2_round_dc : 8; 178*437bfbebSnyanmisaka RK_U32 : 1; 179*437bfbebSnyanmisaka } sw29; 180*437bfbebSnyanmisaka 181*437bfbebSnyanmisaka struct { 182*437bfbebSnyanmisaka RK_U32 y2_quant_ac : 14; 183*437bfbebSnyanmisaka RK_U32 y2_zbin_ac : 9; 184*437bfbebSnyanmisaka RK_U32 y2_round_ac : 8; 185*437bfbebSnyanmisaka RK_U32 : 1; 186*437bfbebSnyanmisaka } sw30; 187*437bfbebSnyanmisaka 188*437bfbebSnyanmisaka struct { 189*437bfbebSnyanmisaka RK_U32 ch_quant_dc : 14; 190*437bfbebSnyanmisaka RK_U32 ch_zbin_dc : 9; 191*437bfbebSnyanmisaka RK_U32 ch_round_dc : 8; 192*437bfbebSnyanmisaka RK_U32 : 1; 193*437bfbebSnyanmisaka } sw31; 194*437bfbebSnyanmisaka 195*437bfbebSnyanmisaka struct { 196*437bfbebSnyanmisaka RK_U32 ch_quant_ac : 14; 197*437bfbebSnyanmisaka RK_U32 ch_zbin_ac : 9; 198*437bfbebSnyanmisaka RK_U32 ch_round_ac : 8; 199*437bfbebSnyanmisaka RK_U32 : 1; 200*437bfbebSnyanmisaka } sw32; 201*437bfbebSnyanmisaka 202*437bfbebSnyanmisaka struct { 203*437bfbebSnyanmisaka RK_U32 y1_dequant_dc : 8; 204*437bfbebSnyanmisaka RK_U32 y1_dequant_ac : 9; 205*437bfbebSnyanmisaka RK_U32 y2_dequant_dc : 9; 206*437bfbebSnyanmisaka RK_U32 mv_ref_idx : 2; 207*437bfbebSnyanmisaka RK_U32 : 4; 208*437bfbebSnyanmisaka } sw33; 209*437bfbebSnyanmisaka 210*437bfbebSnyanmisaka struct { 211*437bfbebSnyanmisaka RK_U32 y2_dequant_ac : 9; 212*437bfbebSnyanmisaka RK_U32 ch_dequant_dc : 8; 213*437bfbebSnyanmisaka RK_U32 ch_dequant_ac : 9; 214*437bfbebSnyanmisaka RK_U32 mv_ref_idx2 : 2; 215*437bfbebSnyanmisaka RK_U32 ref2_enable : 1; 216*437bfbebSnyanmisaka RK_U32 segment_enable : 1; 217*437bfbebSnyanmisaka RK_U32 segment_map_update : 1; 218*437bfbebSnyanmisaka RK_U32 : 1; 219*437bfbebSnyanmisaka } sw34; 220*437bfbebSnyanmisaka 221*437bfbebSnyanmisaka struct { 222*437bfbebSnyanmisaka RK_U32 bool_enc_value : 32; 223*437bfbebSnyanmisaka } sw35; 224*437bfbebSnyanmisaka 225*437bfbebSnyanmisaka struct { 226*437bfbebSnyanmisaka RK_U32 bool_enc_range : 8; 227*437bfbebSnyanmisaka RK_U32 bool_enc_value_bits : 5; 228*437bfbebSnyanmisaka RK_U32 dct_partition_count : 2; 229*437bfbebSnyanmisaka RK_U32 filter_level : 6; 230*437bfbebSnyanmisaka RK_U32 filter_sharpness : 3; 231*437bfbebSnyanmisaka RK_U32 golden_penalty : 8; 232*437bfbebSnyanmisaka } sw36; 233*437bfbebSnyanmisaka 234*437bfbebSnyanmisaka struct { 235*437bfbebSnyanmisaka RK_U32 rlc_sum : 23; 236*437bfbebSnyanmisaka RK_U32 start_offset : 6; 237*437bfbebSnyanmisaka RK_U32 : 3; 238*437bfbebSnyanmisaka } sw37; 239*437bfbebSnyanmisaka 240*437bfbebSnyanmisaka struct { 241*437bfbebSnyanmisaka RK_U32 mb_count : 16; 242*437bfbebSnyanmisaka RK_U32 mad_count : 16; 243*437bfbebSnyanmisaka } sw38; 244*437bfbebSnyanmisaka 245*437bfbebSnyanmisaka struct { 246*437bfbebSnyanmisaka RK_U32 base_next_lum : 32; 247*437bfbebSnyanmisaka } sw39; 248*437bfbebSnyanmisaka 249*437bfbebSnyanmisaka struct { 250*437bfbebSnyanmisaka RK_U32 stab_minimum : 24; 251*437bfbebSnyanmisaka RK_U32 : 6; 252*437bfbebSnyanmisaka RK_U32 stab_mode : 2; 253*437bfbebSnyanmisaka } sw40; 254*437bfbebSnyanmisaka RK_U32 sw41_50[10]; 255*437bfbebSnyanmisaka 256*437bfbebSnyanmisaka struct { 257*437bfbebSnyanmisaka RK_U32 base_cabac_ctx : 32; 258*437bfbebSnyanmisaka } sw51; 259*437bfbebSnyanmisaka 260*437bfbebSnyanmisaka struct { 261*437bfbebSnyanmisaka RK_U32 base_mv_write : 32; 262*437bfbebSnyanmisaka } sw52; 263*437bfbebSnyanmisaka 264*437bfbebSnyanmisaka struct { 265*437bfbebSnyanmisaka RK_U32 rgb_coeff_a : 16; 266*437bfbebSnyanmisaka RK_U32 rgb_coeff_b : 16; 267*437bfbebSnyanmisaka } sw53; 268*437bfbebSnyanmisaka 269*437bfbebSnyanmisaka struct { 270*437bfbebSnyanmisaka RK_U32 rgb_coeff_c : 16; 271*437bfbebSnyanmisaka RK_U32 rgb_coeff_e : 16; 272*437bfbebSnyanmisaka } sw54; 273*437bfbebSnyanmisaka 274*437bfbebSnyanmisaka struct { 275*437bfbebSnyanmisaka RK_U32 rgb_coeff_f : 16; 276*437bfbebSnyanmisaka RK_U32 r_mask_msb : 5; 277*437bfbebSnyanmisaka RK_U32 g_mask_msb : 5; 278*437bfbebSnyanmisaka RK_U32 b_mask_msb : 5; 279*437bfbebSnyanmisaka RK_U32 : 1; 280*437bfbebSnyanmisaka } sw55; 281*437bfbebSnyanmisaka 282*437bfbebSnyanmisaka struct { 283*437bfbebSnyanmisaka RK_U32 intra_area_bottom : 8; 284*437bfbebSnyanmisaka RK_U32 intra_area_top : 8; 285*437bfbebSnyanmisaka RK_U32 intra_area_right : 8; 286*437bfbebSnyanmisaka RK_U32 intra_area_left : 8; 287*437bfbebSnyanmisaka } sw56; 288*437bfbebSnyanmisaka 289*437bfbebSnyanmisaka struct { 290*437bfbebSnyanmisaka RK_U32 cir_interval : 16; 291*437bfbebSnyanmisaka RK_U32 cir_start : 16; 292*437bfbebSnyanmisaka } sw57; 293*437bfbebSnyanmisaka 294*437bfbebSnyanmisaka struct { 295*437bfbebSnyanmisaka RK_U32 base_partition1 : 32; 296*437bfbebSnyanmisaka } sw58; 297*437bfbebSnyanmisaka 298*437bfbebSnyanmisaka struct { 299*437bfbebSnyanmisaka RK_U32 base_partition2 : 32; 300*437bfbebSnyanmisaka } sw59; 301*437bfbebSnyanmisaka 302*437bfbebSnyanmisaka struct { 303*437bfbebSnyanmisaka RK_U32 roi1_bottom : 8; 304*437bfbebSnyanmisaka RK_U32 roi1_top : 8; 305*437bfbebSnyanmisaka RK_U32 roi1_right : 8; 306*437bfbebSnyanmisaka RK_U32 roi1_left : 8; 307*437bfbebSnyanmisaka } sw60; 308*437bfbebSnyanmisaka 309*437bfbebSnyanmisaka struct { 310*437bfbebSnyanmisaka RK_U32 roi2_bottom : 8; 311*437bfbebSnyanmisaka RK_U32 roi2_top : 8; 312*437bfbebSnyanmisaka RK_U32 roi2_right : 8; 313*437bfbebSnyanmisaka RK_U32 roi2_left : 8; 314*437bfbebSnyanmisaka } sw61; 315*437bfbebSnyanmisaka 316*437bfbebSnyanmisaka struct { 317*437bfbebSnyanmisaka RK_U32 roi2_delta_qp : 4; 318*437bfbebSnyanmisaka RK_U32 roi1_delta_qp : 4; 319*437bfbebSnyanmisaka RK_U32 mvc_inter_view_flag : 1; 320*437bfbebSnyanmisaka RK_U32 mvc_anchor_pic_flag : 1; 321*437bfbebSnyanmisaka RK_U32 mvc_temporal_id : 3; 322*437bfbebSnyanmisaka RK_U32 mvc_view_id : 3; 323*437bfbebSnyanmisaka RK_U32 mvc_priority_id : 3; 324*437bfbebSnyanmisaka RK_U32 split_penalty4x4 : 9; 325*437bfbebSnyanmisaka RK_U32 zero_mv_favor : 4; 326*437bfbebSnyanmisaka } sw62; 327*437bfbebSnyanmisaka 328*437bfbebSnyanmisaka RK_U32 sw63; 329*437bfbebSnyanmisaka 330*437bfbebSnyanmisaka struct { 331*437bfbebSnyanmisaka RK_U32 mode0_penalty : 12; 332*437bfbebSnyanmisaka RK_U32 mode1_penalty : 12; 333*437bfbebSnyanmisaka RK_U32 : 8; 334*437bfbebSnyanmisaka } sw64; 335*437bfbebSnyanmisaka 336*437bfbebSnyanmisaka struct { 337*437bfbebSnyanmisaka RK_U32 mode2_penalty : 12; 338*437bfbebSnyanmisaka RK_U32 mode3_penalty : 12; 339*437bfbebSnyanmisaka RK_U32 : 8; 340*437bfbebSnyanmisaka } sw65; 341*437bfbebSnyanmisaka 342*437bfbebSnyanmisaka struct { 343*437bfbebSnyanmisaka RK_U32 b_mode_0_penalty : 12; 344*437bfbebSnyanmisaka RK_U32 b_mode_1_penalty : 12; 345*437bfbebSnyanmisaka RK_U32 : 8; 346*437bfbebSnyanmisaka } sw66_70[5]; 347*437bfbebSnyanmisaka 348*437bfbebSnyanmisaka struct { 349*437bfbebSnyanmisaka RK_U32 base_segment_map : 32; 350*437bfbebSnyanmisaka } sw71; 351*437bfbebSnyanmisaka 352*437bfbebSnyanmisaka union { 353*437bfbebSnyanmisaka struct { 354*437bfbebSnyanmisaka RK_U32 y1_quant_dc : 14; 355*437bfbebSnyanmisaka RK_U32 y1_zbin_dc : 9; 356*437bfbebSnyanmisaka RK_U32 y1_round_dc : 8; 357*437bfbebSnyanmisaka RK_U32 : 1; 358*437bfbebSnyanmisaka } num_0; 359*437bfbebSnyanmisaka 360*437bfbebSnyanmisaka struct { 361*437bfbebSnyanmisaka RK_U32 y1_quant_ac : 14; 362*437bfbebSnyanmisaka RK_U32 y1_zbin_ac : 9; 363*437bfbebSnyanmisaka RK_U32 y1_round_ac : 8; 364*437bfbebSnyanmisaka RK_U32 : 1; 365*437bfbebSnyanmisaka } num_1; 366*437bfbebSnyanmisaka 367*437bfbebSnyanmisaka struct { 368*437bfbebSnyanmisaka RK_U32 y2_quant_dc : 14; 369*437bfbebSnyanmisaka RK_U32 y2_zbin_dc : 9; 370*437bfbebSnyanmisaka RK_U32 y2_round_dc : 8; 371*437bfbebSnyanmisaka RK_U32 : 1; 372*437bfbebSnyanmisaka } num_2; 373*437bfbebSnyanmisaka 374*437bfbebSnyanmisaka struct { 375*437bfbebSnyanmisaka RK_U32 y2_quant_ac : 14; 376*437bfbebSnyanmisaka RK_U32 y2_zbin_ac : 9; 377*437bfbebSnyanmisaka RK_U32 y2_round_ac : 8; 378*437bfbebSnyanmisaka RK_U32 : 1; 379*437bfbebSnyanmisaka } num_3; 380*437bfbebSnyanmisaka 381*437bfbebSnyanmisaka struct { 382*437bfbebSnyanmisaka RK_U32 ch_quant_dc : 14; 383*437bfbebSnyanmisaka RK_U32 ch_zbin_dc : 9; 384*437bfbebSnyanmisaka RK_U32 ch_round_dc : 8; 385*437bfbebSnyanmisaka RK_U32 : 1; 386*437bfbebSnyanmisaka } num_4; 387*437bfbebSnyanmisaka 388*437bfbebSnyanmisaka struct { 389*437bfbebSnyanmisaka RK_U32 ch_quant_ac : 14; 390*437bfbebSnyanmisaka RK_U32 ch_zbin_ac : 9; 391*437bfbebSnyanmisaka RK_U32 ch_round_ac : 8; 392*437bfbebSnyanmisaka RK_U32 : 1; 393*437bfbebSnyanmisaka } num_5; 394*437bfbebSnyanmisaka 395*437bfbebSnyanmisaka struct { 396*437bfbebSnyanmisaka RK_U32 y1_dequant_dc : 8; 397*437bfbebSnyanmisaka RK_U32 y1_dequant_ac : 9; 398*437bfbebSnyanmisaka RK_U32 y2_dequant_dc : 9; 399*437bfbebSnyanmisaka RK_U32 : 6; 400*437bfbebSnyanmisaka } num_6; 401*437bfbebSnyanmisaka 402*437bfbebSnyanmisaka struct { 403*437bfbebSnyanmisaka RK_U32 y2_dequant_ac : 9; 404*437bfbebSnyanmisaka RK_U32 ch_dequant_dc : 8; 405*437bfbebSnyanmisaka RK_U32 ch_dequant_ac : 9; 406*437bfbebSnyanmisaka RK_U32 filter_level : 6; 407*437bfbebSnyanmisaka } num_7; 408*437bfbebSnyanmisaka 409*437bfbebSnyanmisaka } sw72_95[24]; 410*437bfbebSnyanmisaka 411*437bfbebSnyanmisaka struct { 412*437bfbebSnyanmisaka RK_U32 penalty_0 : 8; 413*437bfbebSnyanmisaka RK_U32 penalty_1 : 8; 414*437bfbebSnyanmisaka RK_U32 penalty_2 : 8; 415*437bfbebSnyanmisaka RK_U32 penalty_3 : 8; 416*437bfbebSnyanmisaka } sw96_127[32]; 417*437bfbebSnyanmisaka 418*437bfbebSnyanmisaka struct { 419*437bfbebSnyanmisaka RK_U32 qpel_penalty_0 : 8; 420*437bfbebSnyanmisaka RK_U32 qpel_penalty_1 : 8; 421*437bfbebSnyanmisaka RK_U32 qpel_penalty_2 : 8; 422*437bfbebSnyanmisaka RK_U32 qpel_penalty_3 : 8; 423*437bfbebSnyanmisaka } sw128_159[32]; 424*437bfbebSnyanmisaka 425*437bfbebSnyanmisaka 426*437bfbebSnyanmisaka struct { 427*437bfbebSnyanmisaka RK_U32 cost_inter : 12; 428*437bfbebSnyanmisaka RK_U32 dmv_cost_const : 12; 429*437bfbebSnyanmisaka RK_U32 : 8; 430*437bfbebSnyanmisaka } sw160; 431*437bfbebSnyanmisaka 432*437bfbebSnyanmisaka struct { 433*437bfbebSnyanmisaka RK_U32 cost_golden_ref : 12; 434*437bfbebSnyanmisaka RK_U32 : 20; 435*437bfbebSnyanmisaka } sw161; 436*437bfbebSnyanmisaka 437*437bfbebSnyanmisaka struct { 438*437bfbebSnyanmisaka RK_U32 lf_ref_delta0 : 7; //vp8_loopfilter_intra 439*437bfbebSnyanmisaka RK_U32 lf_ref_delta1 : 7; //vp8_loopfilter_lastref 440*437bfbebSnyanmisaka RK_U32 lf_ref_delta2 : 7; //vp8_loopfilter_glodenref 441*437bfbebSnyanmisaka RK_U32 lf_ref_delta3 : 7; //vp8_loopfilter_alterf 442*437bfbebSnyanmisaka RK_U32 : 4; 443*437bfbebSnyanmisaka } sw162; 444*437bfbebSnyanmisaka 445*437bfbebSnyanmisaka struct { 446*437bfbebSnyanmisaka RK_U32 lf_mode_delta0 : 7; //vp8_loopfilter_bpred 447*437bfbebSnyanmisaka RK_U32 lf_mode_delta1 : 7; //vp8_loopfilter_zeromv 448*437bfbebSnyanmisaka RK_U32 lf_mode_delta2 : 7; //vp8_loopfilter_newmv 449*437bfbebSnyanmisaka RK_U32 lf_mode_delta3 : 7; //vp8_loopfilter_splitmv 450*437bfbebSnyanmisaka RK_U32 : 4; 451*437bfbebSnyanmisaka } sw163; 452*437bfbebSnyanmisaka 453*437bfbebSnyanmisaka } Vp8eVepu1Reg_t; 454*437bfbebSnyanmisaka 455*437bfbebSnyanmisaka #endif /*__HAL_VP8E_VEPU1_REG_H__*/ 456