Lines Matching refs:ps_dec

54 void ih264d_deblock_mb_level(dec_struct_t *ps_dec,
58 void ih264d_copy_intra_pred_line(dec_struct_t *ps_dec,
62 void ih264d_parse_tfr_nmb(dec_struct_t * ps_dec, in ih264d_parse_tfr_nmb() argument
71 const UWORD32 u1_mbaff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag; in ih264d_parse_tfr_nmb()
80 u4_n_mb_start = (ps_dec->u2_cur_mb_addr + 1) - u1_num_mbs; in ih264d_parse_tfr_nmb()
85 u4_mb_num = (ps_dec->u2_cur_mb_addr + 1) - u1_num_mbs; in ih264d_parse_tfr_nmb()
89 UPDATE_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map, u4_mb_num, in ih264d_parse_tfr_nmb()
90 ps_dec->u2_cur_slice_num); in ih264d_parse_tfr_nmb()
92 UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_dec_mb_map, u4_mb_num); in ih264d_parse_tfr_nmb()
112 ps_dec->s_tran_addrecon_parse.pu1_dest_y += in ih264d_parse_tfr_nmb()
113 ps_dec->s_tran_addrecon_parse.u4_inc_y[u1_end_of_row]; in ih264d_parse_tfr_nmb()
114 ps_dec->s_tran_addrecon_parse.pu1_dest_u += in ih264d_parse_tfr_nmb()
115 ps_dec->s_tran_addrecon_parse.u4_inc_uv[u1_end_of_row]; in ih264d_parse_tfr_nmb()
116 ps_dec->s_tran_addrecon_parse.pu1_dest_v += in ih264d_parse_tfr_nmb()
117 ps_dec->s_tran_addrecon_parse.u4_inc_uv[u1_end_of_row]; in ih264d_parse_tfr_nmb()
124 ps_dec->ps_top_mb_row = ps_dec->ps_cur_mb_row; in ih264d_parse_tfr_nmb()
125 ps_dec->ps_cur_mb_row += ((ps_dec->u2_frm_wd_in_mbs) << u1_mbaff); in ih264d_parse_tfr_nmb()
127 u2_mb_y = ps_dec->u2_mby + (1 + u1_mbaff); in ih264d_parse_tfr_nmb()
128 u4_frame_stride = ps_dec->u2_frm_wd_y in ih264d_parse_tfr_nmb()
129 << ps_dec->ps_cur_slice->u1_field_pic_flag; in ih264d_parse_tfr_nmb()
131 ps_dec->s_tran_addrecon_parse.pu1_dest_y = in ih264d_parse_tfr_nmb()
132 ps_dec->s_cur_pic.pu1_buf1 + y_offset; in ih264d_parse_tfr_nmb()
134 u4_frame_stride = ps_dec->u2_frm_wd_uv in ih264d_parse_tfr_nmb()
135 << ps_dec->ps_cur_slice->u1_field_pic_flag; in ih264d_parse_tfr_nmb()
137 ps_dec->s_tran_addrecon_parse.pu1_dest_u = in ih264d_parse_tfr_nmb()
138 ps_dec->s_cur_pic.pu1_buf2 + y_offset; in ih264d_parse_tfr_nmb()
139 ps_dec->s_tran_addrecon_parse.pu1_dest_v = in ih264d_parse_tfr_nmb()
140 ps_dec->s_cur_pic.pu1_buf3 + y_offset; in ih264d_parse_tfr_nmb()
144 ps_dec->ps_deblk_mbn += u1_num_mbs; in ih264d_parse_tfr_nmb()
152 ps_dec->s_tran_addrecon.u2_mv_left_inc = ((u1_num_mbs >> u1_mbaff) - 1) in ih264d_parse_tfr_nmb()
154 ps_dec->s_tran_addrecon.u2_mv_top_left_inc = (u1_num_mbs << 2) - 1 in ih264d_parse_tfr_nmb()
158 ps_dec->ps_mv_left = ps_dec->ps_mv_cur in ih264d_parse_tfr_nmb()
159 + ps_dec->s_tran_addrecon.u2_mv_left_inc; in ih264d_parse_tfr_nmb()
161 ps_dec->ps_mv_cur += (u1_num_mbs << 4); in ih264d_parse_tfr_nmb()
162 ps_dec->u4_num_mbs_prev_nmb = u1_num_mbs; in ih264d_parse_tfr_nmb()
167 void ih264d_decode_tfr_nmb(dec_struct_t * ps_dec, in ih264d_decode_tfr_nmb() argument
175 const UWORD32 u1_mbaff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag; in ih264d_decode_tfr_nmb()
181 ((u1_num_mbs_next) <= (ps_dec->u1_recon_mb_grp >> u1_mbaff)); in ih264d_decode_tfr_nmb()
193 ps_dec->i2_dec_thread_mb_y += (1 << u1_mbaff); in ih264d_decode_tfr_nmb()
195 ih264d_transfer_mb_group_data(ps_dec, u1_num_mbs, u1_end_of_row, in ih264d_decode_tfr_nmb()
200 WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec, in ih264d_decode_recon_tfr_nmb_thread() argument
208 const UWORD32 u1_mbaff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag; in ih264d_decode_recon_tfr_nmb_thread()
217 u1_slice_type = ps_dec->ps_decode_cur_slice->slice_type; in ih264d_decode_recon_tfr_nmb_thread()
226 u2_cur_dec_mb_num = ps_dec->cur_dec_mb_num; in ih264d_decode_recon_tfr_nmb_thread()
231 …UWORD32 u4_max_mb = (UWORD32)(ps_dec->i2_dec_thread_mb_y + (1 << u1_mbaff)) * ps_dec->u2_frm_wd_in… in ih264d_decode_recon_tfr_nmb_thread()
236 CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_dec_mb_map, u4_cond); in ih264d_decode_recon_tfr_nmb_thread()
250 if(ps_dec->u4_output_present && (2 == ps_dec->u4_num_cores) && in ih264d_decode_recon_tfr_nmb_thread()
251 (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht)) in ih264d_decode_recon_tfr_nmb_thread()
253 ps_dec->u4_fmt_conv_num_rows = in ih264d_decode_recon_tfr_nmb_thread()
255 (ps_dec->s_disp_frame_info.u4_y_ht in ih264d_decode_recon_tfr_nmb_thread()
256 - ps_dec->u4_fmt_conv_cur_row)); in ih264d_decode_recon_tfr_nmb_thread()
257 ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op), in ih264d_decode_recon_tfr_nmb_thread()
258 ps_dec->u4_fmt_conv_cur_row, in ih264d_decode_recon_tfr_nmb_thread()
259 ps_dec->u4_fmt_conv_num_rows); in ih264d_decode_recon_tfr_nmb_thread()
260 ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows; in ih264d_decode_recon_tfr_nmb_thread()
275 GET_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map, u2_cur_dec_mb_num, in ih264d_decode_recon_tfr_nmb_thread()
278 if(u2_slice_num != ps_dec->u2_cur_slice_num_dec_thread) in ih264d_decode_recon_tfr_nmb_thread()
280 ps_dec->u4_cur_slice_decode_done = 1; in ih264d_decode_recon_tfr_nmb_thread()
284 ps_cur_mb_info = &ps_dec->ps_frm_mb_info[u2_cur_dec_mb_num]; in ih264d_decode_recon_tfr_nmb_thread()
286 ps_dec->u4_dma_buf_idx = 0; in ih264d_decode_recon_tfr_nmb_thread()
287 ps_dec->u4_pred_info_idx = 0; in ih264d_decode_recon_tfr_nmb_thread()
300 ps_pred_pkd = ps_dec->ps_pred_pkd + u4_pred_info_pkd_idx; in ih264d_decode_recon_tfr_nmb_thread()
302 ps_dec->p_form_mb_part_info_thread(ps_pred_pkd,ps_dec, in ih264d_decode_recon_tfr_nmb_thread()
311 ps_dec->p_mc_dec_thread(ps_dec, ps_cur_mb_info); in ih264d_decode_recon_tfr_nmb_thread()
324 ps_pred_pkd = ps_dec->ps_pred_pkd + u4_pred_info_pkd_idx; in ih264d_decode_recon_tfr_nmb_thread()
326 ps_dec->p_form_mb_part_info_thread(ps_pred_pkd,ps_dec, in ih264d_decode_recon_tfr_nmb_thread()
336 ps_dec->p_mc_dec_thread(ps_dec, ps_cur_mb_info); in ih264d_decode_recon_tfr_nmb_thread()
345 ps_cur_mb_info = &ps_dec->ps_frm_mb_info[ps_dec->cur_dec_mb_num]; in ih264d_decode_recon_tfr_nmb_thread()
347 if((ps_dec->u4_num_cores == 2) || !ps_dec->i1_recon_in_thread3_flag) in ih264d_decode_recon_tfr_nmb_thread()
351 ih264d_process_inter_mb(ps_dec, ps_cur_mb_info, j); in ih264d_decode_recon_tfr_nmb_thread()
358 ih264d_process_intra_mb(ps_dec, ps_cur_mb_info, j); in ih264d_decode_recon_tfr_nmb_thread()
363 if(ps_dec->u4_use_intrapred_line_copy == 1) in ih264d_decode_recon_tfr_nmb_thread()
364 ih264d_copy_intra_pred_line(ps_dec, ps_cur_mb_info, j); in ih264d_decode_recon_tfr_nmb_thread()
374 + ps_dec->u2_frm_wd_in_mbs in ih264d_decode_recon_tfr_nmb_thread()
376 UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num); in ih264d_decode_recon_tfr_nmb_thread()
387 + ps_dec->u2_frm_wd_in_mbs * ps_cur_mb_info->u2_mby; in ih264d_decode_recon_tfr_nmb_thread()
388 UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num); in ih264d_decode_recon_tfr_nmb_thread()
390 ps_dec->cur_dec_mb_num++; in ih264d_decode_recon_tfr_nmb_thread()
394 if(ps_dec->u4_nmb_deblk == 1) in ih264d_decode_recon_tfr_nmb_thread()
397 tfr_ctxt_t *ps_tfr_cxt = &(ps_dec->s_tran_addrecon); in ih264d_decode_recon_tfr_nmb_thread()
398 UWORD8 u1_field_pic_flag = ps_dec->ps_cur_slice->u1_field_pic_flag; in ih264d_decode_recon_tfr_nmb_thread()
400 ps_dec->ps_cur_pps->i1_chroma_qp_index_offset; in ih264d_decode_recon_tfr_nmb_thread()
402 ps_dec->ps_cur_pps->i1_second_chroma_qp_index_offset; in ih264d_decode_recon_tfr_nmb_thread()
404 u4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag; in ih264d_decode_recon_tfr_nmb_thread()
405 u4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag; in ih264d_decode_recon_tfr_nmb_thread()
407 ps_cur_mb_info = &ps_dec->ps_frm_mb_info[ps_dec->u4_cur_deblk_mb_num]; in ih264d_decode_recon_tfr_nmb_thread()
409 ps_dec->u4_deblk_mb_x = ps_cur_mb_info->u2_mbx; in ih264d_decode_recon_tfr_nmb_thread()
410 ps_dec->u4_deblk_mb_y = ps_cur_mb_info->u2_mby; in ih264d_decode_recon_tfr_nmb_thread()
415 ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt, in ih264d_decode_recon_tfr_nmb_thread()
423 if(ps_dec->cur_dec_mb_num > ps_dec->ps_cur_sps->u2_max_mb_addr) in ih264d_decode_recon_tfr_nmb_thread()
424 ps_dec->u4_cur_slice_decode_done = 1; in ih264d_decode_recon_tfr_nmb_thread()
433 ih264d_decode_tfr_nmb(ps_dec, (i), u1_num_mbs_next, u1_end_of_row); in ih264d_decode_recon_tfr_nmb_thread()
438 WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec) in ih264d_decode_slice_thread() argument
441 const UWORD32 i2_pic_wdin_mbs = ps_dec->u2_frm_wd_in_mbs; in ih264d_decode_slice_thread()
455 UWORD32 u4_mb_num = ps_dec->cur_dec_mb_num; in ih264d_decode_slice_thread()
458 CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_dec_mb_map, u4_cond); in ih264d_decode_slice_thread()
470 else if(ps_dec->u4_output_present && (2 == ps_dec->u4_num_cores) && in ih264d_decode_slice_thread()
471 (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht)) in ih264d_decode_slice_thread()
473 ps_dec->u4_fmt_conv_num_rows = in ih264d_decode_slice_thread()
475 (ps_dec->s_disp_frame_info.u4_y_ht in ih264d_decode_slice_thread()
476 - ps_dec->u4_fmt_conv_cur_row)); in ih264d_decode_slice_thread()
477 ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op), in ih264d_decode_slice_thread()
478 ps_dec->u4_fmt_conv_cur_row, in ih264d_decode_slice_thread()
479 ps_dec->u4_fmt_conv_num_rows); in ih264d_decode_slice_thread()
480 ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows; in ih264d_decode_slice_thread()
488 ps_dec->u2_cur_mb_addr); in ih264d_decode_slice_thread()
495 u1_mbaff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag; in ih264d_decode_slice_thread()
497 u2_first_mb_in_slice = ps_dec->ps_decode_cur_slice->u4_first_mb_in_slice; in ih264d_decode_slice_thread()
502 ps_dec->i2_dec_thread_mb_y = i16_mb_y; in ih264d_decode_slice_thread()
505 ps_dec->cur_dec_mb_num = u2_first_mb_in_slice << u1_mbaff; in ih264d_decode_slice_thread()
507 if((ps_dec->u4_num_cores == 2) || !ps_dec->i1_recon_in_thread3_flag) in ih264d_decode_slice_thread()
509 ps_dec->pv_proc_tu_coeff_data = in ih264d_decode_slice_thread()
510 (void *) ps_dec->ps_decode_cur_slice->pv_tu_coeff_data_start; in ih264d_decode_slice_thread()
514 u1_field_pic = ps_dec->ps_cur_slice->u1_field_pic_flag; in ih264d_decode_slice_thread()
515 u4_frame_stride = ps_dec->u2_frm_wd_y << u1_field_pic; in ih264d_decode_slice_thread()
519 ps_trns_addr = &(ps_dec->s_tran_addrecon); in ih264d_decode_slice_thread()
521 ps_trns_addr->pu1_dest_y = ps_dec->s_cur_pic.pu1_buf1 + x_offset + y_offset; in ih264d_decode_slice_thread()
523 u4_frame_stride = ps_dec->u2_frm_wd_uv << u1_field_pic; in ih264d_decode_slice_thread()
529 ps_trns_addr->pu1_dest_u = ps_dec->s_cur_pic.pu1_buf2 + x_offset + y_offset; in ih264d_decode_slice_thread()
530 ps_trns_addr->pu1_dest_v = ps_dec->s_cur_pic.pu1_buf3 + x_offset + y_offset; in ih264d_decode_slice_thread()
539 ps_dec->ps_deblk_mbn_dec_thrd = ps_dec->ps_deblk_pic in ih264d_decode_slice_thread()
545 ps_dec->p_mc_dec_thread = ih264d_motion_compensate_bp; in ih264d_decode_slice_thread()
546 ps_dec->p_form_mb_part_info_thread = ih264d_form_mb_part_info_bp; in ih264d_decode_slice_thread()
550 uc_nofield_nombaff = ((ps_dec->ps_cur_slice->u1_field_pic_flag == 0) in ih264d_decode_slice_thread()
551 && (ps_dec->ps_cur_slice->u1_mbaff_frame_flag == 0) in ih264d_decode_slice_thread()
552 && (ps_dec->ps_decode_cur_slice->slice_type != B_SLICE) in ih264d_decode_slice_thread()
553 && (ps_dec->ps_cur_pps->u1_wted_pred_flag == 0)); in ih264d_decode_slice_thread()
557 ps_dec->p_mc_dec_thread = ih264d_motion_compensate_mp; in ih264d_decode_slice_thread()
558 ps_dec->p_form_mb_part_info_thread = ih264d_form_mb_part_info_mp; in ih264d_decode_slice_thread()
563 ps_dec->u4_cur_slice_decode_done = 0; in ih264d_decode_slice_thread()
566 while(ps_dec->u4_cur_slice_decode_done != 1) in ih264d_decode_slice_thread()
571 if(u1_num_mbsleft <= ps_dec->u1_recon_mb_grp) in ih264d_decode_slice_thread()
582 u1_num_mbs = ps_dec->u1_recon_mb_grp; in ih264d_decode_slice_thread()
586 - (ps_dec->u1_recon_mb_grp >> u1_mbaff); in ih264d_decode_slice_thread()
591 ret = ih264d_decode_recon_tfr_nmb_thread(ps_dec, u1_num_mbs, u1_num_mbs_next, in ih264d_decode_slice_thread()
599 void ih264d_decode_picture_thread(dec_struct_t *ps_dec ) in ih264d_decode_picture_thread() argument
608 ih264d_decode_slice_thread(ps_dec); in ih264d_decode_picture_thread()
612 if(ps_dec->cur_dec_mb_num in ih264d_decode_picture_thread()
613 > ps_dec->ps_cur_sps->u2_max_mb_addr) in ih264d_decode_picture_thread()
620 ps_dec->ps_decode_cur_slice++; in ih264d_decode_picture_thread()
621 ps_dec->u2_cur_slice_num_dec_thread++; in ih264d_decode_picture_thread()
625 if(ps_dec->u4_output_present && (2 == ps_dec->u4_num_cores) && in ih264d_decode_picture_thread()
626 (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht)) in ih264d_decode_picture_thread()
628 ps_dec->u4_fmt_conv_num_rows = in ih264d_decode_picture_thread()
629 (ps_dec->s_disp_frame_info.u4_y_ht in ih264d_decode_picture_thread()
630 - ps_dec->u4_fmt_conv_cur_row); in ih264d_decode_picture_thread()
631 ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op), in ih264d_decode_picture_thread()
632 ps_dec->u4_fmt_conv_cur_row, in ih264d_decode_picture_thread()
633 ps_dec->u4_fmt_conv_num_rows); in ih264d_decode_picture_thread()
634 ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows; in ih264d_decode_picture_thread()
638 void ih264d_signal_decode_thread(dec_struct_t *ps_dec) in ih264d_signal_decode_thread() argument
640 if(ps_dec->u4_dec_thread_created == 1) in ih264d_signal_decode_thread()
642 ithread_join(ps_dec->pv_dec_thread_handle, NULL); in ih264d_signal_decode_thread()
643 ps_dec->u4_dec_thread_created = 0; in ih264d_signal_decode_thread()
646 void ih264d_signal_bs_deblk_thread(dec_struct_t *ps_dec) in ih264d_signal_bs_deblk_thread() argument
648 if(ps_dec->u4_bs_deblk_thread_created) in ih264d_signal_bs_deblk_thread()
650 ithread_join(ps_dec->pv_bs_deblk_thread_handle, NULL); in ih264d_signal_bs_deblk_thread()
651 ps_dec->u4_bs_deblk_thread_created = 0; in ih264d_signal_bs_deblk_thread()