Home | History | Annotate | Download | only in decoder

Lines Matching refs:pc

44     VP8_COMMON *const pc = & pbi->common;
48 pc->Y1dequant[Q][0] = (short)vp8_dc_quant(Q, pc->y1dc_delta_q);
49 pc->Y2dequant[Q][0] = (short)vp8_dc2quant(Q, pc->y2dc_delta_q);
50 pc->UVdequant[Q][0] = (short)vp8_dc_uv_quant(Q, pc->uvdc_delta_q);
57 pc->Y1dequant[Q][rc] = (short)vp8_ac_yquant(Q);
58 pc->Y2dequant[Q][rc] = (short)vp8_ac2quant(Q, pc->y2ac_delta_q);
59 pc->UVdequant[Q][rc] = (short)vp8_ac_uv_quant(Q, pc->uvac_delta_q);
69 VP8_COMMON *const pc = & pbi->common;
81 QIndex = pc->base_qindex + xd->segment_feature_data[MB_LVL_ALT_Q][mbmi->segment_id];
86 QIndex = pc->base_qindex;
91 xd->block[i].dequant = pc->Y1dequant[QIndex];
96 xd->block[i].dequant = pc->UVdequant[QIndex];
99 xd->block[24].dequant = pc->Y2dequant[QIndex];
324 decode_mb_row(VP8D_COMP *pbi, VP8_COMMON *pc, int mb_row, MACROBLOCKD *xd)
330 int ref_fb_idx = pc->lst_fb_idx;
331 int dst_fb_idx = pc->new_fb_idx;
332 int recon_y_stride = pc->yv12_fb[ref_fb_idx].y_stride;
333 int recon_uv_stride = pc->yv12_fb[ref_fb_idx].uv_stride;
335 vpx_memset(&pc->left_context, 0, sizeof(pc->left_context));
340 xd->above_context = pc->above_context;
344 xd->mb_to_bottom_edge = ((pc->mb_rows - 1 - mb_row) * 16) << 3;
346 for (mb_col = 0; mb_col < pc->mb_cols; mb_col++)
362 xd->mb_to_right_edge = ((pc->mb_cols - 1 - mb_col) * 16) << 3;
364 xd->dst.y_buffer = pc->yv12_fb[dst_fb_idx].y_buffer + recon_yoffset;
365 xd->dst.u_buffer = pc->yv12_fb[dst_fb_idx].u_buffer + recon_uvoffset;
366 xd->dst.v_buffer = pc->yv12_fb[dst_fb_idx].v_buffer + recon_uvoffset;
372 ref_fb_idx = pc->lst_fb_idx;
374 ref_fb_idx = pc->gld_fb_idx;
376 ref_fb_idx = pc->alt_fb_idx;
378 xd->pre.y_buffer = pc->yv12_fb[ref_fb_idx].y_buffer + recon_yoffset;
379 xd->pre.u_buffer = pc->yv12_fb[ref_fb_idx].u_buffer + recon_uvoffset;
380 xd->pre.v_buffer = pc->yv12_fb[ref_fb_idx].v_buffer + recon_uvoffset;
385 xd->corrupted |= pc->yv12_fb[ref_fb_idx].corrupted;
388 vp8_build_uvmvs(xd, pc->full_pixel);
391 if(pc->current_video_frame==0 &&mb_col==1 && mb_row==0)
412 &pc->yv12_fb[dst_fb_idx],
433 VP8_COMMON *pc = &pbi->common;
439 pc->multi_token_partition = (TOKEN_PARTITION)vp8_read_literal(&pbi->bc, 2);
440 num_part = 1 << pc->multi_token_partition;
472 vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
477 vpx_internal_error(&pc->error, VPX_CODEC_MEM_ERROR,
495 VP8_COMMON *pc = &pbi->common;
497 if (pc->multi_token_partition != ONE_PARTITION)
503 VP8_COMMON *const pc = & pbi->common;
506 if (pc->frame_type == KEY_FRAME)
509 vpx_memcpy(pc->fc.mvc, vp8_default_mv_context, sizeof(vp8_default_mv_context));
511 vp8_init_mbmode_probs(pc);
513 vp8_default_coef_probs(pc);
514 vp8_kf_default_bmode_probs(pc->kf_bmode_prob);
525 pc->refresh_golden_frame = 1;
526 pc->refresh_alt_ref_frame = 1;
527 pc->copy_buffer_to_gf = 0;
528 pc->copy_buffer_to_arf = 0;
533 pc->ref_frame_sign_bias[GOLDEN_FRAME] = 0;
534 pc->ref_frame_sign_bias[ALTREF_FRAME] = 0;
538 if (!pc->use_bilinear_mc_filter)
539 pc->mcomp_filter_type = SIXTAP;
541 pc->mcomp_filter_type = BILINEAR;
544 if (pc->mcomp_filter_type == SIXTAP)
560 xd->left_context = &pc->left_context;
561 xd->mode_info_context = pc->mi;
562 xd->frame_type = pc->frame_type;
564 xd->mode_info_stride = pc->mode_info_stride;
571 VP8_COMMON *const pc = & pbi->common;
583 pc->yv12_fb[pc->new_fb_idx].corrupted = 0;
586 vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
588 pc->frame_type = (FRAME_TYPE)(data[0] & 1);
589 pc->version = (data[0] >> 1) & 7;
590 pc->show_frame = (data[0] >> 4) & 1;
597 vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
599 vp8_setup_version(pc);
601 if (pc->frame_type == KEY_FRAME)
603 const int Width = pc->Width;
604 const int Height = pc->Height;
608 vpx_internal_error(&pc->error, VPX_CODEC_UNSUP_BITSTREAM,
611 pc->Width = (data[3] | (data[4] << 8)) & 0x3fff;
612 pc->horiz_scale = data[4] >> 6;
613 pc->Height = (data[5] | (data[6] << 8)) & 0x3fff;
614 pc->vert_scale = data[6] >> 6;
617 if (Width != pc->Width || Height != pc->Height)
619 int prev_mb_rows = pc->mb_rows;
621 if (pc->Width <= 0)
623 pc->Width = Width;
624 vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
628 if (pc->Height <= 0)
630 pc->Height = Height;
631 vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
635 if (vp8_alloc_frame_buffers(pc, pc->Width, pc->Height))
636 vpx_internal_error(&pc->error, VPX_CODEC_MEM_ERROR,
641 vp8mt_alloc_temp_buffers(pbi, pc->Width, prev_mb_rows);
646 if (pc->Width == 0 || pc->Height == 0)
654 vpx_internal_error(&pc->error, VPX_CODEC_MEM_ERROR,
656 if (pc->frame_type == KEY_FRAME) {
657 pc->clr_type = (YUV_TYPE)vp8_read_bit(bc);
658 pc->clamp_type = (CLAMP_TYPE)vp8_read_bit(bc);
711 pc->filter_type = (LOOPFILTERTYPE) vp8_read_bit(bc);
712 pc->filter_level = vp8_read_literal(bc, 6);
713 pc->sharpness_level = vp8_read_literal(bc, 3);
762 pc->base_qindex = Q;
764 pc->y1dc_delta_q = get_delta_q(bc, pc->y1dc_delta_q, &q_update);
765 pc->y2dc_delta_q = get_delta_q(bc, pc->y2dc_delta_q, &q_update);
766 pc->y2ac_delta_q = get_delta_q(bc, pc->y2ac_delta_q, &q_update);
767 pc->uvdc_delta_q = get_delta_q(bc, pc->uvdc_delta_q, &q_update);
768 pc->uvac_delta_q = get_delta_q(bc, pc->uvac_delta_q, &q_update);
781 if (pc->frame_type != KEY_FRAME)
784 pc->refresh_golden_frame = vp8_read_bit(bc);
785 pc->refresh_alt_ref_frame = vp8_read_bit(bc);
788 pc->copy_buffer_to_gf = 0;
790 if (!pc->refresh_golden_frame)
791 pc->copy_buffer_to_gf = vp8_read_literal(bc, 2);
793 pc->copy_buffer_to_arf = 0;
795 if (!pc->refresh_alt_ref_frame)
796 pc->copy_buffer_to_arf = vp8_read_literal(bc, 2);
798 pc->ref_frame_sign_bias[GOLDEN_FRAME] = vp8_read_bit(bc);
799 pc->ref_frame_sign_bias[ALTREF_FRAME] = vp8_read_bit(bc);
802 pc->refresh_entropy_probs = vp8_read_bit(bc);
803 if (pc->refresh_entropy_probs == 0)
805 vpx_memcpy(&pc->lfc, &pc->fc, sizeof(pc->fc));
808 pc->refresh_last_frame = pc->frame_type == KEY_FRAME || vp8_read_bit(bc);
814 pc->current_video_frame,
815 pc->frame_type,
816 pc->refresh_golden_frame,
817 pc->refresh_alt_ref_frame,
818 pc->refresh_last_frame,
819 pc->base_qindex);
833 vp8_prob *const p = pc->fc.coef_probs [i][j][k] + l;
843 vpx_memcpy(&xd->pre, &pc->yv12_fb[pc->lst_fb_idx], sizeof(YV12_BUFFER_CONFIG));
844 vpx_memcpy(&xd->dst, &pc->yv12_fb[pc->new_fb_idx], sizeof(YV12_BUFFER_CONFIG));
848 if (!(pbi->b_multithreaded_rd) || pc->multi_token_partition == ONE_PARTITION || !(pc->filter_level))
850 vp8_setup_intra_recon(&pc->yv12_fb[pc->new_fb_idx]);
860 pc->mb_no_coeff_skip = (int)vp8_read_bit(bc);
865 vpx_memset(pc->above_context, 0, sizeof(ENTROPY_CONTEXT_PLANES) * pc->mb_cols);
870 if (pbi->b_multithreaded_rd && pc->multi_token_partition != ONE_PARTITION)
877 pc->last_frame_type = pc->frame_type;
878 pc->last_filter_type = pc->filter_type;
879 pc->last_sharpness_level = pc->sharpness_level;
881 vp8_yv12_extend_frame_borders_ptr(&pc->yv12_fb[pc->new_fb_idx]); /*cm->frame_to_show);*/
887 int num_part = 1 << pc->multi_token_partition;
890 for (mb_row = 0; mb_row < pc->mb_rows; mb_row++)
902 decode_mb_row(pbi, pc, mb_row, xd);
911 pc->yv12_fb[pc->new_fb_idx].corrupted =
914 pc->yv12_fb[pc->new_fb_idx].corrupted |=
920 if ((pc->frame_type == KEY_FRAME) ||
921 pc->refresh_golden_frame || pc->refresh_alt_ref_frame)
923 pc->last_kf_gf_q = pc->base_qindex;
926 if (pc->refresh_entropy_probs == 0)
928 vpx_memcpy(&pc->fc, &pc->lfc, sizeof(pc->fc));