Home | History | Annotate | Download | only in decoder

Lines Matching refs:pbi

49 static void read_kf_modes(VP8D_COMP *pbi, MODE_INFO *mi)
51 vp8_reader *const bc = & pbi->mbc[8];
52 const int mis = pbi->common.mode_info_stride;
151 static void mb_mode_mv_init(VP8D_COMP *pbi)
153 vp8_reader *const bc = & pbi->mbc[8];
154 MV_CONTEXT *const mvc = pbi->common.fc.mvc;
160 pbi->mvs_corrupt_from_mb = UINT_MAX;
163 pbi->common.mb_no_coeff_skip = (int)vp8_read_bit(bc);
165 pbi->prob_skip_false = 0;
166 if (pbi->common.mb_no_coeff_skip)
167 pbi->prob_skip_false = (vp8_prob)vp8_read_literal(bc, 8);
169 if(pbi->common.frame_type != KEY_FRAME)
171 pbi->prob_intra = (vp8_prob)vp8_read_literal(bc, 8);
172 pbi->prob_last = (vp8_prob)vp8_read_literal(bc, 8);
173 pbi->prob_gf = (vp8_prob)vp8_read_literal(bc, 8);
181 pbi->common.fc.ymode_prob[i] =
193 pbi->common.fc.uv_mode_prob[i] =
339 static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi)
341 vp8_reader *const bc = & pbi->mbc[8];
342 mbmi->ref_frame = (MV_REFERENCE_FRAME) vp8_read(bc, pbi->prob_intra);
350 const int mis = pbi->mb.mode_info_stride;
354 int *ref_frame_sign_bias = pbi->common.ref_frame_sign_bias;
358 if (vp8_read(bc, pbi->prob_last))
361 (MV_REFERENCE_FRAME)((int)(2 + vp8_read(bc, pbi->prob_gf)));
457 MV_CONTEXT *const mvc = pbi->common.fc.mvc;
460 mb_to_top_edge = pbi->mb.mb_to_top_edge;
461 mb_to_bottom_edge = pbi->mb.mb_to_bottom_edge;
464 mb_to_right_edge = pbi->mb.mb_to_right_edge;
466 mb_to_left_edge = pbi->mb.mb_to_left_edge;
473 vp8_clamp_mv2(&near_mvs[near_index], &pbi->mb);
516 vp8_clamp_mv2(&mbmi->mv, &pbi->mb);
523 vp8_clamp_mv2(&mbmi->mv, &pbi->mb);
533 if(pbi->ec_enabled && (mbmi->mode != SPLITMV))
560 if ((mbmi->mode = read_ymode(bc, pbi->common.fc.ymode_prob)) == B_PRED)
566 mi->bmi[j].as_mode = read_bmode(bc, pbi->common.fc.bmode_prob);
571 mbmi->uv_mode = read_uv_mode(bc, pbi->common.fc.uv_mode_prob);
591 static void decode_mb_mode_mvs(VP8D_COMP *pbi, MODE_INFO *mi)
597 if (pbi->mb.update_mb_segmentation_map)
598 read_mb_features(&pbi->mbc[8], &mi->mbmi, &pbi->mb);
599 else if(pbi->common.frame_type == KEY_FRAME)
604 if (pbi->common.mb_no_coeff_skip)
605 mi->mbmi.mb_skip_coeff = vp8_read(&pbi->mbc[8], pbi->prob_skip_false);
610 if(pbi->common.frame_type == KEY_FRAME)
611 read_kf_modes(pbi, mi);
613 read_mb_modes_mv(pbi, mi, &mi->mbmi);
617 void vp8_decode_mode_mvs(VP8D_COMP *pbi)
619 MODE_INFO *mi = pbi->common.mi;
623 mb_mode_mv_init(pbi);
625 pbi->mb.mb_to_top_edge = 0;
626 pbi->mb.mb_to_bottom_edge = ((pbi->common.mb_rows - 1) * 16) << 3;
627 mb_to_right_edge_start = ((pbi->common.mb_cols - 1) * 16) << 3;
629 while (++mb_row < pbi->common.mb_rows)
633 pbi->mb.mb_to_left_edge = 0;
634 pbi->mb.mb_to_right_edge = mb_to_right_edge_start;
636 while (++mb_col < pbi->common.mb_cols)
639 int mb_num = mb_row * pbi->common.mb_cols + mb_col;
642 decode_mb_mode_mvs(pbi, mi);
647 if (vp8dx_bool_error(&pbi->mbc[8]) && mb_num <
648 (int)pbi->mvs_corrupt_from_mb)
650 pbi->mvs_corrupt_from_mb = mb_num;
658 pbi->mb.mb_to_left_edge -= (16 << 3);
659 pbi->mb.mb_to_right_edge -= (16 << 3);
662 pbi->mb.mb_to_top_edge -= (16 << 3);
663 pbi->mb.mb_to_bottom_edge -= (16 << 3);