Lines Matching refs:slice

46 MPP_RET calc_ref_pic_set_idxl0(H265eDpb *dpb, H265eSlice *slice, RK_S32 ref_idx)  in calc_ref_pic_set_idxl0()  argument
48 H265eReferencePictureSet * rps = (H265eReferencePictureSet*)&slice->m_localRPS; in calc_ref_pic_set_idxl0()
60 refPic = get_lt_ref_pic(frame_list, slice, rps->m_RealPoc[i], rps->check_lt_msb[i]); in calc_ref_pic_set_idxl0()
75 void h265e_dpb_set_ref_list(H265eDpb *dpb, H265eSlice *slice, RK_S32 delta_poc) in h265e_dpb_set_ref_list() argument
81 H265eReferencePictureSet * m_pRps = (H265eReferencePictureSet*)&slice->m_localRPS; in h265e_dpb_set_ref_list()
112 calc_ref_pic_set_idxl0(dpb, slice, ref_idx); in h265e_dpb_set_ref_list()
127 if (!frm->slice) { in h265e_dpb_init_curr()
128 frm->slice = mpp_calloc(H265eSlice, 1); in h265e_dpb_init_curr()
160 MPP_FREE(frm->slice); in h265e_dpb_frm_deinit()
315 if (!outPic->inited || !outPic->slice->is_referenced) { in h265e_dpb_apply_rps()
322 …h265e_dbg_dpb("outPic->slice->poc %d,curPoc %d dealt %d", outPic->slice->poc, curPoc, rps->delta_p… in h265e_dpb_apply_rps()
323 if (!outPic->is_long_term && outPic->slice->poc == curPoc + rps->delta_poc[i]) { in h265e_dpb_apply_rps()
331 if (outPic->is_long_term && (outPic->slice->poc == rps->m_RealPoc[i])) { in h265e_dpb_apply_rps()
335 if (outPic->is_long_term && (outPic->slice->poc == rps->m_RealPoc[i])) { in h265e_dpb_apply_rps()
361 frame->slice->is_referenced = 0; in h265e_dpb_dec_refresh_marking()
383 frame->slice->is_referenced = 0; in h265e_dpb_dec_refresh_marking()
400 void h265e_dpb_arrange_lt_rps(H265eDpb *dpb, H265eSlice *slice) in h265e_dpb_arrange_lt_rps() argument
402 H265eReferencePictureSet *rps = slice->m_rps; in h265e_dpb_arrange_lt_rps()
406 RK_S32 maxPicOrderCntLSB = 1 << slice->m_sps->m_bitsForPOC; in h265e_dpb_arrange_lt_rps()
456 if (slice->gop_idx / maxPicOrderCntLSB > 0) { in h265e_dpb_arrange_lt_rps()
470 currLSB = getLSB(slice->gop_idx, maxPicOrderCntLSB); in h265e_dpb_arrange_lt_rps()
471 currMSB = slice->gop_idx - currLSB; in h265e_dpb_arrange_lt_rps()
475 rps->delta_poc[i] = -slice->poc + longtermPicsRealPoc[ctr]; in h265e_dpb_arrange_lt_rps()
579 void h265e_dpb_cpb2rps(H265eDpb *dpb, RK_S32 curPoc, H265eSlice *slice, EncCpbStatus *cpb) in h265e_dpb_cpb2rps() argument
591 H265eReferencePictureSet * rps = (H265eReferencePictureSet*)&slice->m_localRPS; in h265e_dpb_cpb2rps()
595 slice->m_bdIdx = -1; in h265e_dpb_cpb2rps()
608 mpp_assert(slice->m_sps->m_bLongTermRefsPresent); in h265e_dpb_cpb2rps()
636 isMsbValid[lt_size] = p->gop_idx >= (RK_S32)(1 << p->slice->m_sps->m_bitsForPOC); in h265e_dpb_cpb2rps()
646 if (slice->m_sliceType == I_SLICE) { in h265e_dpb_cpb2rps()
685 slice->m_rps = rps; in h265e_dpb_cpb2rps()
686 h265e_dpb_apply_rps(dpb, slice->m_rps, curPoc); in h265e_dpb_cpb2rps()
687 h265e_dpb_arrange_lt_rps(dpb, slice); in h265e_dpb_cpb2rps()
688 h265e_dpb_set_ref_list(dpb, slice, ref_dealt_poc); in h265e_dpb_cpb2rps()
689 memcpy(&slice->m_RefPicListModification, RpsList->m_RefPicListModification, in h265e_dpb_cpb2rps()
700 …if ((cpb->curr.force_pskip_is_ref) && (frm->slot_idx == dpb->curr->slice->m_refPicList[0][0]->slot… in h265e_pskip_ref_check()
701 …h265e_dbg_dpb("hold refr buf as skip frm recon buf, poc %d slot idx %d.", frm->slice->poc, frm->sl… in h265e_pskip_ref_check()
705 …if ((cpb->refr.force_pskip_is_ref) && (frm->slot_idx == dpb->curr->slice->m_refPicList[0][0]->prev… in h265e_pskip_ref_check()
706 …h265e_dbg_dpb("hold refr buf as skip frm recon buf, poc %d slot idx %d.", frm->slice->poc, frm->sl… in h265e_pskip_ref_check()
723 h265e_dbg_dpb("free curr unreference buf poc %d", frm->slice->poc); in h265e_dpb_free_unsed()
727 frm->slice->is_referenced = 0; in h265e_dpb_free_unsed()
737 h265e_dbg_dpb("cpb final unreference buf poc %d", frm->slice->poc); in h265e_dpb_free_unsed()
741 frm->slice->is_referenced = 0; in h265e_dpb_free_unsed()
764 frame->slice->is_referenced = 0; in h265e_dpb_proc_cpb()
789 p->slice->is_referenced = 1; in h265e_dpb_proc_cpb()
800 if (max_poc < frame->slice->poc) { in h265e_dpb_proc_cpb()
801 max_poc = frame->slice->poc; in h265e_dpb_proc_cpb()
803 if (max_gop_id < frame->slice->gop_idx) { in h265e_dpb_proc_cpb()
804 max_gop_id = frame->slice->gop_idx; in h265e_dpb_proc_cpb()
812 frame->slice->is_referenced = 0; in h265e_dpb_proc_cpb()
835 RK_S32 poc_cur = dpb->curr->slice->poc; in h265e_dpb_build_list()
836 H265eSlice* slice = dpb->curr->slice; in h265e_dpb_build_list() local
846 slice->last_idr = dpb->last_idr; in h265e_dpb_build_list()
847 slice->m_temporalLayerNonReferenceFlag = !slice->is_referenced; in h265e_dpb_build_list()
849 slice->m_nalUnitType = get_nal_unit_type(dpb, poc_cur); in h265e_dpb_build_list()
852 if (slice->m_temporalLayerNonReferenceFlag) { in h265e_dpb_build_list()
853 switch (slice->m_nalUnitType) { in h265e_dpb_build_list()
855 slice->m_nalUnitType = NAL_TRAIL_N; in h265e_dpb_build_list()
858 slice->m_nalUnitType = NAL_RADL_N; in h265e_dpb_build_list()
861 slice->m_nalUnitType = NAL_RASL_N; in h265e_dpb_build_list()
869 h265e_dpb_dec_refresh_marking(dpb, poc_cur, slice->m_nalUnitType); in h265e_dpb_build_list()
870 h265e_dpb_cpb2rps(dpb, poc_cur, slice, cpb); in h265e_dpb_build_list()
872slice->m_numRefIdx[L0] = MPP_MIN(dpb->max_ref_l0, slice->m_rps->m_numberOfPictures); // Ensuring … in h265e_dpb_build_list()
873 slice->m_numRefIdx[L1] = MPP_MIN(dpb->max_ref_l1, slice->m_rps->m_numberOfPictures); in h265e_dpb_build_list()
875 h265e_slice_set_ref_list(dpb->frame_list, slice); in h265e_dpb_build_list()
878 if ((slice->m_sliceType == B_SLICE) && (slice->m_numRefIdx[L1] == 0)) { in h265e_dpb_build_list()
879 slice->m_sliceType = P_SLICE; in h265e_dpb_build_list()
882 if (slice->m_sliceType == B_SLICE) { in h265e_dpb_build_list()
884 slice->m_colFromL0Flag = 0; in h265e_dpb_build_list()
887 RK_S32 curPOC = slice->poc; in h265e_dpb_build_list()
890 for (refIdx = 0; refIdx < slice->m_numRefIdx[L0] && bLowDelay; refIdx++) { in h265e_dpb_build_list()
891 if (slice->m_refPicList[L0][refIdx]->poc > curPOC) { in h265e_dpb_build_list()
896 for (refIdx = 0; refIdx < slice->m_numRefIdx[L1] && bLowDelay; refIdx++) { in h265e_dpb_build_list()
897 if (slice->m_refPicList[L1][refIdx]->poc > curPOC) { in h265e_dpb_build_list()
902 slice->m_bCheckLDC = bLowDelay; in h265e_dpb_build_list()
904 slice->m_bCheckLDC = 1; in h265e_dpb_build_list()
907 h265e_slice_set_ref_poc_list(slice); in h265e_dpb_build_list()
908 if (slice->m_sliceType == B_SLICE) { in h265e_dpb_build_list()
909 if (slice->m_numRefIdx[L0] == slice->m_numRefIdx[L1]) { in h265e_dpb_build_list()
911 for (i = 0; i < slice->m_numRefIdx[L1]; i++) { in h265e_dpb_build_list()
912 if (slice->m_refPOCList[L1][i] != slice->m_refPOCList[L0][i]) { in h265e_dpb_build_list()
920 slice->m_bLMvdL1Zero = bGPBcheck; in h265e_dpb_build_list()
921 slice->m_nextSlice = 0; in h265e_dpb_build_list()
922 if (slice->m_sliceType == I_SLICE) { in h265e_dpb_build_list()
923 slice->tot_poc_num = 0; in h265e_dpb_build_list()
925 slice->tot_poc_num = slice->m_localRPS.m_numberOfPictures; in h265e_dpb_build_list()