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_VEPU2_REG_H__ 18*437bfbebSnyanmisaka #define __HAL_VP8E_VEPU2_REG_H__ 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #include "rk_type.h" 21*437bfbebSnyanmisaka 22*437bfbebSnyanmisaka typedef struct { 23*437bfbebSnyanmisaka union { 24*437bfbebSnyanmisaka struct { 25*437bfbebSnyanmisaka RK_U32 y1_quant_dc : 14; 26*437bfbebSnyanmisaka RK_U32 : 2; 27*437bfbebSnyanmisaka RK_U32 y2_quant_dc : 14; 28*437bfbebSnyanmisaka RK_U32 : 2; 29*437bfbebSnyanmisaka } num_0; 30*437bfbebSnyanmisaka 31*437bfbebSnyanmisaka struct { 32*437bfbebSnyanmisaka RK_U32 ch_quant_dc : 14; 33*437bfbebSnyanmisaka RK_U32 : 2; 34*437bfbebSnyanmisaka RK_U32 y1_quant_ac : 14; 35*437bfbebSnyanmisaka RK_U32 : 2; 36*437bfbebSnyanmisaka } num_1; 37*437bfbebSnyanmisaka 38*437bfbebSnyanmisaka struct { 39*437bfbebSnyanmisaka RK_U32 y2_quant_ac : 14; 40*437bfbebSnyanmisaka RK_U32 : 2; 41*437bfbebSnyanmisaka RK_U32 ch_quant_ac : 14; 42*437bfbebSnyanmisaka RK_U32 : 2; 43*437bfbebSnyanmisaka } num_2; 44*437bfbebSnyanmisaka 45*437bfbebSnyanmisaka struct { 46*437bfbebSnyanmisaka RK_U32 y1_zbin_dc : 9; 47*437bfbebSnyanmisaka RK_U32 y2_zbin_dc : 9; 48*437bfbebSnyanmisaka RK_U32 ch_zbin_dc : 9; 49*437bfbebSnyanmisaka RK_U32 : 5; 50*437bfbebSnyanmisaka } num_3; 51*437bfbebSnyanmisaka 52*437bfbebSnyanmisaka struct { 53*437bfbebSnyanmisaka RK_U32 y1_zbin_ac : 9; 54*437bfbebSnyanmisaka RK_U32 y2_zbin_ac : 9; 55*437bfbebSnyanmisaka RK_U32 ch_zbin_ac : 9; 56*437bfbebSnyanmisaka RK_U32 : 5; 57*437bfbebSnyanmisaka } num_4; 58*437bfbebSnyanmisaka 59*437bfbebSnyanmisaka struct { 60*437bfbebSnyanmisaka RK_U32 y1_round_dc : 8; 61*437bfbebSnyanmisaka RK_U32 y2_round_dc : 8; 62*437bfbebSnyanmisaka RK_U32 ch_round_dc : 8; 63*437bfbebSnyanmisaka RK_U32 : 8; 64*437bfbebSnyanmisaka } num_5; 65*437bfbebSnyanmisaka 66*437bfbebSnyanmisaka struct { 67*437bfbebSnyanmisaka RK_U32 y1_round_ac : 8; 68*437bfbebSnyanmisaka RK_U32 y2_round_ac : 8; 69*437bfbebSnyanmisaka RK_U32 ch_round_ac : 8; 70*437bfbebSnyanmisaka RK_U32 : 8; 71*437bfbebSnyanmisaka } num_6; 72*437bfbebSnyanmisaka 73*437bfbebSnyanmisaka struct { 74*437bfbebSnyanmisaka RK_U32 y1_dequant_dc : 8; 75*437bfbebSnyanmisaka RK_U32 y2_dequant_dc : 9; 76*437bfbebSnyanmisaka RK_U32 ch_dequant_dc : 8; 77*437bfbebSnyanmisaka RK_U32 filter_level : 6; 78*437bfbebSnyanmisaka RK_U32 : 1; 79*437bfbebSnyanmisaka } num_7; 80*437bfbebSnyanmisaka 81*437bfbebSnyanmisaka struct { 82*437bfbebSnyanmisaka RK_U32 y1_dequant_ac : 9; 83*437bfbebSnyanmisaka RK_U32 y2_dequant_ac : 9; 84*437bfbebSnyanmisaka RK_U32 ch_dequant_ac : 9; 85*437bfbebSnyanmisaka RK_U32 : 5; 86*437bfbebSnyanmisaka } num_8; 87*437bfbebSnyanmisaka 88*437bfbebSnyanmisaka } sw0_26[27]; 89*437bfbebSnyanmisaka 90*437bfbebSnyanmisaka struct { 91*437bfbebSnyanmisaka RK_U32 base_segment_map : 32; 92*437bfbebSnyanmisaka } sw27; 93*437bfbebSnyanmisaka 94*437bfbebSnyanmisaka struct { 95*437bfbebSnyanmisaka RK_U32 b_mode_0_penalty : 12; 96*437bfbebSnyanmisaka RK_U32 : 4; 97*437bfbebSnyanmisaka RK_U32 b_mode_1_penalty : 12; 98*437bfbebSnyanmisaka RK_U32 : 4; 99*437bfbebSnyanmisaka } sw28_32[5]; 100*437bfbebSnyanmisaka 101*437bfbebSnyanmisaka struct { 102*437bfbebSnyanmisaka RK_U32 mode0_penalty : 12; 103*437bfbebSnyanmisaka RK_U32 : 4; 104*437bfbebSnyanmisaka RK_U32 mode1_penalty : 12; 105*437bfbebSnyanmisaka RK_U32 : 4; 106*437bfbebSnyanmisaka } sw33; 107*437bfbebSnyanmisaka 108*437bfbebSnyanmisaka struct { 109*437bfbebSnyanmisaka RK_U32 mode2_penalty : 12; 110*437bfbebSnyanmisaka RK_U32 : 4; 111*437bfbebSnyanmisaka RK_U32 mode3_penalty : 12; 112*437bfbebSnyanmisaka RK_U32 : 4; 113*437bfbebSnyanmisaka } sw34; 114*437bfbebSnyanmisaka 115*437bfbebSnyanmisaka RK_U32 sw35_39[5]; 116*437bfbebSnyanmisaka 117*437bfbebSnyanmisaka struct { 118*437bfbebSnyanmisaka RK_U32 cost_inter : 12; 119*437bfbebSnyanmisaka RK_U32 : 4; 120*437bfbebSnyanmisaka RK_U32 lf_ref_delta0 : 7; 121*437bfbebSnyanmisaka RK_U32 : 1; 122*437bfbebSnyanmisaka RK_U32 lf_mode_delta0 : 7; 123*437bfbebSnyanmisaka RK_U32 : 1; 124*437bfbebSnyanmisaka } sw40; 125*437bfbebSnyanmisaka 126*437bfbebSnyanmisaka struct { 127*437bfbebSnyanmisaka RK_U32 cost_golden_ref : 12; 128*437bfbebSnyanmisaka RK_U32 : 4; 129*437bfbebSnyanmisaka RK_U32 dmv_cost_const : 12; 130*437bfbebSnyanmisaka RK_U32 : 4; 131*437bfbebSnyanmisaka } sw41; 132*437bfbebSnyanmisaka 133*437bfbebSnyanmisaka struct { 134*437bfbebSnyanmisaka RK_U32 lf_ref_delta2 : 7; 135*437bfbebSnyanmisaka RK_U32 : 1; 136*437bfbebSnyanmisaka RK_U32 lf_ref_delta1 : 7; 137*437bfbebSnyanmisaka RK_U32 : 1; 138*437bfbebSnyanmisaka RK_U32 lf_ref_delta3 : 7; 139*437bfbebSnyanmisaka RK_U32 : 9; 140*437bfbebSnyanmisaka } sw42; 141*437bfbebSnyanmisaka 142*437bfbebSnyanmisaka struct { 143*437bfbebSnyanmisaka RK_U32 lf_mode_delta2 : 7; 144*437bfbebSnyanmisaka RK_U32 : 1; 145*437bfbebSnyanmisaka RK_U32 lf_mode_delta1 : 7; 146*437bfbebSnyanmisaka RK_U32 : 1; 147*437bfbebSnyanmisaka RK_U32 lf_mode_delta3 : 7; 148*437bfbebSnyanmisaka RK_U32 : 9; 149*437bfbebSnyanmisaka } sw43; 150*437bfbebSnyanmisaka 151*437bfbebSnyanmisaka struct { 152*437bfbebSnyanmisaka RK_U32 base_partition1 : 32; 153*437bfbebSnyanmisaka } sw44; 154*437bfbebSnyanmisaka 155*437bfbebSnyanmisaka struct { 156*437bfbebSnyanmisaka RK_U32 base_partition2 : 32; 157*437bfbebSnyanmisaka } sw45; 158*437bfbebSnyanmisaka 159*437bfbebSnyanmisaka struct { 160*437bfbebSnyanmisaka RK_U32 intra_area_right : 8; 161*437bfbebSnyanmisaka RK_U32 intra_area_left : 8; 162*437bfbebSnyanmisaka RK_U32 intra_area_bottom : 8; 163*437bfbebSnyanmisaka RK_U32 intra_area_top : 8; 164*437bfbebSnyanmisaka } sw46; 165*437bfbebSnyanmisaka 166*437bfbebSnyanmisaka struct { 167*437bfbebSnyanmisaka RK_U32 cir_interval : 16; 168*437bfbebSnyanmisaka RK_U32 cir_start : 16; 169*437bfbebSnyanmisaka } sw47; 170*437bfbebSnyanmisaka 171*437bfbebSnyanmisaka struct { 172*437bfbebSnyanmisaka RK_U32 base_in_lum : 32; 173*437bfbebSnyanmisaka } sw48; 174*437bfbebSnyanmisaka 175*437bfbebSnyanmisaka struct { 176*437bfbebSnyanmisaka RK_U32 base_in_cb : 32; 177*437bfbebSnyanmisaka } sw49; 178*437bfbebSnyanmisaka 179*437bfbebSnyanmisaka struct { 180*437bfbebSnyanmisaka RK_U32 base_in_cr : 32; 181*437bfbebSnyanmisaka } sw50; 182*437bfbebSnyanmisaka 183*437bfbebSnyanmisaka struct { 184*437bfbebSnyanmisaka RK_U32 strm_hdr_rem1 : 32; 185*437bfbebSnyanmisaka } sw51; 186*437bfbebSnyanmisaka 187*437bfbebSnyanmisaka struct { 188*437bfbebSnyanmisaka RK_U32 strm_hdr_rem2 : 32; 189*437bfbebSnyanmisaka } sw52; 190*437bfbebSnyanmisaka 191*437bfbebSnyanmisaka struct { 192*437bfbebSnyanmisaka RK_U32 strm_buf_limit : 32; 193*437bfbebSnyanmisaka } sw53; 194*437bfbebSnyanmisaka 195*437bfbebSnyanmisaka struct { 196*437bfbebSnyanmisaka RK_U32 val : 32; 197*437bfbebSnyanmisaka } sw54; 198*437bfbebSnyanmisaka 199*437bfbebSnyanmisaka RK_U32 sw55; 200*437bfbebSnyanmisaka 201*437bfbebSnyanmisaka struct { 202*437bfbebSnyanmisaka RK_U32 base_ref_lum : 32; 203*437bfbebSnyanmisaka } sw56; 204*437bfbebSnyanmisaka 205*437bfbebSnyanmisaka struct { 206*437bfbebSnyanmisaka RK_U32 base_ref_chr : 32; 207*437bfbebSnyanmisaka } sw57; 208*437bfbebSnyanmisaka 209*437bfbebSnyanmisaka struct { 210*437bfbebSnyanmisaka RK_U32 : 11; 211*437bfbebSnyanmisaka RK_U32 qp_sum : 21; 212*437bfbebSnyanmisaka } sw58; 213*437bfbebSnyanmisaka 214*437bfbebSnyanmisaka struct { 215*437bfbebSnyanmisaka RK_U32 : 8; 216*437bfbebSnyanmisaka RK_U32 slice_size : 7; 217*437bfbebSnyanmisaka RK_U32 strea_mmode : 1; 218*437bfbebSnyanmisaka RK_U32 inter4_restrict : 1; 219*437bfbebSnyanmisaka RK_U32 transform_8x8 : 1; 220*437bfbebSnyanmisaka RK_U32 : 2; 221*437bfbebSnyanmisaka RK_U32 cabac_enable : 1; 222*437bfbebSnyanmisaka RK_U32 cabac_init_idc : 2; 223*437bfbebSnyanmisaka RK_U32 : 1; 224*437bfbebSnyanmisaka RK_U32 deblocking : 2; 225*437bfbebSnyanmisaka RK_U32 : 2; 226*437bfbebSnyanmisaka RK_U32 disable_qp_mv : 1; 227*437bfbebSnyanmisaka RK_U32 : 3; 228*437bfbebSnyanmisaka } sw59; 229*437bfbebSnyanmisaka 230*437bfbebSnyanmisaka struct { 231*437bfbebSnyanmisaka RK_U32 y_fill : 4; 232*437bfbebSnyanmisaka RK_U32 x_fill : 2; 233*437bfbebSnyanmisaka RK_U32 : 2; 234*437bfbebSnyanmisaka RK_U32 skip_penalty : 8; 235*437bfbebSnyanmisaka RK_U32 start_offset : 6; 236*437bfbebSnyanmisaka RK_U32 : 10; 237*437bfbebSnyanmisaka } sw60; 238*437bfbebSnyanmisaka 239*437bfbebSnyanmisaka struct { 240*437bfbebSnyanmisaka RK_U32 row_length : 14; 241*437bfbebSnyanmisaka RK_U32 : 2; 242*437bfbebSnyanmisaka RK_U32 lum_offset : 3; 243*437bfbebSnyanmisaka RK_U32 : 1; 244*437bfbebSnyanmisaka RK_U32 chr_offset : 3; 245*437bfbebSnyanmisaka RK_U32 : 9; 246*437bfbebSnyanmisaka } sw61; 247*437bfbebSnyanmisaka 248*437bfbebSnyanmisaka struct { 249*437bfbebSnyanmisaka RK_U32 rlc_sum : 23; 250*437bfbebSnyanmisaka RK_U32 : 9; 251*437bfbebSnyanmisaka } sw62; 252*437bfbebSnyanmisaka 253*437bfbebSnyanmisaka struct { 254*437bfbebSnyanmisaka RK_U32 base_rec_lum : 32; 255*437bfbebSnyanmisaka } sw63; 256*437bfbebSnyanmisaka 257*437bfbebSnyanmisaka struct { 258*437bfbebSnyanmisaka RK_U32 base_rec_chr : 32; 259*437bfbebSnyanmisaka } sw64; 260*437bfbebSnyanmisaka 261*437bfbebSnyanmisaka struct { 262*437bfbebSnyanmisaka RK_U32 y1_quant_ac : 14; 263*437bfbebSnyanmisaka RK_U32 y1_zbin_ac : 9; 264*437bfbebSnyanmisaka RK_U32 y1_round_ac : 8; 265*437bfbebSnyanmisaka RK_U32 : 1; 266*437bfbebSnyanmisaka } sw65; 267*437bfbebSnyanmisaka 268*437bfbebSnyanmisaka struct { 269*437bfbebSnyanmisaka RK_U32 y2_quant_dc : 14; 270*437bfbebSnyanmisaka RK_U32 y2_zbin_dc : 9; 271*437bfbebSnyanmisaka RK_U32 y2_round_dc : 8; 272*437bfbebSnyanmisaka RK_U32 : 1; 273*437bfbebSnyanmisaka } sw66; 274*437bfbebSnyanmisaka 275*437bfbebSnyanmisaka struct { 276*437bfbebSnyanmisaka RK_U32 y2_quant_ac : 14; 277*437bfbebSnyanmisaka RK_U32 y2_zbin_ac : 9; 278*437bfbebSnyanmisaka RK_U32 y2_round_ac : 8; 279*437bfbebSnyanmisaka RK_U32 : 1; 280*437bfbebSnyanmisaka } sw67; 281*437bfbebSnyanmisaka 282*437bfbebSnyanmisaka struct { 283*437bfbebSnyanmisaka RK_U32 ch_quant_dc : 14; 284*437bfbebSnyanmisaka RK_U32 ch_zbin_dc : 9; 285*437bfbebSnyanmisaka RK_U32 ch_round_dc : 8; 286*437bfbebSnyanmisaka RK_U32 : 1; 287*437bfbebSnyanmisaka } sw68; 288*437bfbebSnyanmisaka 289*437bfbebSnyanmisaka struct { 290*437bfbebSnyanmisaka RK_U32 ch_quant_ac : 14; 291*437bfbebSnyanmisaka RK_U32 ch_zbin_ac : 9; 292*437bfbebSnyanmisaka RK_U32 ch_round_ac : 8; 293*437bfbebSnyanmisaka RK_U32 : 1; 294*437bfbebSnyanmisaka } sw69; 295*437bfbebSnyanmisaka 296*437bfbebSnyanmisaka struct { 297*437bfbebSnyanmisaka RK_U32 y1_dequant_dc : 8; 298*437bfbebSnyanmisaka RK_U32 y1_dequant_ac : 9; 299*437bfbebSnyanmisaka RK_U32 y2_dequant_dc : 9; 300*437bfbebSnyanmisaka RK_U32 mv_ref_idx : 2 ; 301*437bfbebSnyanmisaka RK_U32 : 4; 302*437bfbebSnyanmisaka } sw70; 303*437bfbebSnyanmisaka 304*437bfbebSnyanmisaka struct { 305*437bfbebSnyanmisaka RK_U32 y2_dequant_ac : 9; 306*437bfbebSnyanmisaka RK_U32 ch_dequant_dc : 8; 307*437bfbebSnyanmisaka RK_U32 ch_dequant_ac : 9; 308*437bfbebSnyanmisaka RK_U32 mv_ref_idx2 : 2; 309*437bfbebSnyanmisaka RK_U32 ref2_enable : 1; 310*437bfbebSnyanmisaka RK_U32 segment_enable : 1; 311*437bfbebSnyanmisaka RK_U32 segment_map_update : 1; 312*437bfbebSnyanmisaka RK_U32 : 1; 313*437bfbebSnyanmisaka } sw71; 314*437bfbebSnyanmisaka 315*437bfbebSnyanmisaka struct { 316*437bfbebSnyanmisaka RK_U32 bool_enc_value : 32; 317*437bfbebSnyanmisaka } sw72; 318*437bfbebSnyanmisaka 319*437bfbebSnyanmisaka struct { 320*437bfbebSnyanmisaka RK_U32 bool_enc_range : 8; 321*437bfbebSnyanmisaka RK_U32 bool_enc_value_bits : 5; 322*437bfbebSnyanmisaka RK_U32 dct_partition_count : 2; 323*437bfbebSnyanmisaka RK_U32 filter_level : 6; 324*437bfbebSnyanmisaka RK_U32 filter_sharpness : 3; 325*437bfbebSnyanmisaka RK_U32 golden_penalty : 8; 326*437bfbebSnyanmisaka } sw73; 327*437bfbebSnyanmisaka 328*437bfbebSnyanmisaka struct { 329*437bfbebSnyanmisaka RK_U32 nal_size_write : 1; 330*437bfbebSnyanmisaka RK_U32 : 1; 331*437bfbebSnyanmisaka RK_U32 input_rot : 2; 332*437bfbebSnyanmisaka RK_U32 input_format : 4; 333*437bfbebSnyanmisaka RK_U32 : 8; 334*437bfbebSnyanmisaka RK_U32 num_slices_ready : 8; 335*437bfbebSnyanmisaka RK_U32 mad_threshold : 6; 336*437bfbebSnyanmisaka RK_U32 : 2; 337*437bfbebSnyanmisaka } sw74; 338*437bfbebSnyanmisaka 339*437bfbebSnyanmisaka struct { 340*437bfbebSnyanmisaka RK_U32 inter_favor : 16; 341*437bfbebSnyanmisaka RK_U32 ip_intra_16_favor : 16; 342*437bfbebSnyanmisaka } sw75; 343*437bfbebSnyanmisaka 344*437bfbebSnyanmisaka struct { 345*437bfbebSnyanmisaka RK_U32 base_ref_lum2 : 32; 346*437bfbebSnyanmisaka } sw76; 347*437bfbebSnyanmisaka 348*437bfbebSnyanmisaka struct { 349*437bfbebSnyanmisaka RK_U32 base_stream : 32; 350*437bfbebSnyanmisaka } sw77; 351*437bfbebSnyanmisaka 352*437bfbebSnyanmisaka struct { 353*437bfbebSnyanmisaka RK_U32 base_control : 32; 354*437bfbebSnyanmisaka } sw78; 355*437bfbebSnyanmisaka 356*437bfbebSnyanmisaka struct { 357*437bfbebSnyanmisaka RK_U32 base_next_lum : 32; 358*437bfbebSnyanmisaka } sw79; 359*437bfbebSnyanmisaka 360*437bfbebSnyanmisaka struct { 361*437bfbebSnyanmisaka RK_U32 base_mv_write : 32; 362*437bfbebSnyanmisaka } sw80; 363*437bfbebSnyanmisaka 364*437bfbebSnyanmisaka struct { 365*437bfbebSnyanmisaka RK_U32 base_cabac_ctx : 32; 366*437bfbebSnyanmisaka } sw81; 367*437bfbebSnyanmisaka 368*437bfbebSnyanmisaka struct { 369*437bfbebSnyanmisaka RK_U32 roi1_right : 8; 370*437bfbebSnyanmisaka RK_U32 roi1_left : 8; 371*437bfbebSnyanmisaka RK_U32 roi1_bottom : 8; 372*437bfbebSnyanmisaka RK_U32 roi1_top : 8; 373*437bfbebSnyanmisaka } sw82; 374*437bfbebSnyanmisaka 375*437bfbebSnyanmisaka struct { 376*437bfbebSnyanmisaka RK_U32 roi2_right : 8; 377*437bfbebSnyanmisaka RK_U32 roi2_left : 8; 378*437bfbebSnyanmisaka RK_U32 roi2_bottom : 8; 379*437bfbebSnyanmisaka RK_U32 roi2_top : 8; 380*437bfbebSnyanmisaka } sw83; 381*437bfbebSnyanmisaka 382*437bfbebSnyanmisaka RK_U32 sw84_93[10]; 383*437bfbebSnyanmisaka 384*437bfbebSnyanmisaka struct { 385*437bfbebSnyanmisaka RK_U32 stab_gmvx : 6; 386*437bfbebSnyanmisaka RK_U32 stab_mode : 2; 387*437bfbebSnyanmisaka RK_U32 stab_minimum : 24; 388*437bfbebSnyanmisaka } sw94; 389*437bfbebSnyanmisaka 390*437bfbebSnyanmisaka struct { 391*437bfbebSnyanmisaka RK_U32 rgb_coeff_a : 16; 392*437bfbebSnyanmisaka RK_U32 rgb_coeff_b : 16; 393*437bfbebSnyanmisaka } sw95; 394*437bfbebSnyanmisaka 395*437bfbebSnyanmisaka struct { 396*437bfbebSnyanmisaka RK_U32 rgb_coeff_c : 16; 397*437bfbebSnyanmisaka RK_U32 rgb_coeff_e : 16; 398*437bfbebSnyanmisaka } sw96; 399*437bfbebSnyanmisaka 400*437bfbebSnyanmisaka struct { 401*437bfbebSnyanmisaka RK_U32 rgb_coeff_f : 16; 402*437bfbebSnyanmisaka RK_U32 : 16; 403*437bfbebSnyanmisaka } sw97; 404*437bfbebSnyanmisaka 405*437bfbebSnyanmisaka struct { 406*437bfbebSnyanmisaka RK_U32 r_mask_msb : 5; 407*437bfbebSnyanmisaka RK_U32 : 3; 408*437bfbebSnyanmisaka RK_U32 g_mask_msb : 5; 409*437bfbebSnyanmisaka RK_U32 : 3; 410*437bfbebSnyanmisaka RK_U32 b_mask_msb : 5; 411*437bfbebSnyanmisaka RK_U32 : 11; 412*437bfbebSnyanmisaka } sw98; 413*437bfbebSnyanmisaka 414*437bfbebSnyanmisaka struct { 415*437bfbebSnyanmisaka RK_U32 split_mv : 1; 416*437bfbebSnyanmisaka RK_U32 dmv_penalty_4p : 10; 417*437bfbebSnyanmisaka RK_U32 dmv_penalty_qp : 10; 418*437bfbebSnyanmisaka RK_U32 dmv_penalty_1p : 10; 419*437bfbebSnyanmisaka RK_U32 : 1; 420*437bfbebSnyanmisaka } sw99; 421*437bfbebSnyanmisaka 422*437bfbebSnyanmisaka struct { 423*437bfbebSnyanmisaka RK_U32 y1_quant_dc : 14; 424*437bfbebSnyanmisaka RK_U32 y1_zbin_dc : 9; 425*437bfbebSnyanmisaka RK_U32 y1_round_dc : 8; 426*437bfbebSnyanmisaka RK_U32 : 1; 427*437bfbebSnyanmisaka } sw100; 428*437bfbebSnyanmisaka 429*437bfbebSnyanmisaka RK_U32 sw101; 430*437bfbebSnyanmisaka 431*437bfbebSnyanmisaka struct { 432*437bfbebSnyanmisaka RK_U32 mvc_inter_view_flag : 1; 433*437bfbebSnyanmisaka RK_U32 mvc_temporal_id : 3; 434*437bfbebSnyanmisaka RK_U32 mvc_priority_id : 3; 435*437bfbebSnyanmisaka RK_U32 mvc_anchor_pic_flag : 1; 436*437bfbebSnyanmisaka RK_U32 mvc_view_id : 3; 437*437bfbebSnyanmisaka RK_U32 split_penalty_4x4 : 9; 438*437bfbebSnyanmisaka RK_U32 zero_mv_favor : 4; 439*437bfbebSnyanmisaka RK_U32 : 8; 440*437bfbebSnyanmisaka } sw102; 441*437bfbebSnyanmisaka 442*437bfbebSnyanmisaka struct { 443*437bfbebSnyanmisaka RK_U32 enable : 1; 444*437bfbebSnyanmisaka RK_U32 : 3; 445*437bfbebSnyanmisaka RK_U32 encoding_mode : 2; 446*437bfbebSnyanmisaka RK_U32 picture_type : 2; 447*437bfbebSnyanmisaka RK_U32 width : 9; 448*437bfbebSnyanmisaka RK_U32 : 3; 449*437bfbebSnyanmisaka RK_U32 height : 9; 450*437bfbebSnyanmisaka RK_U32 : 3; 451*437bfbebSnyanmisaka } sw103; 452*437bfbebSnyanmisaka 453*437bfbebSnyanmisaka struct { 454*437bfbebSnyanmisaka RK_U32 mad_count : 16; 455*437bfbebSnyanmisaka RK_U32 mb_count : 16; 456*437bfbebSnyanmisaka } sw104; 457*437bfbebSnyanmisaka 458*437bfbebSnyanmisaka struct { 459*437bfbebSnyanmisaka RK_U32 val : 32; 460*437bfbebSnyanmisaka } sw105; 461*437bfbebSnyanmisaka 462*437bfbebSnyanmisaka struct { 463*437bfbebSnyanmisaka RK_U32 base_ref_chr2 : 32; 464*437bfbebSnyanmisaka } sw106; 465*437bfbebSnyanmisaka 466*437bfbebSnyanmisaka struct { 467*437bfbebSnyanmisaka RK_U32 split_penalty_8x4 : 10; 468*437bfbebSnyanmisaka RK_U32 split_penalty_8x8 : 10; 469*437bfbebSnyanmisaka RK_U32 split_penalty_16x8 : 10; 470*437bfbebSnyanmisaka RK_U32 : 2; 471*437bfbebSnyanmisaka } sw107; 472*437bfbebSnyanmisaka 473*437bfbebSnyanmisaka struct { 474*437bfbebSnyanmisaka RK_U32 base_prob_count : 32; 475*437bfbebSnyanmisaka } sw108; 476*437bfbebSnyanmisaka 477*437bfbebSnyanmisaka struct { 478*437bfbebSnyanmisaka RK_U32 val : 16; 479*437bfbebSnyanmisaka RK_U32 int_slice_ready : 1; 480*437bfbebSnyanmisaka RK_U32 : 3; 481*437bfbebSnyanmisaka RK_U32 rec_write_disable : 1; 482*437bfbebSnyanmisaka RK_U32 : 3; 483*437bfbebSnyanmisaka RK_U32 mv_write : 1; 484*437bfbebSnyanmisaka RK_U32 : 7; 485*437bfbebSnyanmisaka } sw109; 486*437bfbebSnyanmisaka 487*437bfbebSnyanmisaka RK_U32 sw110_119[10]; 488*437bfbebSnyanmisaka 489*437bfbebSnyanmisaka struct { 490*437bfbebSnyanmisaka RK_U32 penalty_0 : 8; 491*437bfbebSnyanmisaka RK_U32 penalty_1 : 8; 492*437bfbebSnyanmisaka RK_U32 penalty_2 : 8; 493*437bfbebSnyanmisaka RK_U32 penalty_3 : 8; 494*437bfbebSnyanmisaka } sw120_183[64]; 495*437bfbebSnyanmisaka 496*437bfbebSnyanmisaka } Vp8eVepu2Reg_t; 497*437bfbebSnyanmisaka 498*437bfbebSnyanmisaka #endif /*__HAL_VP8E_VEPU2_REG_H__*/ 499