Lines Matching refs:ps_proc
93 process_ctxt_t *ps_proc,
109 void ihevcd_proc_map_check(process_ctxt_t *ps_proc, proc_type_t proc_type, WORD32 nctb) in ihevcd_proc_map_check() argument
111 tile_t *ps_tile = ps_proc->ps_tile; in ihevcd_proc_map_check()
112 sps_t *ps_sps = ps_proc->ps_sps; in ihevcd_proc_map_check()
113 pps_t *ps_pps = ps_proc->ps_pps; in ihevcd_proc_map_check()
114 codec_t *ps_codec = ps_proc->ps_codec; in ihevcd_proc_map_check()
120 if(ps_proc->i4_check_proc_status) in ihevcd_proc_map_check()
134 if(ps_proc->i4_ctb_y > 0) in ihevcd_proc_map_check()
136 x_pos = (ps_proc->i4_ctb_tile_x + nctb); in ihevcd_proc_map_check()
142 idx += ((ps_proc->i4_ctb_y - 1) in ihevcd_proc_map_check()
151 ps_pps = ps_proc->ps_pps; in ihevcd_proc_map_check()
155 if((ps_proc->i4_ctb_x > 0) && ((0 != status))) in ihevcd_proc_map_check()
157 x_pos = ps_tile->u1_pos_x + ps_proc->i4_ctb_tile_x - 1; in ihevcd_proc_map_check()
158 idx = x_pos + (ps_proc->i4_ctb_y * ps_sps->i2_pic_wd_in_ctb); in ihevcd_proc_map_check()
164 if((ps_proc->i4_ctb_x > 0) && (0 != status) && (ps_proc->i4_ctb_y > 0)) in ihevcd_proc_map_check()
166 x_pos = ps_tile->u1_pos_x + ps_proc->i4_ctb_tile_x - 1; in ihevcd_proc_map_check()
167 idx = x_pos + ((ps_proc->i4_ctb_y - 1) * ps_sps->i2_pic_wd_in_ctb); in ihevcd_proc_map_check()
195 void ihevcd_proc_map_update(process_ctxt_t *ps_proc, proc_type_t proc_type, WORD32 nctb) in ihevcd_proc_map_update() argument
197 codec_t *ps_codec = ps_proc->ps_codec; in ihevcd_proc_map_update()
203 if(ps_proc->i4_check_proc_status) in ihevcd_proc_map_update()
207 sps_t *ps_sps = ps_proc->ps_sps; in ihevcd_proc_map_update()
209 idx = (ps_proc->i4_ctb_x + i); in ihevcd_proc_map_update()
210 idx += ((ps_proc->i4_ctb_y) * ps_sps->i2_pic_wd_in_ctb); in ihevcd_proc_map_update()
218 void ihevcd_slice_hdr_update(process_ctxt_t *ps_proc) in ihevcd_slice_hdr_update() argument
223 if(!((ps_proc->i4_ctb_x == 0) && (ps_proc->i4_ctb_y == 0))) in ihevcd_slice_hdr_update()
225 …slice_header_t *ps_slice_hdr_next = ps_proc->ps_codec->ps_slice_hdr_base + ((ps_proc->i4_cur_slice… in ihevcd_slice_hdr_update()
227 if((ps_slice_hdr_next->i2_ctb_x == ps_proc->i4_ctb_x) in ihevcd_slice_hdr_update()
228 && (ps_slice_hdr_next->i2_ctb_y == ps_proc->i4_ctb_y)) in ihevcd_slice_hdr_update()
232 ps_proc->i4_ctb_slice_x = 0; in ihevcd_slice_hdr_update()
233 ps_proc->i4_ctb_slice_y = 0; in ihevcd_slice_hdr_update()
236 ps_proc->i4_cur_slice_idx++; in ihevcd_slice_hdr_update()
237 ps_proc->ps_slice_hdr = ps_slice_hdr_next; in ihevcd_slice_hdr_update()
243 void ihevcd_ctb_pos_update(process_ctxt_t *ps_proc, WORD32 nctb) in ihevcd_ctb_pos_update() argument
246 slice_header_t *ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_ctb_pos_update()
247 tile_t *ps_tile = ps_proc->ps_tile; in ihevcd_ctb_pos_update()
248 sps_t *ps_sps = ps_proc->ps_sps; in ihevcd_ctb_pos_update()
251 ps_proc->i4_ctb_tile_x += nctb; in ihevcd_ctb_pos_update()
252 ps_proc->i4_ctb_x += nctb; in ihevcd_ctb_pos_update()
254 ps_proc->i4_ctb_slice_x += nctb; in ihevcd_ctb_pos_update()
256 if(ps_proc->ps_pps->i1_tiles_enabled_flag) in ihevcd_ctb_pos_update()
271 if(ps_proc->i4_ctb_x > ps_slice_hdr->i2_ctb_x) in ihevcd_ctb_pos_update()
273 if(ps_proc->i4_ctb_slice_x >= (ps_tile->u2_wd + ps_tile->u1_pos_x)) in ihevcd_ctb_pos_update()
275 ps_proc->i4_ctb_slice_y++; in ihevcd_ctb_pos_update()
276 ps_proc->i4_ctb_slice_x = ps_proc->i4_ctb_slice_x in ihevcd_ctb_pos_update()
283 if(ps_proc->i4_ctb_slice_x >= (temp_stride + ps_tile->u2_wd + ps_tile->u1_pos_x)) in ihevcd_ctb_pos_update()
285 ps_proc->i4_ctb_slice_y++; in ihevcd_ctb_pos_update()
286 ps_proc->i4_ctb_slice_x = ps_proc->i4_ctb_slice_x in ihevcd_ctb_pos_update()
292 else if(ps_proc->i4_ctb_slice_x >= (ps_tile->u2_wd)) in ihevcd_ctb_pos_update()
295 ps_proc->i4_ctb_slice_y++; in ihevcd_ctb_pos_update()
296 ps_proc->i4_ctb_slice_x = 0; in ihevcd_ctb_pos_update()
301 if(ps_proc->i4_ctb_slice_x >= ps_tile->u2_wd) in ihevcd_ctb_pos_update()
303 ps_proc->i4_ctb_slice_y++; in ihevcd_ctb_pos_update()
304 ps_proc->i4_ctb_slice_x = ps_proc->i4_ctb_slice_x in ihevcd_ctb_pos_update()
310 void ihevcd_ctb_avail_update(process_ctxt_t *ps_proc) in ihevcd_ctb_avail_update() argument
312 slice_header_t *ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_ctb_avail_update()
313 sps_t *ps_sps = ps_proc->ps_sps; in ihevcd_ctb_avail_update()
315 tile_t *ps_tile = ps_proc->ps_tile; in ihevcd_ctb_avail_update()
352 cur_ctb_idx = ps_proc->i4_ctb_x in ihevcd_ctb_avail_update()
353 + ps_proc->i4_ctb_y * (ps_sps->i2_pic_wd_in_ctb); in ihevcd_ctb_avail_update()
357 ps_proc->u1_top_ctb_avail = 1; in ihevcd_ctb_avail_update()
358 ps_proc->u1_left_ctb_avail = 1; in ihevcd_ctb_avail_update()
359 ps_proc->u1_top_lt_ctb_avail = 1; in ihevcd_ctb_avail_update()
360 ps_proc->u1_top_rt_ctb_avail = 1; in ihevcd_ctb_avail_update()
363 if((0 == ps_proc->i4_ctb_y) || (0 == ps_proc->i4_ctb_tile_y)) in ihevcd_ctb_avail_update()
365 ps_proc->u1_top_ctb_avail = 0; in ihevcd_ctb_avail_update()
366 ps_proc->u1_top_lt_ctb_avail = 0; in ihevcd_ctb_avail_update()
367 ps_proc->u1_top_rt_ctb_avail = 0; in ihevcd_ctb_avail_update()
370 if((0 == ps_proc->i4_ctb_x) || (0 == ps_proc->i4_ctb_tile_x)) in ihevcd_ctb_avail_update()
372 ps_proc->u1_left_ctb_avail = 0; in ihevcd_ctb_avail_update()
373 ps_proc->u1_top_lt_ctb_avail = 0; in ihevcd_ctb_avail_update()
374 if((0 == ps_proc->i4_ctb_slice_y) || (0 == ps_proc->i4_ctb_tile_y)) in ihevcd_ctb_avail_update()
376 ps_proc->u1_top_ctb_avail = 0; in ihevcd_ctb_avail_update()
377 if((i2_wd_in_ctb - 1) != ps_proc->i4_ctb_slice_x) in ihevcd_ctb_avail_update()
379 ps_proc->u1_top_rt_ctb_avail = 0; in ihevcd_ctb_avail_update()
384 else if(ps_proc->i4_ctb_x > 0) in ihevcd_ctb_avail_update()
386 if((0 == ps_proc->i4_ctb_slice_y) || (0 == ps_proc->i4_ctb_tile_y)) in ihevcd_ctb_avail_update()
388 ps_proc->u1_top_ctb_avail = 0; in ihevcd_ctb_avail_update()
389 ps_proc->u1_top_lt_ctb_avail = 0; in ihevcd_ctb_avail_update()
390 if(0 == ps_proc->i4_ctb_slice_x) in ihevcd_ctb_avail_update()
392 ps_proc->u1_left_ctb_avail = 0; in ihevcd_ctb_avail_update()
394 if((i2_wd_in_ctb - 1) != ps_proc->i4_ctb_slice_x) in ihevcd_ctb_avail_update()
396 ps_proc->u1_top_rt_ctb_avail = 0; in ihevcd_ctb_avail_update()
399 else if((1 == ps_proc->i4_ctb_slice_y) && (0 == ps_proc->i4_ctb_slice_x)) in ihevcd_ctb_avail_update()
401 ps_proc->u1_top_lt_ctb_avail = 0; in ihevcd_ctb_avail_update()
405 …if((ps_proc->i4_ctb_x == (ps_sps->i2_pic_wd_in_ctb - 1)) || ((ps_tile->u2_wd - 1) == ps_proc->i4_c… in ihevcd_ctb_avail_update()
407 ps_proc->u1_top_rt_ctb_avail = 0; in ihevcd_ctb_avail_update()
415 if(ps_tile->u2_wd == (ps_proc->i4_ctb_tile_x + 1)) in ihevcd_ctb_avail_update()
417 if((ps_proc->i4_ctb_tile_y + 1) == ps_tile->u2_ht) in ihevcd_ctb_avail_update()
420 …if(((ps_proc->i4_ctb_tile_y + 1 + ps_tile->u1_pos_y) == ps_sps->i2_pic_ht_in_ctb) && ((ps_proc->i4… in ihevcd_ctb_avail_update()
426 tile_t *ps_tile_next = ps_proc->ps_tile + 1; in ihevcd_ctb_avail_update()
432 …next_ctb_idx = ((ps_tile->u1_pos_y + ps_proc->i4_ctb_tile_y + 1) * ps_sps->i2_pic_wd_in_ctb) + ps_… in ihevcd_ctb_avail_update()
435 ps_proc->i4_next_pu_ctb_cnt = next_ctb_idx; in ihevcd_ctb_avail_update()
436 ps_proc->i4_ctb_pu_cnt = in ihevcd_ctb_avail_update()
437 ps_proc->pu4_pic_pu_idx[next_ctb_idx] in ihevcd_ctb_avail_update()
438 - ps_proc->pu4_pic_pu_idx[cur_ctb_idx]; in ihevcd_ctb_avail_update()
439 cur_pu_idx = ps_proc->pu4_pic_pu_idx[cur_ctb_idx]; in ihevcd_ctb_avail_update()
440 ps_proc->i4_ctb_start_pu_idx = cur_pu_idx; in ihevcd_ctb_avail_update()
441 ps_proc->ps_pu = &ps_proc->ps_pic_pu[cur_pu_idx]; in ihevcd_ctb_avail_update()
445 void ihevcd_update_ctb_tu_cnt(process_ctxt_t *ps_proc) in ihevcd_update_ctb_tu_cnt() argument
447 sps_t *ps_sps = ps_proc->ps_sps; in ihevcd_update_ctb_tu_cnt()
448 codec_t *ps_codec = ps_proc->ps_codec; in ihevcd_update_ctb_tu_cnt()
451 cur_ctb_idx = ps_proc->i4_ctb_x in ihevcd_update_ctb_tu_cnt()
452 + ps_proc->i4_ctb_y * (ps_sps->i2_pic_wd_in_ctb); in ihevcd_update_ctb_tu_cnt()
457 ps_tile = ps_proc->ps_tile; in ihevcd_update_ctb_tu_cnt()
463 if(ps_tile->u2_wd == (ps_proc->i4_ctb_tile_x + 1)) in ihevcd_update_ctb_tu_cnt()
465 if((ps_proc->i4_ctb_tile_y + 1) == ps_tile->u2_ht) in ihevcd_update_ctb_tu_cnt()
468 …if(((ps_proc->i4_ctb_tile_y + 1 + ps_tile->u1_pos_y) == ps_sps->i2_pic_ht_in_ctb) && ((ps_proc->i4… in ihevcd_update_ctb_tu_cnt()
474 tile_t *ps_tile_next = ps_proc->ps_tile + 1; in ihevcd_update_ctb_tu_cnt()
480 …next_ctb_tu_idx = ((ps_tile->u1_pos_y + ps_proc->i4_ctb_tile_y + 1) * ps_sps->i2_pic_wd_in_ctb) + … in ihevcd_update_ctb_tu_cnt()
483 ps_proc->i4_next_tu_ctb_cnt = next_ctb_tu_idx; in ihevcd_update_ctb_tu_cnt()
484 …ps_proc->i4_ctb_tu_cnt = ps_proc->pu4_pic_tu_idx[next_ctb_tu_idx] - ps_proc->pu4_pic_tu_idx[cur_ct… in ihevcd_update_ctb_tu_cnt()
489 if(ps_tile->u2_wd == (ps_proc->i4_ctb_tile_x + 1)) in ihevcd_update_ctb_tu_cnt()
491 if((ps_proc->i4_ctb_tile_y + 1) == ps_tile->u2_ht) in ihevcd_update_ctb_tu_cnt()
494 …if(((ps_proc->i4_ctb_tile_y + 1 + ps_tile->u1_pos_y) == ps_sps->i2_pic_ht_in_ctb) && ((ps_proc->i4… in ihevcd_update_ctb_tu_cnt()
500 tile_t *ps_tile_next = ps_proc->ps_tile + 1; in ihevcd_update_ctb_tu_cnt()
506 …next_ctb_tu_idx = ((ps_tile->u1_pos_y + ps_proc->i4_ctb_tile_y + 1) * ps_sps->i2_pic_wd_in_ctb) + … in ihevcd_update_ctb_tu_cnt()
509 ps_proc->i4_next_tu_ctb_cnt = next_ctb_tu_idx; in ihevcd_update_ctb_tu_cnt()
510 ps_proc->i4_ctb_tu_cnt = ps_proc->pu4_pic_tu_idx[next_ctb_tu_idx] - in ihevcd_update_ctb_tu_cnt()
511 ps_proc->pu4_pic_tu_idx[cur_ctb_idx]; in ihevcd_update_ctb_tu_cnt()
516 IHEVCD_ERROR_T ihevcd_process(process_ctxt_t *ps_proc) in ihevcd_process() argument
520 sps_t *ps_sps = ps_proc->ps_sps; in ihevcd_process()
539 ps_codec = ps_proc->ps_codec; in ihevcd_process()
542 nctb = MIN(ps_codec->i4_proc_nctb, ps_proc->i4_ctb_cnt); in ihevcd_process()
543 nctb = MIN(nctb, (ps_proc->ps_tile->u2_wd - ps_proc->i4_ctb_tile_x)); in ihevcd_process()
545 if(ps_proc->i4_cur_slice_idx > (MAX_SLICE_HDR_CNT - 2 * ps_sps->i2_pic_wd_in_ctb)) in ihevcd_process()
551 num_ctb = ps_proc->i4_nctb; in ihevcd_process()
553 nxt_ctb_slice_y = ps_proc->i4_ctb_slice_y; in ihevcd_process()
554 nxt_ctb_slice_x = ps_proc->i4_ctb_slice_x; in ihevcd_process()
555 pu1_pu_map_nxt = ps_proc->pu1_pu_map; in ihevcd_process()
556 ps_tu_nxt = ps_proc->ps_tu; in ihevcd_process()
558 while(ps_proc->i4_ctb_cnt) in ihevcd_process()
560 ps_proc->i4_ctb_slice_y = nxt_ctb_slice_y; in ihevcd_process()
561 ps_proc->i4_ctb_slice_x = nxt_ctb_slice_x; in ihevcd_process()
562 ps_proc->pu1_pu_map = pu1_pu_map_nxt; in ihevcd_process()
563 ps_proc->ps_tu = ps_tu_nxt; in ihevcd_process()
565 cur_ctb_tile_x = ps_proc->i4_ctb_tile_x; in ihevcd_process()
566 cur_ctb_tile_y = ps_proc->i4_ctb_tile_y; in ihevcd_process()
567 cur_ctb_slice_x = ps_proc->i4_ctb_slice_x; in ihevcd_process()
568 cur_ctb_slice_y = ps_proc->i4_ctb_slice_y; in ihevcd_process()
569 cur_slice_idx = ps_proc->i4_cur_slice_idx; in ihevcd_process()
570 ps_tu_cur = ps_proc->ps_tu; in ihevcd_process()
571 pu1_pu_map_cur = ps_proc->pu1_pu_map; in ihevcd_process()
574 if(ps_proc->i4_ctb_cnt < num_ctb) in ihevcd_process()
576 num_ctb = ps_proc->i4_ctb_cnt; in ihevcd_process()
583 tile_t *ps_tile = ps_proc->ps_tile; in ihevcd_process()
590 if(ps_proc->i4_check_parse_status || ps_proc->i4_check_proc_status) in ihevcd_process()
599 if(ps_proc->i4_check_parse_status) in ihevcd_process()
601 idx = (ps_proc->i4_ctb_x + nctb - 1); in ihevcd_process()
602 idx += (ps_proc->i4_ctb_y * ps_sps->i2_pic_wd_in_ctb); in ihevcd_process()
628 ihevcd_proc_map_check(ps_proc, proc_type, nctb); in ihevcd_process()
630 ihevcd_slice_hdr_update(ps_proc); in ihevcd_process()
631 ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_process()
646 ihevcd_ctb_avail_update(ps_proc); in ihevcd_process()
649 … au1_pic_avail_ctb_flags[ps_proc->i4_ctb_x + ps_proc->i4_ctb_y * ps_sps->i2_pic_wd_in_ctb] = in ihevcd_process()
650 …((ps_proc->u1_top_ctb_avail << 3) | (ps_proc->u1_left_ctb_avail << 2) | (ps_proc->u1_top_lt_ctb_av… in ihevcd_process()
651 … au4_pic_ctb_slice_xy[ps_proc->i4_ctb_x + ps_proc->i4_ctb_y * ps_sps->i2_pic_wd_in_ctb] = in ihevcd_process()
652 … (((UWORD16)ps_proc->i4_ctb_slice_x << 16) | ((UWORD16)ps_proc->i4_ctb_slice_y << 16)); in ihevcd_process()
663 pu4_ctb_top_pu_idx = ps_proc->pu4_pic_pu_idx_top in ihevcd_process()
664 + (ps_proc->i4_ctb_x * ctb_size / MIN_PU_SIZE); in ihevcd_process()
665 pu4_ctb_left_pu_idx = ps_proc->pu4_pic_pu_idx_left; in ihevcd_process()
666 pu4_ctb_top_left_pu_idx = &ps_proc->u4_ctb_top_left_pu_idx; in ihevcd_process()
671 s_mv_ctxt.ps_pps = ps_proc->ps_pps; in ihevcd_process()
672 s_mv_ctxt.ps_sps = ps_proc->ps_sps; in ihevcd_process()
673 s_mv_ctxt.ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_process()
674 s_mv_ctxt.i4_ctb_x = ps_proc->i4_ctb_x; in ihevcd_process()
675 s_mv_ctxt.i4_ctb_y = ps_proc->i4_ctb_y; in ihevcd_process()
676 s_mv_ctxt.ps_pu = ps_proc->ps_pu; in ihevcd_process()
677 s_mv_ctxt.ps_pic_pu = ps_proc->ps_pic_pu; in ihevcd_process()
679 s_mv_ctxt.pu4_pic_pu_idx_map = ps_proc->pu4_pic_pu_idx_map; in ihevcd_process()
680 s_mv_ctxt.pu4_pic_pu_idx = ps_proc->pu4_pic_pu_idx; in ihevcd_process()
681 s_mv_ctxt.pu1_pic_pu_map = ps_proc->pu1_pic_pu_map; in ihevcd_process()
682 s_mv_ctxt.i4_ctb_pu_cnt = ps_proc->i4_ctb_pu_cnt; in ihevcd_process()
683 s_mv_ctxt.i4_ctb_start_pu_idx = ps_proc->i4_ctb_start_pu_idx; in ihevcd_process()
684 s_mv_ctxt.u1_top_ctb_avail = ps_proc->u1_top_ctb_avail; in ihevcd_process()
685 s_mv_ctxt.u1_top_rt_ctb_avail = ps_proc->u1_top_rt_ctb_avail; in ihevcd_process()
686 s_mv_ctxt.u1_top_lt_ctb_avail = ps_proc->u1_top_lt_ctb_avail; in ihevcd_process()
687 s_mv_ctxt.u1_left_ctb_avail = ps_proc->u1_left_ctb_avail; in ihevcd_process()
693 ihevcd_inter_pred_ctb(ps_proc); in ihevcd_process()
700 UWORD8 *pu1_pic_pu_map_ctb = ps_proc->pu1_pic_pu_map + in ihevcd_process()
701 … (ps_proc->i4_ctb_x + ps_proc->i4_ctb_y * ps_sps->i2_pic_wd_in_ctb) * num_minpu_in_ctb; in ihevcd_process()
703 UWORD32 *pu4_nbr_pu_idx = ps_proc->pu4_pic_pu_idx_map; in ihevcd_process()
716 cur_ctb_idx = ps_proc->i4_ctb_x in ihevcd_process()
717 + ps_proc->i4_ctb_y * (ps_sps->i2_pic_wd_in_ctb); in ihevcd_process()
718 next_ctb_idx = ps_proc->i4_next_pu_ctb_cnt; in ihevcd_process()
719 num_pu_per_ctb = ps_proc->pu4_pic_pu_idx[next_ctb_idx] in ihevcd_process()
720 - ps_proc->pu4_pic_pu_idx[cur_ctb_idx]; in ihevcd_process()
721 ctb_start_pu_idx = ps_proc->pu4_pic_pu_idx[cur_ctb_idx]; in ihevcd_process()
722 ps_pu = &ps_proc->ps_pic_pu[ctb_start_pu_idx]; in ihevcd_process()
743 - (ps_proc->i4_ctb_y << ps_sps->i1_log2_ctb_size); in ihevcd_process()
748 …ps_proc->u4_ctb_top_left_pu_idx = ps_proc->pu4_pic_pu_idx_top[((ps_proc->i4_ctb_x + 1) * ctb_size … in ihevcd_process()
753 ps_proc->pu4_pic_pu_idx_left[i] = in ihevcd_process()
757 … ps_proc->pu4_pic_pu_idx_top[(ps_proc->i4_ctb_x * ctb_size / MIN_PU_SIZE) + i] = in ihevcd_process()
765 if(ps_proc->ps_pps->i1_tiles_enabled_flag) in ihevcd_process()
768 UWORD16 *pu1_tile_idx = ps_proc->pu1_tile_idx; in ihevcd_process()
769 pu1_tile_idx[(ps_proc->i4_ctb_x + (ps_proc->i4_ctb_y * ps_sps->i2_pic_wd_in_ctb))] in ihevcd_process()
770 = ps_proc->i4_cur_tile_idx; in ihevcd_process()
780 ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_process()
794 ihevcd_update_ctb_tu_cnt(ps_proc); in ihevcd_process()
795 ps_proc->s_bs_ctxt.ps_pps = ps_proc->ps_pps; in ihevcd_process()
796 ps_proc->s_bs_ctxt.ps_sps = ps_proc->ps_sps; in ihevcd_process()
797 ps_proc->s_bs_ctxt.ps_codec = ps_proc->ps_codec; in ihevcd_process()
798 ps_proc->s_bs_ctxt.i4_ctb_tu_cnt = ps_proc->i4_ctb_tu_cnt; in ihevcd_process()
799 ps_proc->s_bs_ctxt.i4_ctb_x = ps_proc->i4_ctb_x; in ihevcd_process()
800 ps_proc->s_bs_ctxt.i4_ctb_y = ps_proc->i4_ctb_y; in ihevcd_process()
801 ps_proc->s_bs_ctxt.i4_ctb_tile_x = ps_proc->i4_ctb_tile_x; in ihevcd_process()
802 ps_proc->s_bs_ctxt.i4_ctb_tile_y = ps_proc->i4_ctb_tile_y; in ihevcd_process()
803 ps_proc->s_bs_ctxt.i4_ctb_slice_x = ps_proc->i4_ctb_slice_x; in ihevcd_process()
804 ps_proc->s_bs_ctxt.i4_ctb_slice_y = ps_proc->i4_ctb_slice_y; in ihevcd_process()
805 ps_proc->s_bs_ctxt.ps_tu = ps_proc->ps_tu; in ihevcd_process()
806 ps_proc->s_bs_ctxt.ps_pu = ps_proc->ps_pu; in ihevcd_process()
807 ps_proc->s_bs_ctxt.pu4_pic_pu_idx_map = ps_proc->pu4_pic_pu_idx_map; in ihevcd_process()
808 ps_proc->s_bs_ctxt.i4_next_pu_ctb_cnt = ps_proc->i4_next_pu_ctb_cnt; in ihevcd_process()
809 ps_proc->s_bs_ctxt.i4_next_tu_ctb_cnt = ps_proc->i4_next_tu_ctb_cnt; in ihevcd_process()
810 ps_proc->s_bs_ctxt.pu1_slice_idx = ps_proc->pu1_slice_idx; in ihevcd_process()
811 ps_proc->s_bs_ctxt.ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_process()
812 ps_proc->s_bs_ctxt.ps_tile = ps_proc->ps_tile; in ihevcd_process()
816 ihevcd_ctb_boundary_strength_islice(&ps_proc->s_bs_ctxt); in ihevcd_process()
820 ihevcd_ctb_boundary_strength_pbslice(&ps_proc->s_bs_ctxt); in ihevcd_process()
829 … UWORD32 *pu4_vert_bs = (UWORD32 *)((UWORD8 *)ps_proc->s_bs_ctxt.pu4_pic_vert_bs + in ihevcd_process()
830 ps_proc->i4_ctb_x * (ctb_size * ctb_size / 8 / 16) + in ihevcd_process()
831 ps_proc->i4_ctb_y * bs_strd); in ihevcd_process()
832 … UWORD32 *pu4_horz_bs = (UWORD32 *)((UWORD8 *)ps_proc->s_bs_ctxt.pu4_pic_horz_bs + in ihevcd_process()
833 ps_proc->i4_ctb_x * (ctb_size * ctb_size / 8 / 16) + in ihevcd_process()
834 ps_proc->i4_ctb_y * bs_strd); in ihevcd_process()
845 WORD32 cur_ctb_idx = ps_proc->i4_ctb_x in ihevcd_process()
846 + ps_proc->i4_ctb_y * (ps_sps->i2_pic_wd_in_ctb); in ihevcd_process()
849 ps_proc->pu1_pu_map += nctb * num_minpu_in_ctb; in ihevcd_process()
850 ps_proc->ps_tu += ps_proc->i4_ctb_tu_cnt; in ihevcd_process()
854 ps_proc->ps_tu = ps_proc->ps_pic_tu; in ihevcd_process()
856 ps_proc->ps_pu += ps_proc->i4_ctb_pu_cnt; in ihevcd_process()
860 ihevcd_proc_map_update(ps_proc, proc_type, nctb); in ihevcd_process()
863 ihevcd_ctb_pos_update(ps_proc, nctb); in ihevcd_process()
867 if(cur_slice_idx != ps_proc->i4_cur_slice_idx) in ihevcd_process()
869 … ps_proc->ps_slice_hdr = ps_codec->ps_slice_hdr_base + ((cur_slice_idx)&(MAX_SLICE_HDR_CNT - 1)); in ihevcd_process()
870 ps_proc->i4_cur_slice_idx = cur_slice_idx; in ihevcd_process()
874 ps_proc->i4_ctb_x -= num_ctb; in ihevcd_process()
875 ps_proc->i4_ctb_tile_x = cur_ctb_tile_x; in ihevcd_process()
876 ps_proc->i4_ctb_slice_x = cur_ctb_slice_x; in ihevcd_process()
877 ps_proc->i4_ctb_tile_y = cur_ctb_tile_y; in ihevcd_process()
878 ps_proc->i4_ctb_slice_y = cur_ctb_slice_y; in ihevcd_process()
879 ps_proc->pu1_pu_map = pu1_pu_map_cur; in ihevcd_process()
880 ps_proc->ps_tu = ps_tu_cur; in ihevcd_process()
887 ihevcd_proc_map_check(ps_proc, proc_type, nctb); in ihevcd_process()
889 ihevcd_slice_hdr_update(ps_proc); in ihevcd_process()
893 ihevcd_ctb_avail_update(ps_proc); in ihevcd_process()
899 ihevcd_update_ctb_tu_cnt(ps_proc); in ihevcd_process()
907 ps_proc->api2_dequant_intra_matrix[0] = in ihevcd_process()
909 ps_proc->api2_dequant_intra_matrix[1] = in ihevcd_process()
911 ps_proc->api2_dequant_intra_matrix[2] = in ihevcd_process()
913 ps_proc->api2_dequant_intra_matrix[3] = in ihevcd_process()
916 ps_proc->api2_dequant_inter_matrix[0] = in ihevcd_process()
918 ps_proc->api2_dequant_inter_matrix[1] = in ihevcd_process()
920 ps_proc->api2_dequant_inter_matrix[2] = in ihevcd_process()
922 ps_proc->api2_dequant_inter_matrix[3] = in ihevcd_process()
929 ps_proc->api2_dequant_intra_matrix[0] = in ihevcd_process()
931 ps_proc->api2_dequant_intra_matrix[1] = in ihevcd_process()
933 ps_proc->api2_dequant_intra_matrix[2] = in ihevcd_process()
935 ps_proc->api2_dequant_intra_matrix[3] = in ihevcd_process()
938 ps_proc->api2_dequant_inter_matrix[0] = in ihevcd_process()
940 ps_proc->api2_dequant_inter_matrix[1] = in ihevcd_process()
942 ps_proc->api2_dequant_inter_matrix[2] = in ihevcd_process()
944 ps_proc->api2_dequant_inter_matrix[3] = in ihevcd_process()
952 ps_proc->pu1_cur_ctb_luma = ps_proc->pu1_cur_pic_luma in ihevcd_process()
953 + (ps_proc->i4_ctb_x * ctb_size in ihevcd_process()
954 + ps_proc->i4_ctb_y * ctb_size in ihevcd_process()
956 ps_proc->pu1_cur_ctb_chroma = ps_proc->pu1_cur_pic_chroma in ihevcd_process()
957 + ps_proc->i4_ctb_x * ctb_size in ihevcd_process()
958 + (ps_proc->i4_ctb_y * ctb_size * ps_codec->i4_strd / 2); in ihevcd_process()
960 ihevcd_iquant_itrans_recon_ctb(ps_proc); in ihevcd_process()
965 WORD32 cur_ctb_idx = ps_proc->i4_ctb_x in ihevcd_process()
966 + ps_proc->i4_ctb_y * (ps_sps->i2_pic_wd_in_ctb); in ihevcd_process()
969 ps_proc->pu1_pu_map += nctb * num_minpu_in_ctb; in ihevcd_process()
970 ps_proc->ps_tu += ps_proc->i4_ctb_tu_cnt; in ihevcd_process()
974 ps_proc->ps_tu = ps_proc->ps_pic_tu; in ihevcd_process()
976 ps_proc->ps_pu += ps_proc->i4_ctb_pu_cnt; in ihevcd_process()
981 ihevcd_proc_map_update(ps_proc, proc_type, nctb); in ihevcd_process()
984 ihevcd_ctb_pos_update(ps_proc, nctb); in ihevcd_process()
987 if(cur_slice_idx != ps_proc->i4_cur_slice_idx) in ihevcd_process()
989 … ps_proc->ps_slice_hdr = ps_codec->ps_slice_hdr_base + ((cur_slice_idx)&(MAX_SLICE_HDR_CNT - 1)); in ihevcd_process()
990 ps_proc->i4_cur_slice_idx = cur_slice_idx; in ihevcd_process()
994 ps_proc->i4_ctb_x -= num_ctb; in ihevcd_process()
995 ps_proc->i4_ctb_tile_x = cur_ctb_tile_x; in ihevcd_process()
996 ps_proc->i4_ctb_slice_x = cur_ctb_slice_x; in ihevcd_process()
997 ps_proc->i4_ctb_tile_y = cur_ctb_tile_y; in ihevcd_process()
998 ps_proc->i4_ctb_slice_y = cur_ctb_slice_y; in ihevcd_process()
999 pu1_pu_map_nxt = ps_proc->pu1_pu_map; in ihevcd_process()
1000 ps_tu_nxt = ps_proc->ps_tu; in ihevcd_process()
1001 ps_proc->pu1_pu_map = pu1_pu_map_cur; in ihevcd_process()
1002 ps_proc->ps_tu = ps_tu_cur; in ihevcd_process()
1010 ihevcd_proc_map_check(ps_proc, proc_type, nctb); in ihevcd_process()
1012 ihevcd_slice_hdr_update(ps_proc); in ihevcd_process()
1025 ps_proc->s_deblk_ctxt.ps_pps = ps_proc->ps_pps; in ihevcd_process()
1026 ps_proc->s_deblk_ctxt.ps_sps = ps_proc->ps_sps; in ihevcd_process()
1027 ps_proc->s_deblk_ctxt.ps_codec = ps_proc->ps_codec; in ihevcd_process()
1028 ps_proc->s_deblk_ctxt.ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_process()
1029 ps_proc->s_deblk_ctxt.i4_ctb_x = ps_proc->i4_ctb_x; in ihevcd_process()
1030 ps_proc->s_deblk_ctxt.i4_ctb_y = ps_proc->i4_ctb_y; in ihevcd_process()
1031 ps_proc->s_deblk_ctxt.pu1_slice_idx = ps_proc->pu1_slice_idx; in ihevcd_process()
1032 … ps_proc->s_deblk_ctxt.is_chroma_yuv420sp_vu = (ps_codec->e_ref_chroma_fmt == IV_YUV_420SP_VU); in ihevcd_process()
1043 …WORD32 bit_pos = ((ps_proc->i4_ctb_y << (log2_ctb_size - 3)) - 1) * loop_filter_strd + (ps_proc->i… in ihevcd_process()
1048 …ps_proc->s_deblk_ctxt.au2_ctb_no_loop_filter_flag[row] = (*(UWORD32 *)(ps_proc->pu1_pic_no_loop_fi… in ihevcd_process()
1053 ihevcd_deblk_ctb(&ps_proc->s_deblk_ctxt, i4_is_last_ctb_x, i4_is_last_ctb_y); in ihevcd_process()
1058 if(ps_proc->i4_ctb_x == ps_sps->i2_pic_wd_in_ctb - 1) in ihevcd_process()
1067 … ihevcd_deblk_ctb(&ps_proc->s_deblk_ctxt, i4_is_last_ctb_x, i4_is_last_ctb_y); in ihevcd_process()
1075 if(ps_proc->i4_ctb_y == ps_sps->i2_pic_ht_in_ctb - 1) in ihevcd_process()
1083 … ihevcd_deblk_ctb(&ps_proc->s_deblk_ctxt, i4_is_last_ctb_x, i4_is_last_ctb_y); in ihevcd_process()
1090 ihevcd_proc_map_update(ps_proc, proc_type, nctb); in ihevcd_process()
1093 ihevcd_ctb_pos_update(ps_proc, nctb); in ihevcd_process()
1096 if(cur_slice_idx != ps_proc->i4_cur_slice_idx) in ihevcd_process()
1098 … ps_proc->ps_slice_hdr = ps_codec->ps_slice_hdr_base + ((cur_slice_idx)&(MAX_SLICE_HDR_CNT - 1)); in ihevcd_process()
1099 ps_proc->i4_cur_slice_idx = cur_slice_idx; in ihevcd_process()
1103 ps_proc->i4_ctb_x -= num_ctb; in ihevcd_process()
1104 ps_proc->i4_ctb_tile_x = cur_ctb_tile_x; in ihevcd_process()
1105 ps_proc->i4_ctb_tile_y = cur_ctb_tile_y; in ihevcd_process()
1106 ps_proc->pu1_pu_map = pu1_pu_map_cur; in ihevcd_process()
1107 ps_proc->ps_tu = ps_tu_cur; in ihevcd_process()
1108 nxt_ctb_slice_y = ps_proc->i4_ctb_slice_y; in ihevcd_process()
1109 nxt_ctb_slice_x = ps_proc->i4_ctb_slice_x; in ihevcd_process()
1110 ps_proc->i4_ctb_slice_y = cur_ctb_slice_y; in ihevcd_process()
1111 ps_proc->i4_ctb_slice_x = cur_ctb_slice_x; in ihevcd_process()
1119 ihevcd_proc_map_check(ps_proc, proc_type, nctb); in ihevcd_process()
1121 ihevcd_slice_hdr_update(ps_proc); in ihevcd_process()
1131 ps_proc->s_sao_ctxt.ps_pps = ps_proc->ps_pps; in ihevcd_process()
1132 ps_proc->s_sao_ctxt.ps_sps = ps_proc->ps_sps; in ihevcd_process()
1133 ps_proc->s_sao_ctxt.ps_tile = ps_proc->ps_tile; in ihevcd_process()
1134 ps_proc->s_sao_ctxt.ps_codec = ps_proc->ps_codec; in ihevcd_process()
1135 ps_proc->s_sao_ctxt.ps_slice_hdr = ps_proc->ps_slice_hdr; in ihevcd_process()
1136 ps_proc->s_sao_ctxt.i4_cur_slice_idx = ps_proc->i4_cur_slice_idx; in ihevcd_process()
1140 ps_proc->s_sao_ctxt.i4_ctb_x = ps_proc->i4_ctb_x; in ihevcd_process()
1141 ps_proc->s_sao_ctxt.i4_ctb_y = ps_proc->i4_ctb_y; in ihevcd_process()
1142 … ps_proc->s_sao_ctxt.is_chroma_yuv420sp_vu = (ps_codec->e_ref_chroma_fmt == IV_YUV_420SP_VU); in ihevcd_process()
1144 ihevcd_sao_shift_ctb(&ps_proc->s_sao_ctxt); in ihevcd_process()
1146 if(ps_proc->i4_ctb_x > 1 && ps_proc->i4_ctb_y > 0) in ihevcd_process()
1148 ps_proc->s_sao_ctxt.i4_ctb_x = ps_proc->i4_ctb_x - 2; in ihevcd_process()
1149 ps_proc->s_sao_ctxt.i4_ctb_y = ps_proc->i4_ctb_y - 1; in ihevcd_process()
1151 ihevcd_sao_ctb(&ps_proc->s_sao_ctxt); in ihevcd_process()
1154 if(ps_sps->i2_pic_wd_in_ctb - 1 == ps_proc->i4_ctb_x && ps_proc->i4_ctb_y > 0) in ihevcd_process()
1156 ps_proc->s_sao_ctxt.i4_ctb_x = ps_proc->i4_ctb_x - 1; in ihevcd_process()
1157 ps_proc->s_sao_ctxt.i4_ctb_y = ps_proc->i4_ctb_y - 1; in ihevcd_process()
1159 ihevcd_sao_ctb(&ps_proc->s_sao_ctxt); in ihevcd_process()
1161 ps_proc->s_sao_ctxt.i4_ctb_x = ps_proc->i4_ctb_x; in ihevcd_process()
1162 ps_proc->s_sao_ctxt.i4_ctb_y = ps_proc->i4_ctb_y - 1; in ihevcd_process()
1164 ihevcd_sao_ctb(&ps_proc->s_sao_ctxt); in ihevcd_process()
1166 if(ps_sps->i2_pic_ht_in_ctb - 1 == ps_proc->i4_ctb_y) in ihevcd_process()
1169 ps_proc->s_sao_ctxt.i4_ctb_y = ps_proc->i4_ctb_y; in ihevcd_process()
1172 ps_proc->s_sao_ctxt.i4_ctb_x = i4_ctb_x; in ihevcd_process()
1173 ihevcd_sao_ctb(&ps_proc->s_sao_ctxt); in ihevcd_process()
1185 if(0 == ps_proc->i4_ctb_x) in ihevcd_process()
1190 ps_proc->pu1_cur_ctb_luma = ps_proc->pu1_cur_pic_luma in ihevcd_process()
1191 + (ps_proc->i4_ctb_x * ctb_size in ihevcd_process()
1192 + ps_proc->i4_ctb_y * ctb_size in ihevcd_process()
1194 ps_proc->pu1_cur_ctb_chroma = ps_proc->pu1_cur_pic_chroma in ihevcd_process()
1195 + ps_proc->i4_ctb_x * ctb_size in ihevcd_process()
1196 + (ps_proc->i4_ctb_y * ctb_size * ps_codec->i4_strd / 2); in ihevcd_process()
1199 pad_ht_luma += (ps_sps->i2_pic_ht_in_ctb - 1) == ps_proc->i4_ctb_y ? 8 : 0; in ihevcd_process()
1202 …ps_codec->s_func_selector.ihevc_pad_left_luma_fptr(ps_proc->pu1_cur_ctb_luma - 8 * ps_codec->i4_st… in ihevcd_process()
1203 …ps_codec->s_func_selector.ihevc_pad_left_chroma_fptr(ps_proc->pu1_cur_ctb_chroma - 16 * ps_codec->… in ihevcd_process()
1206 if((ps_sps->i2_pic_wd_in_ctb - 1) == ps_proc->i4_ctb_x) in ihevcd_process()
1210 …WORD32 cols_remaining = ps_sps->i2_pic_width_in_luma_samples - (ps_proc->i4_ctb_x << ps_sps->i1_lo… in ihevcd_process()
1212 ps_proc->pu1_cur_ctb_luma = ps_proc->pu1_cur_pic_luma in ihevcd_process()
1213 + (ps_proc->i4_ctb_x * ctb_size in ihevcd_process()
1214 + ps_proc->i4_ctb_y * ctb_size in ihevcd_process()
1216 ps_proc->pu1_cur_ctb_chroma = ps_proc->pu1_cur_pic_chroma in ihevcd_process()
1217 + ps_proc->i4_ctb_x * ctb_size in ihevcd_process()
1218 + (ps_proc->i4_ctb_y * ctb_size * ps_codec->i4_strd / 2); in ihevcd_process()
1222 if((ps_sps->i2_pic_ht_in_ctb - 1) == ps_proc->i4_ctb_y) in ihevcd_process()
1226 …ps_codec->s_func_selector.ihevc_pad_left_chroma_fptr(ps_proc->pu1_cur_pic_chroma + (ps_sps->i2_pic… in ihevcd_process()
1230 …ps_codec->s_func_selector.ihevc_pad_right_luma_fptr(ps_proc->pu1_cur_ctb_luma + cols_remaining - 8… in ihevcd_process()
1231 …ps_codec->s_func_selector.ihevc_pad_right_chroma_fptr(ps_proc->pu1_cur_ctb_chroma + cols_remaining… in ihevcd_process()
1233 if((ps_sps->i2_pic_ht_in_ctb - 1) == ps_proc->i4_ctb_y) in ihevcd_process()
1239 …ihevc_pad_top(ps_proc->pu1_cur_pic_luma - PAD_LEFT, ps_codec->i4_strd, ps_sps->i2_pic_width_in_lum… in ihevcd_process()
1240 …ihevc_pad_top(ps_proc->pu1_cur_pic_chroma - PAD_LEFT, ps_codec->i4_strd, ps_sps->i2_pic_width_in_l… in ihevcd_process()
1242 …pu1_buf = ps_proc->pu1_cur_pic_luma + ps_codec->i4_strd * ps_sps->i2_pic_height_in_luma_samples - … in ihevcd_process()
1246 …pu1_buf = ps_proc->pu1_cur_pic_chroma + ps_codec->i4_strd * (ps_sps->i2_pic_height_in_luma_samples… in ihevcd_process()
1251 if(ps_proc->i4_ctb_y > 1) in ihevcd_process()
1253 if(0 == ps_proc->i4_ctb_x) in ihevcd_process()
1261 …ps_codec->s_func_selector.ihevc_pad_left_luma_fptr(ps_proc->pu1_cur_ctb_luma - 2 * ctb_size * ps_c… in ihevcd_process()
1262 …ps_codec->s_func_selector.ihevc_pad_left_chroma_fptr(ps_proc->pu1_cur_ctb_chroma - ctb_size * ps_c… in ihevcd_process()
1264 else if((ps_sps->i2_pic_wd_in_ctb - 1) == ps_proc->i4_ctb_x) in ihevcd_process()
1268 …WORD32 cols_remaining = ps_sps->i2_pic_width_in_luma_samples - (ps_proc->i4_ctb_x << ps_sps->i1_lo… in ihevcd_process()
1270 … pad_ht_luma = ((ps_sps->i2_pic_ht_in_ctb - 1) == ps_proc->i4_ctb_y) ? 3 * ctb_size : ctb_size; in ihevcd_process()
1271 …pad_ht_chroma = ((ps_sps->i2_pic_ht_in_ctb - 1) == ps_proc->i4_ctb_y) ? 3 * ctb_size / 2 : ctb_siz… in ihevcd_process()
1273 …ps_codec->s_func_selector.ihevc_pad_right_luma_fptr(ps_proc->pu1_cur_ctb_luma + cols_remaining - 2… in ihevcd_process()
1274 …ps_codec->s_func_selector.ihevc_pad_right_chroma_fptr(ps_proc->pu1_cur_ctb_chroma + cols_remaining… in ihevcd_process()
1276 if((ps_sps->i2_pic_ht_in_ctb - 1) == ps_proc->i4_ctb_y) in ihevcd_process()
1285 …ps_codec->s_func_selector.ihevc_pad_left_luma_fptr(ps_proc->pu1_cur_pic_luma + ps_codec->i4_strd *… in ihevcd_process()
1287 …ps_codec->s_func_selector.ihevc_pad_left_chroma_fptr(ps_proc->pu1_cur_pic_chroma + ps_codec->i4_st… in ihevcd_process()
1293 …ihevc_pad_top(ps_proc->pu1_cur_pic_luma - PAD_LEFT, ps_codec->i4_strd, ps_sps->i2_pic_width_in_lum… in ihevcd_process()
1294 …ihevc_pad_top(ps_proc->pu1_cur_pic_chroma - PAD_LEFT, ps_codec->i4_strd, ps_sps->i2_pic_width_in_l… in ihevcd_process()
1296 …pu1_buf = ps_proc->pu1_cur_pic_luma + ps_codec->i4_strd * ps_sps->i2_pic_height_in_luma_samples - … in ihevcd_process()
1300 …pu1_buf = ps_proc->pu1_cur_pic_chroma + ps_codec->i4_strd * (ps_sps->i2_pic_height_in_luma_samples… in ihevcd_process()
1311 ihevcd_proc_map_update(ps_proc, proc_type, nctb); in ihevcd_process()
1313 ihevcd_proc_map_update(ps_proc, PROC_ALL, nctb); in ihevcd_process()
1317 ps_tile = ps_proc->ps_tile; in ihevcd_process()
1320 ps_proc->i4_ctb_tile_x += nctb; in ihevcd_process()
1321 ps_proc->i4_ctb_x += nctb; in ihevcd_process()
1323 ps_proc->i4_ctb_slice_x += nctb; in ihevcd_process()
1327 if(ps_proc->i4_ctb_tile_x >= (ps_tile->u2_wd)) in ihevcd_process()
1330 ps_proc->i4_ctb_tile_x = 0; in ihevcd_process()
1331 ps_proc->i4_ctb_x = ps_tile->u1_pos_x; in ihevcd_process()
1333 ps_proc->i4_ctb_tile_y++; in ihevcd_process()
1334 ps_proc->i4_ctb_y++; in ihevcd_process()
1335 if(ps_proc->i4_ctb_tile_y == ps_tile->u2_ht) in ihevcd_process()
1338 ps_proc->i4_ctb_tile_y = 0; in ihevcd_process()
1339 ps_proc->i4_ctb_tile_x = 0; in ihevcd_process()
1340 ps_proc->ps_tile++; in ihevcd_process()
1344 ps_tile = ps_proc->ps_tile; in ihevcd_process()
1345 ps_proc->i4_ctb_x = ps_tile->u1_pos_x; in ihevcd_process()
1346 ps_proc->i4_ctb_y = ps_tile->u1_pos_y; in ihevcd_process()
1354 ps_proc->i4_ctb_cnt -= num_ctb; in ihevcd_process()
1359 void ihevcd_init_proc_ctxt(process_ctxt_t *ps_proc, WORD32 tu_coeff_data_ofst) in ihevcd_init_proc_ctxt() argument
1377 ps_codec = ps_proc->ps_codec; in ihevcd_init_proc_ctxt()
1379 …ps_slice_hdr = ps_codec->ps_slice_hdr_base + ((ps_proc->i4_cur_slice_idx) & (MAX_SLICE_HDR_CNT - 1… in ihevcd_init_proc_ctxt()
1380 ps_proc->ps_slice_hdr = ps_slice_hdr; in ihevcd_init_proc_ctxt()
1381 ps_proc->ps_pps = ps_codec->ps_pps_base + ps_slice_hdr->i1_pps_id; in ihevcd_init_proc_ctxt()
1382 ps_pps = ps_proc->ps_pps; in ihevcd_init_proc_ctxt()
1383 ps_proc->ps_sps = ps_codec->ps_sps_base + ps_pps->i1_sps_id; in ihevcd_init_proc_ctxt()
1384 ps_sps = ps_proc->ps_sps; in ihevcd_init_proc_ctxt()
1385 ps_proc->i4_init_done = 1; in ihevcd_init_proc_ctxt()
1390 ps_proc->s_sao_ctxt.pu1_slice_idx = ps_proc->pu1_slice_idx; in ihevcd_init_proc_ctxt()
1392 ihevcd_get_tile_pos(ps_pps, ps_sps, ps_proc->i4_ctb_x, ps_proc->i4_ctb_y, in ihevcd_init_proc_ctxt()
1393 &ps_proc->i4_ctb_tile_x, &ps_proc->i4_ctb_tile_y, in ihevcd_init_proc_ctxt()
1396 ps_proc->ps_tile = ps_pps->ps_tile + tile_idx; in ihevcd_init_proc_ctxt()
1397 ps_proc->i4_cur_tile_idx = tile_idx; in ihevcd_init_proc_ctxt()
1398 ps_tile = ps_proc->ps_tile; in ihevcd_init_proc_ctxt()
1436 if(ps_proc->i4_ctb_x >= i2_independent_ctb_x) in ihevcd_init_proc_ctxt()
1438 ps_proc->i4_ctb_slice_x = ps_proc->i4_ctb_x - i2_independent_ctb_x; in ihevcd_init_proc_ctxt()
1458 ps_proc->i4_ctb_slice_x = i4_wd_in_ctb in ihevcd_init_proc_ctxt()
1459 - (i2_independent_ctb_x - ps_proc->i4_ctb_x); in ihevcd_init_proc_ctxt()
1463 ps_proc->i4_ctb_slice_x = ps_proc->i4_ctb_x - ps_tile->u1_pos_x; in ihevcd_init_proc_ctxt()
1469 ps_proc->i4_ctb_slice_y = ps_proc->i4_ctb_y - i2_independent_ctb_y; in ihevcd_init_proc_ctxt()
1472 if((0 == ps_proc->i4_ctb_tile_x) && (0 == ps_proc->i4_ctb_tile_y)) in ihevcd_init_proc_ctxt()
1476 ps_proc->i4_ctb_slice_x = 0; in ihevcd_init_proc_ctxt()
1477 ps_proc->i4_ctb_slice_y = 0; in ihevcd_init_proc_ctxt()
1482 ps_proc->i4_ctb_slice_y = ps_tile->u1_pos_y - i2_independent_ctb_y; in ihevcd_init_proc_ctxt()
1495 ps_proc->i4_ctb_slice_y -= 1; in ihevcd_init_proc_ctxt()
1502 if(((i2_independent_ctb_x - ps_tile->u1_pos_x) != 0) && ((ps_proc->i4_ctb_slice_y != 0)) in ihevcd_init_proc_ctxt()
1505 ps_proc->i4_ctb_slice_y -= 1; in ihevcd_init_proc_ctxt()
1516 ps_proc->i4_ctb_slice_x = ps_proc->i4_ctb_x - i2_independent_ctb_x; in ihevcd_init_proc_ctxt()
1517 ps_proc->i4_ctb_slice_y = ps_proc->i4_ctb_y - i2_independent_ctb_y; in ihevcd_init_proc_ctxt()
1518 if(ps_proc->i4_ctb_slice_x < 0) in ihevcd_init_proc_ctxt()
1520 ps_proc->i4_ctb_slice_x += ps_sps->i2_pic_wd_in_ctb; in ihevcd_init_proc_ctxt()
1521 ps_proc->i4_ctb_slice_y -= 1; in ihevcd_init_proc_ctxt()
1535 ctb_addr = ps_proc->i4_ctb_y * num_ctb_in_row + ps_proc->i4_ctb_x; in ihevcd_init_proc_ctxt()
1540 ps_proc->pu1_tu_map = ps_proc->pu1_pic_tu_map in ihevcd_init_proc_ctxt()
1544 … ps_proc->ps_tu = ps_proc->ps_pic_tu + ps_proc->pu4_pic_tu_idx[ctb_addr % RESET_TU_BUF_NCTB]; in ihevcd_init_proc_ctxt()
1548 ps_proc->ps_tu = ps_proc->ps_pic_tu + ps_proc->pu4_pic_tu_idx[ctb_addr]; in ihevcd_init_proc_ctxt()
1550 ps_proc->pv_tu_coeff_data = (UWORD8 *)ps_proc->pv_pic_tu_coeff_data in ihevcd_init_proc_ctxt()
1558 ctb_addr = ps_proc->i4_ctb_y * num_ctb_in_row + ps_proc->i4_ctb_x; in ihevcd_init_proc_ctxt()
1559 pu_idx = ps_proc->pu4_pic_pu_idx[ctb_addr]; in ihevcd_init_proc_ctxt()
1560 ps_proc->pu1_pu_map = ps_proc->pu1_pic_pu_map in ihevcd_init_proc_ctxt()
1562 ps_proc->ps_pu = ps_proc->ps_pic_pu + pu_idx; in ihevcd_init_proc_ctxt()
1567 ps_proc->i4_nctb = MIN(ps_codec->u4_nctb, ps_tile->u2_wd); in ihevcd_init_proc_ctxt()
1571 void ihevcd_process_thread(process_ctxt_t *ps_proc) in ihevcd_process_thread() argument
1574 ithread_set_affinity(ps_proc->i4_id + 1); in ihevcd_process_thread()
1581 ret = ihevcd_jobq_dequeue((jobq_t *)ps_proc->pv_proc_jobq, &s_job, in ihevcd_process_thread()
1586 ps_proc->i4_ctb_cnt = s_job.i2_ctb_cnt; in ihevcd_process_thread()
1587 ps_proc->i4_ctb_x = s_job.i2_ctb_x; in ihevcd_process_thread()
1588 ps_proc->i4_ctb_y = s_job.i2_ctb_y; in ihevcd_process_thread()
1589 ps_proc->i4_cur_slice_idx = s_job.i2_slice_idx; in ihevcd_process_thread()
1595 ihevcd_init_proc_ctxt(ps_proc, s_job.i4_tu_coeff_data_ofst); in ihevcd_process_thread()
1596 ihevcd_process(ps_proc); in ihevcd_process_thread()
1605 if(0 == ps_proc->i4_init_done) in ihevcd_process_thread()
1607 ihevcd_init_proc_ctxt(ps_proc, 0); in ihevcd_process_thread()
1609 ps_sps = ps_proc->ps_sps; in ihevcd_process_thread()
1610 ps_codec = ps_proc->ps_codec; in ihevcd_process_thread()
1611 ps_out_buffer = ps_proc->ps_out_buffer; in ihevcd_process_thread()
1619 …ihevcd_fmt_conv(ps_proc->ps_codec, ps_proc, ps_out_buffer->pu1_bufs[0], ps_out_buffer->pu1_bufs[1]… in ihevcd_process_thread()