Lines Matching refs:p_mark
632 static void free_dpb_mark(H264_DecCtx_t *p_Dec, H264_DpbMark_t *p_mark, RK_S32 structure) in free_dpb_mark() argument
635 p_mark->top_used = (p_mark->top_used > 0) ? (p_mark->top_used - 1) : 0; in free_dpb_mark()
636 p_mark->bot_used = (p_mark->bot_used > 0) ? (p_mark->bot_used - 1) : 0; in free_dpb_mark()
638 p_mark->top_used = (p_mark->top_used > 0) ? (p_mark->top_used - 1) : 0; in free_dpb_mark()
640 p_mark->bot_used = (p_mark->bot_used > 0) ? (p_mark->bot_used - 1) : 0; in free_dpb_mark()
642 if (p_mark->top_used == 0 && p_mark->bot_used == 0 in free_dpb_mark()
643 && p_mark->out_flag == 0 && (p_mark->slot_idx >= 0)) { in free_dpb_mark()
644 mpp_buf_slot_clr_flag(p_Dec->frame_slots, p_mark->slot_idx, SLOT_CODEC_USE); in free_dpb_mark()
645 reset_dpb_mark(p_mark); in free_dpb_mark()
847 H264_DpbMark_t *p_mark = NULL; in write_picture() local
850 p_mark = p->mem_mark; in write_picture()
854 && p->structure == FRAME && p_mark->out_flag) { in write_picture()
855 mpp_buf_slot_get_prop(p_Vid->p_Dec->frame_slots, p_mark->slot_idx, SLOT_FRAME_PTR, &mframe); in write_picture()
883 RK_U32 is_base_view = p_mark->pic->layer_id == 0 ? 1 : 0; in write_picture()
892 if (match_mark->pic->layer_id != p_mark->pic->layer_id) { in write_picture()
893 if (match_mark->pic->poc < p_mark->pic->poc) { in write_picture()
896 } else if (match_mark->pic->poc == p_mark->pic->poc) { in write_picture()
907 p_mark->pic->layer_id, p_mark->pic->poc); in write_picture()
908 out_mark_list[0] = p_mark; in write_picture()
913 out_mark_list[1] = p_mark; in write_picture()
918 out_mark_list[0] = p_mark; in write_picture()
922 out_mark_list[1] = p_mark; in write_picture()
936 p_mark->pic->layer_id, p_mark->slot_idx, p_mark->pic->poc); in write_picture()
937 mpp_buf_slot_set_flag(p_Vid->p_Dec->frame_slots, p_mark->slot_idx, SLOT_QUEUE_USE); in write_picture()
938 mpp_buf_slot_enqueue(p_Vid->p_Dec->frame_slots, p_mark->slot_idx, QUEUE_DISPLAY); in write_picture()
939 p_Vid->p_Dec->last_frame_slot_idx = p_mark->slot_idx; in write_picture()
940 p_mark->out_flag = 0; in write_picture()
1401 static void flush_one_dpb_mark(H264_DecCtx_t *p_Dec, H264_DpbMark_t *p_mark) in flush_one_dpb_mark() argument
1403 if (NULL == p_mark) in flush_one_dpb_mark()
1405 if (p_mark->out_flag && (p_mark->slot_idx >= 0)) { in flush_one_dpb_mark()
1408 mpp_buf_slot_get_prop(p_Dec->frame_slots, p_mark->slot_idx, SLOT_FRAME_PTR, &mframe); in flush_one_dpb_mark()
1411 p_mark->slot_idx, p_mark->top_used, p_mark->bot_used); in flush_one_dpb_mark()
1413 mpp_buf_slot_set_flag(p_Dec->frame_slots, p_mark->slot_idx, SLOT_QUEUE_USE); in flush_one_dpb_mark()
1414 mpp_buf_slot_enqueue(p_Dec->frame_slots, p_mark->slot_idx, QUEUE_DISPLAY); in flush_one_dpb_mark()
1415 mpp_buf_slot_clr_flag(p_Dec->frame_slots, p_mark->slot_idx, SLOT_CODEC_USE); in flush_one_dpb_mark()
1416 p_Dec->last_frame_slot_idx = p_mark->slot_idx; in flush_one_dpb_mark()
1418 reset_dpb_mark(p_mark); in flush_one_dpb_mark()
1421 H264D_DBG(H264D_DBG_WARNNING, "out_flag %d slot_idx %d\n", p_mark->out_flag, p_mark->slot_idx); in flush_one_dpb_mark()