Lines Matching defs:ps_proc

116 void ih264e_derive_nghbr_avbl_of_mbs(process_ctxt_t *ps_proc)
118 UWORD8 *pu1_slice_idx_curr = ps_proc->pu1_slice_idx;
127 i4_mb_x = ps_proc->i4_mb_x;
128 i4_mb_y = ps_proc->i4_mb_y;
130 i4_wd_mbs = ps_proc->i4_wd_mbs;
137 ps_ngbr_avbl = ps_proc->ps_ngbr_avbl;
326 void ih264e_evaluate_intra16x16_modes_for_least_cost_rdoptoff(process_ctxt_t *ps_proc)
329 codec_t *ps_codec = ps_proc->ps_codec;
335 UWORD32 u4_lambda = ps_proc->u4_lambda;
344 UWORD8 *pu1_ngbr_pels_i16 = ps_proc->au1_ngbr_pels;
350 UWORD8 *pu1_curr_mb = ps_proc->pu1_src_buf_luma;
351 UWORD8 *pu1_ref_mb = ps_proc->pu1_rec_buf_luma;
354 UWORD8 *pu1_pred_mb_intra_16x16 = ps_proc->pu1_pred_mb_intra_16x16;
355 UWORD8 *pu1_pred_mb_intra_16x16_plane = ps_proc->pu1_pred_mb_intra_16x16_plane;
358 WORD32 i4_src_strd = ps_proc->i4_src_strd;
359 WORD32 i4_pred_strd = ps_proc->i4_pred_strd;
360 WORD32 i4_rec_strd = ps_proc->i4_rec_strd;
375 mb_info_t *ps_top_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
376 UWORD32 u4_constrained_intra_pred = ps_proc->ps_codec->s_cfg.u4_constrained_intra_pred;
379 if (ps_proc->i4_slice_type != ISLICE)
382 offset = (ps_proc->i4_slice_type == PSLICE) ? 5 : 23;
383 u4_enable_fast_sad = ps_proc->s_me_ctxt.u4_enable_fast_sad;
391 u1_mb_a = ((ps_proc->ps_ngbr_avbl->u1_mb_a)
392 && (u4_constrained_intra_pred ? ps_proc->s_left_mb_syntax_ele.u2_is_intra : 1));
403 u1_mb_b = ((ps_proc->ps_ngbr_avbl->u1_mb_b)
414 u1_mb_d = ((ps_proc->ps_ngbr_avbl->u1_mb_d)
415 && (u4_constrained_intra_pred ? ps_proc->s_top_left_mb_syntax_ele.u2_is_intra : 1));
426 ps_proc->i4_ngbr_avbl_16x16_mb = i4_ngbr_avbl;
444 ps_proc->i4_slice_type == ISLICE))
469 ps_proc->u1_l_i16_mode = u4_best_intra_16x16_mode;
476 if (i4_mb_cost_least < ps_proc->i4_mb_cost)
478 ps_proc->i4_mb_cost = i4_mb_cost_least;
479 ps_proc->i4_mb_distortion = i4_mb_distortion_least;
480 ps_proc->u4_mb_type = I16x16;
518 void ih264e_evaluate_intra8x8_modes_for_least_cost_rdoptoff(process_ctxt_t *ps_proc)
521 codec_t *ps_codec = ps_proc->ps_codec;
527 UWORD32 u4_lambda = ps_proc->u4_lambda;
539 UWORD8 *pu1_ngbr_pels_i8 = ps_proc->au1_ngbr_pels;
545 UWORD8 *pu1_pred_mb = ps_proc->pu1_pred_mb;
548 WORD32 i4_src_strd = ps_proc->i4_src_strd;
549 WORD32 i4_pred_strd = ps_proc->i4_pred_strd;
562 UWORD32 u4_constrained_intra_pred = ps_proc->ps_codec->s_cfg.u4_constrained_intra_pred;
566 UWORD8 *pu1_top_mb_intra_modes = ps_proc->pu1_top_mb_intra_modes + (ps_proc->i4_mb_x << 4);
567 mb_info_t *ps_top_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
568 mb_info_t *ps_top_right_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
572 if (ps_proc->ps_ngbr_avbl->u1_mb_c)
574 ps_top_right_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + (ps_proc->i4_mb_x + 1);
577 s_ngbr_avbl_MB.u1_mb_a = ((ps_proc->ps_ngbr_avbl->u1_mb_a)
578 && (u4_constrained_intra_pred ? ps_proc->s_left_mb_syntax_ele.u2_is_intra : 1));
581 s_ngbr_avbl_MB.u1_mb_b = ((ps_proc->ps_ngbr_avbl->u1_mb_b)
585 s_ngbr_avbl_MB.u1_mb_d = ((ps_proc->ps_ngbr_avbl->u1_mb_d)
586 && (u4_constrained_intra_pred ? ps_proc->s_top_left_mb_syntax_ele.u2_is_intra : 1));
589 s_ngbr_avbl_MB.u1_mb_c = ((ps_proc->ps_ngbr_avbl->u1_mb_c)
598 pu1_mb_curr = ps_proc->pu1_src_buf_luma + u4_pix_x + (u4_pix_y * i4_src_strd);
620 ps_proc->ai4_neighbor_avail_8x8_subblks[b8] = i4_ngbr_avbl;
660 if (ps_proc->s_left_mb_syntax_ele.u2_mb_type == I8x8)
662 u4_left_intra_8x8_mode = ps_proc->au1_left_mb_intra_modes[b8+1];
664 else if (ps_proc->s_left_mb_syntax_ele.u2_mb_type == I4x4)
666 u4_left_intra_8x8_mode = ps_proc->au1_left_mb_intra_modes[(b8+1)*4+2];
671 u4_left_intra_8x8_mode = ps_proc->au1_intra_luma_mb_8x8_modes[b8-1];
687 u4_top_intra_8x8_mode = ps_proc->au1_intra_luma_mb_8x8_modes[b8-2];
719 ps_proc->au1_intra_luma_mb_8x8_modes[b8] = u4_best_intra_8x8_mode;
724 if (i4_total_cost < ps_proc->i4_mb_cost)
726 ps_proc->i4_mb_cost = i4_total_cost;
727 ps_proc->i4_mb_distortion = i4_total_distortion;
728 ps_proc->u4_mb_type = I8x8;
770 void ih264e_evaluate_intra4x4_modes_for_least_cost_rdoptoff(process_ctxt_t *ps_proc)
773 codec_t *ps_codec = ps_proc->ps_codec;
779 UWORD32 u4_lambda = ps_proc->u4_lambda;
791 UWORD8 *pu1_ngbr_pels_i4 = ps_proc->au1_ngbr_pels;
797 UWORD8 *pu1_pred_mb = ps_proc->pu1_pred_mb;
800 WORD32 i4_src_strd = ps_proc->i4_src_strd;
801 WORD32 i4_pred_strd = ps_proc->i4_pred_strd;
820 UWORD8 *pu1_top_mb_intra_modes = ps_proc->pu1_top_mb_intra_modes + (ps_proc->i4_mb_x << 4);
821 mb_info_t *ps_top_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
822 mb_info_t *ps_top_right_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
828 UWORD32 u4_constrained_intra_pred = ps_proc->ps_codec->s_cfg.u4_constrained_intra_pred;
830 if (ps_proc->ps_ngbr_avbl->u1_mb_c)
832 ps_top_right_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x + 1;
835 u1_mb_a = ((ps_proc->ps_ngbr_avbl->u1_mb_a)
836 && (u4_constrained_intra_pred ? ps_proc->s_left_mb_syntax_ele.u2_is_intra : 1));
839 u1_mb_b = ((ps_proc->ps_ngbr_avbl->u1_mb_b)
843 u1_mb_d = ((ps_proc->ps_ngbr_avbl->u1_mb_d)
844 && (u4_constrained_intra_pred ? ps_proc->s_top_left_mb_syntax_ele.u2_is_intra : 1));
847 u1_mb_c = ((ps_proc->ps_ngbr_avbl->u1_mb_c)
851 memcpy(ps_proc->au1_ngbr_avbl_4x4_subblks, gau1_ih264_4x4_ngbr_avbl[i4_ngbr_avbl], 16);
862 pu1_mb_curr = ps_proc->pu1_src_buf_luma + u4_pix_x + (u4_pix_y * i4_src_strd);
875 i4_ngbr_avbl = ps_proc->au1_ngbr_avbl_4x4_subblks[(b8 << 2) + b4];
936 if (ps_proc->s_left_mb_syntax_ele.u2_mb_type == I4x4)
938 u4_left_intra_4x4_mode = ps_proc->au1_left_mb_intra_modes[u1_scan_order[3 + u4_pix_y]];
940 else if (ps_proc->s_left_mb_syntax_ele.u2_mb_type == I8x8)
942 u4_left_intra_4x4_mode = ps_proc->au1_left_mb_intra_modes[b8 + 1];
947 u4_left_intra_4x4_mode = ps_proc->au1_intra_luma_mb_4x4_modes[u1_scan_order[(u4_pix_x >> 2) + u4_pix_y - 1]];
963 u4_top_intra_4x4_mode = ps_proc->au1_intra_luma_mb_4x4_modes[u1_scan_order[(u4_pix_x >> 2) + u4_pix_y - 4]];
969 ps_proc->au1_predicted_intra_luma_mb_4x4_modes[(b8 << 2) + b4] = u4_estimated_intra_4x4_mode;
990 ps_proc->au1_intra_luma_mb_4x4_modes[(b8 << 2) + b4] = u4_best_intra_4x4_mode;
995 if (i4_total_cost < ps_proc->i4_mb_cost)
997 ps_proc->i4_mb_cost = i4_total_cost;
998 ps_proc->i4_mb_distortion = i4_total_distortion;
999 ps_proc->u4_mb_type = I4x4;
1039 void ih264e_evaluate_intra4x4_modes_for_least_cost_rdopton(process_ctxt_t *ps_proc)
1042 codec_t *ps_codec = ps_proc->ps_codec;
1048 UWORD32 u4_lambda = ps_proc->u4_lambda;
1060 UWORD8 *pu1_ngbr_pels_i4 = ps_proc->au1_ngbr_pels;
1068 WORD16 *pi2_res_mb = ps_proc->pi2_res_buf_intra_4x4;
1071 UWORD8 *pu1_pred_mb = ps_proc->pu1_pred_mb;
1074 WORD32 i4_src_strd = ps_proc->i4_src_strd;
1075 WORD32 i4_pred_strd = ps_proc->i4_pred_strd;
1085 UWORD8 *pu1_nnz = (UWORD8 *)ps_proc->au4_nnz_intra_4x4;
1088 quant_params_t *ps_qp_params = ps_proc->ps_qp_params[0];
1101 UWORD8 *pu1_top_mb_intra_modes = ps_proc->pu1_top_mb_intra_modes + (ps_proc->i4_mb_x << 4);
1102 mb_info_t *ps_top_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
1103 mb_info_t *ps_top_right_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
1112 UWORD32 u4_constrained_intra_pred = ps_proc->ps_codec->s_cfg.u4_constrained_intra_pred;
1115 if (ps_proc->ps_ngbr_avbl->u1_mb_c)
1117 ps_top_right_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + (ps_proc->i4_mb_x + 1);
1121 u1_mb_a = ((ps_proc->ps_ngbr_avbl->u1_mb_a)
1122 && (u4_constrained_intra_pred ? ps_proc->s_left_mb_syntax_ele.u2_is_intra : 1));
1125 u1_mb_b = ((ps_proc->ps_ngbr_avbl->u1_mb_b)
1129 u1_mb_d = ((ps_proc->ps_ngbr_avbl->u1_mb_d)
1130 && (u4_constrained_intra_pred ? ps_proc->s_top_left_mb_syntax_ele.u2_is_intra : 1));
1133 u1_mb_c = ((ps_proc->ps_ngbr_avbl->u1_mb_c)
1137 memcpy(ps_proc->au1_ngbr_avbl_4x4_subblks, gau1_ih264_4x4_ngbr_avbl[i4_ngbr_avbl], 16);
1148 pu1_ref_mb_intra_4x4 = ps_proc->pu1_ref_mb_intra_4x4 + u4_pix_x + (u4_pix_y * i4_pred_strd);
1149 pu1_mb_curr = ps_proc->pu1_src_buf_luma + u4_pix_x + (u4_pix_y * i4_src_strd);
1152 i4_ref_strd_left = ps_proc->i4_rec_strd;
1153 pu1_mb_ref_left = ps_proc->pu1_rec_buf_luma + u4_pix_x + (u4_pix_y * i4_ref_strd_left);
1162 i4_ref_strd_top = ps_proc->i4_rec_strd;
1163 pu1_mb_ref_top = ps_proc->pu1_rec_buf_luma + u4_pix_x + (u4_pix_y * i4_ref_strd_top);
1184 i4_ngbr_avbl = ps_proc->au1_ngbr_avbl_4x4_subblks[(b8 << 2) + b4];
1242 if (ps_proc->s_left_mb_syntax_ele.u2_mb_type == I4x4)
1244 u4_left_intra_4x4_mode = ps_proc->au1_left_mb_intra_modes[u1_scan_order[3 + u4_pix_y]];
1246 else if (ps_proc->s_left_mb_syntax_ele.u2_mb_type == I8x8)
1248 u4_left_intra_4x4_mode = ps_proc->au1_left_mb_intra_modes[b8 + 1];
1253 u4_left_intra_4x4_mode = ps_proc->au1_intra_luma_mb_4x4_modes[u1_scan_order[(u4_pix_x >> 2) + u4_pix_y - 1]];
1269 u4_top_intra_4x4_mode = ps_proc->au1_intra_luma_mb_4x4_modes[u1_scan_order[(u4_pix_x >> 2) + u4_pix_y - 4]];
1275 ps_proc->au1_predicted_intra_luma_mb_4x4_modes[(b8 << 2) + b4] = u4_estimated_intra_4x4_mode;
1298 ps_proc->au1_intra_luma_mb_4x4_modes[(b8 << 2) + b4] = u4_best_intra_4x4_mode;
1327 ps_proc->pv_scratch_buff, 0,
1333 if (i4_total_cost < ps_proc->i4_mb_cost)
1335 ps_proc->i4_mb_cost = i4_total_cost;
1336 ps_proc->i4_mb_distortion = i4_total_distortion;
1337 ps_proc->u4_mb_type = I4x4;
1365 void ih264e_evaluate_chroma_intra8x8_modes_for_least_cost_rdoptoff(process_ctxt_t *ps_proc)
1368 codec_t *ps_codec = ps_proc->ps_codec;
1377 UWORD8 *pu1_ngbr_pels_c_i8x8 = ps_proc->au1_ngbr_pels;
1380 UWORD8 *pu1_curr_mb = ps_proc->pu1_src_buf_chroma;
1381 UWORD8 *pu1_ref_mb = ps_proc->pu1_rec_buf_chroma;
1384 UWORD8 *pu1_pred_mb = ps_proc->pu1_pred_mb_intra_chroma;
1385 UWORD8 *pu1_pred_mb_plane = ps_proc->pu1_pred_mb_intra_chroma_plane;
1388 WORD32 i4_src_strd_c = ps_proc->i4_src_chroma_strd;
1389 WORD32 i4_pred_strd = ps_proc->i4_pred_strd;
1390 WORD32 i4_rec_strd_c = ps_proc->i4_rec_strd;
1403 mb_info_t *ps_top_mb_syn_ele = ps_proc->ps_top_row_mb_syntax_ele + ps_proc->i4_mb_x;
1407 UWORD32 u4_constrained_intra_pred = ps_proc->ps_codec->s_cfg.u4_constrained_intra_pred;
1413 u1_mb_a = ((ps_proc->ps_ngbr_avbl->u1_mb_a)
1414 && (u4_constrained_intra_pred ? ps_proc->s_left_mb_syntax_ele.u2_is_intra : 1));
1429 u1_mb_b = ((ps_proc->ps_ngbr_avbl->u1_mb_b)
1441 u1_mb_d = ((ps_proc->ps_ngbr_avbl->u1_mb_d)
1442 && (u4_constrained_intra_pred ? ps_proc->s_top_left_mb_syntax_ele.u2_is_intra : 1));
1449 ps_proc->i4_chroma_neighbor_avail_8x8_mb = i4_ngbr_avbl;
1487 ps_proc->u1_c_i8_mode = u4_best_chroma_intra_8x8_mode;