| /OK3568_Linux_fs/external/mpp/mpp/codec/enc/h264/ |
| H A D | h264e_dpb.c | 28 void h264e_dpb_dump_usage(H264eDpb *dpb, const char *fmt) in h264e_dpb_dump_usage() argument 34 pos += snprintf(buf, sizeof(buf) - 1, "total %2d ", dpb->total_cnt); in h264e_dpb_dump_usage() 36 for (i = 0; i < dpb->total_cnt; i++) { in h264e_dpb_dump_usage() 37 H264eDpbFrm *frm = &dpb->frames[i]; in h264e_dpb_dump_usage() 44 void h264e_dpb_dump_frm(H264eDpb *dpb, const char *caller, RK_S32 line) in h264e_dpb_dump_frm() argument 50 mpp_log_f("dpb %p total count %d size %d\n", dpb, dpb->total_cnt, dpb->dpb_size); in h264e_dpb_dump_frm() 54 for (i = 0; i < dpb->total_cnt; i++) { in h264e_dpb_dump_frm() 55 H264eDpbFrm *frm = &dpb->frames[i]; in h264e_dpb_dump_frm() 90 void h264e_dpb_dump_list(H264eDpb *dpb) in h264e_dpb_dump_list() argument 95 dpb->dpb_size, dpb->used_size, dpb->st_size, dpb->lt_size); in h264e_dpb_dump_list() [all …]
|
| H A D | h264e_dpb.h | 138 MPP_RET h264e_dpb_init(H264eDpb *dpb, H264eReorderInfo *reorder, H264eMarkingInfo *marking); 139 MPP_RET h264e_dpb_deinit(H264eDpb *dpb); 141 MPP_RET h264e_dpb_setup(H264eDpb *dpb, MppEncCfgSet* cfg, H264eSps *sps); 150 MPP_RET h264e_dpb_proc(H264eDpb *dpb, EncCpbStatus *cpb); 155 MPP_RET h264e_dpb_hal_start(H264eDpb *dpb, RK_S32 slot_idx); 156 MPP_RET h264e_dpb_hal_end(H264eDpb *dpb, RK_S32 slot_idx); 158 void h264e_dpb_check(H264eDpb *dpb, EncCpbStatus *cpb); 160 #define h264e_dpb_dump_frms(dpb) h264e_dpb_dump_frm(dpb, __FUNCTION__, __LINE__) argument 162 void h264e_dpb_dump_frm(H264eDpb *dpb, const char *caller, RK_S32 line);
|
| H A D | h264e_api_v2.c | 60 H264eDpb dpb; member 215 h264e_dpb_init(&p->dpb, &p->reorder, &p->marking); in h264e_init() 653 h264e_dpb_setup(&p->dpb, p->cfg, &p->sps); in h264e_gen_hdr() 728 H264eDpb *dpb = &p->dpb; in h264e_proc_dpb() local 739 h264e_dpb_proc(dpb, cpb); in h264e_proc_dpb() 741 curr = dpb->curr; in h264e_proc_dpb() 742 refr = dpb->refr; in h264e_proc_dpb() 745 h264e_slice_update(&p->slice, p->cfg, &p->sps, &p->pps, dpb->curr); in h264e_proc_dpb() 753 frms->usage[i] = dpb->frames[i].on_used; in h264e_proc_dpb() 756 h264e_dpb_check(dpb, cpb); in h264e_proc_dpb() [all …]
|
| /OK3568_Linux_fs/external/mpp/mpp/codec/enc/h265/ |
| H A D | h265e_dpb.c | 72 MPP_RET h265e_dpb_init_curr(H265eDpb *dpb, H265eDpbFrm *frm) in h265e_dpb_init_curr() argument 77 frm->dpb = dpb; in h265e_dpb_init_curr() 85 frm->seq_idx = dpb->seq_idx; in h265e_dpb_init_curr() 86 dpb->seq_idx++; in h265e_dpb_init_curr() 92 MPP_RET h265e_dpb_get_curr(H265eDpb *dpb) in h265e_dpb_get_curr() argument 97 for (i = 0; i < MPP_ARRAY_ELEMS(dpb->frame_list); i++) { in h265e_dpb_get_curr() 98 if (!dpb->frame_list[i].on_used) { in h265e_dpb_get_curr() 99 dpb->curr = &dpb->frame_list[i]; in h265e_dpb_get_curr() 100 h265e_dbg_dpb("get free dpb slot_index %d", dpb->curr->slot_idx); in h265e_dpb_get_curr() 104 h265e_dpb_init_curr(dpb, dpb->curr); in h265e_dpb_get_curr() [all …]
|
| H A D | h265e_dpb.h | 64 H265eDpb *dpb; member 132 MPP_RET h265e_dpb_init(H265eDpb **dpb); 133 MPP_RET h265e_dpb_deinit(H265eDpb *dpb); 134 MPP_RET h265e_dpb_setup_buf_size(H265eDpb *dpb, RK_U32 size[], RK_U32 count); 135 MPP_RET h265e_dpb_get_curr(H265eDpb *dpb); 136 void h265e_dpb_build_list(H265eDpb *dpb, EncCpbStatus *cpb); 137 void h265e_dpb_proc_cpb(H265eDpb *dpb, EncCpbStatus *cpb); 139 #define h265e_dpb_dump_frms(dpb) h265e_dpb_dump_frm(dpb, __FUNCTION__) argument 141 void h265e_dpb_dump_frm(H265eDpb *dpb, const char *caller);
|
| H A D | h265e_slice.c | 214 H265eSlice *slice = p->dpb->curr->slice; in h265e_slice_init() 215 p->slice = p->dpb->curr->slice; in h265e_slice_init() 235 p->dpb->curr->is_key_frame = 0; in h265e_slice_init() 238 p->dpb->curr->is_key_frame = 1; in h265e_slice_init() 239 p->dpb->curr->status.is_intra = 1; in h265e_slice_init() 240 p->dpb->gop_idx = 0; in h265e_slice_init() 243 p->dpb->curr->status.is_intra = 0; in h265e_slice_init() 246 p->dpb->curr->status.val = curr.val; in h265e_slice_init() 269 slice->poc = p->dpb->curr->seq_idx; in h265e_slice_init() 270 slice->gop_idx = p->dpb->gop_idx; in h265e_slice_init() [all …]
|
| H A D | h265e_api.c | 191 h265e_dpb_deinit(p->dpb); in h265e_deinit() 206 if (NULL == p->dpb) in h265e_gen_hdr() 207 h265e_dpb_init(&p->dpb); in h265e_gen_hdr() 245 h265e_dpb_proc_cpb(p->dpb, cpb); in h265e_proc_dpb() 246 h265e_dpb_get_curr(p->dpb); in h265e_proc_dpb() 248 h265e_dpb_build_list(p->dpb, cpb); in h265e_proc_dpb() 250 rc_task->frm = p->dpb->curr->status; in h265e_proc_dpb()
|
| H A D | h265e_codec.h | 72 H265eDpb *dpb; member
|
| H A D | h265e_syntax.c | 345 sp->recon_pic.slot_idx = h->dpb->curr->slot_idx; in fill_ref_parameters() 350 sp->ref_pic.slot_idx = h->dpb->curr->slot_idx; in fill_ref_parameters()
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/hantro/ |
| H A D | hantro_h264.c | 231 const struct v4l2_h264_dpb_entry *dpb = ctx->h264_dec.dpb; in prepare_table() local 235 tbl->poc[i * 2] = dpb[i].top_field_order_cnt; in prepare_table() 236 tbl->poc[i * 2 + 1] = dpb[i].bottom_field_order_cnt; in prepare_table() 255 DECLARE_BITMAP(new, ARRAY_SIZE(dec_param->dpb)) = { 0, }; in update_dpb() 256 DECLARE_BITMAP(used, ARRAY_SIZE(dec_param->dpb)) = { 0, }; in update_dpb() 262 for (i = 0; i < ARRAY_SIZE(ctx->h264_dec.dpb); i++) in update_dpb() 263 ctx->h264_dec.dpb[i].flags &= ~V4L2_H264_DPB_ENTRY_FLAG_ACTIVE; in update_dpb() 266 for (i = 0; i < ARRAY_SIZE(dec_param->dpb); i++) { in update_dpb() 267 const struct v4l2_h264_dpb_entry *ndpb = &dec_param->dpb[i]; in update_dpb() 276 for_each_clear_bit(j, used, ARRAY_SIZE(ctx->h264_dec.dpb)) { in update_dpb() [all …]
|
| H A D | hantro_g1_h264_dec.c | 130 struct v4l2_h264_dpb_entry *dpb = ctx->h264_dec.dpb; in set_ref() local 144 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE) in set_ref() 147 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in set_ref() 161 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in set_ref() 162 reg |= G1_REG_REF_PIC_REFER0_NBR(dpb[i].pic_num); in set_ref() 164 reg |= G1_REG_REF_PIC_REFER0_NBR(dpb[i].frame_num); in set_ref() 166 if (dpb[i + 1].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in set_ref() 167 reg |= G1_REG_REF_PIC_REFER1_NBR(dpb[i + 1].pic_num); in set_ref() 169 reg |= G1_REG_REF_PIC_REFER1_NBR(dpb[i + 1].frame_num); in set_ref()
|
| H A D | hantro_hw.h | 90 struct v4l2_h264_dpb_entry dpb[HANTRO_H264_DPB_SIZE]; member
|
| /OK3568_Linux_fs/kernel/drivers/media/v4l2-core/ |
| H A D | v4l2-h264.c | 28 const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]) in v4l2_h264_init_reflist_builder() 48 if (!(dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE)) in v4l2_h264_init_reflist_builder() 51 b->refs[i].pic_num = dpb[i].pic_num; in v4l2_h264_init_reflist_builder() 52 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in v4l2_h264_init_reflist_builder() 61 if (dpb[i].frame_num > cur_frame_num) in v4l2_h264_init_reflist_builder() 62 b->refs[i].frame_num = (int)dpb[i].frame_num - in v4l2_h264_init_reflist_builder() 65 b->refs[i].frame_num = dpb[i].frame_num; in v4l2_h264_init_reflist_builder() 67 if (dpb[i].fields == V4L2_H264_FRAME_REF) in v4l2_h264_init_reflist_builder() 68 pic_order_count = min(dpb[i].top_field_order_cnt, in v4l2_h264_init_reflist_builder() 69 dpb[i].bottom_field_order_cnt); in v4l2_h264_init_reflist_builder() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/rkvdec/ |
| H A D | rkvdec-h264.c | 643 const struct v4l2_h264_dpb_entry *dpb = dec_params->dpb; in assemble_hw_pps() local 719 for (i = 0; i < ARRAY_SIZE(dec_params->dpb); i++) { in assemble_hw_pps() 722 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in assemble_hw_pps() 735 for (i = 0; i < ARRAY_SIZE(dec_params->dpb); i++) { in lookup_ref_buf_idx() 737 const struct v4l2_h264_dpb_entry *dpb = run->decode_params->dpb; in lookup_ref_buf_idx() local 741 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE) in lookup_ref_buf_idx() 743 dpb[i].reference_ts, 0); in lookup_ref_buf_idx() 753 const struct v4l2_h264_dpb_entry *dpb = dec_params->dpb; in assemble_hw_rps() local 771 for (i = 0; i < ARRAY_SIZE(dec_params->dpb); i++) { in assemble_hw_rps() 772 if (!(dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE)) in assemble_hw_rps() [all …]
|
| /OK3568_Linux_fs/external/mpp/mpp/codec/dec/avs/ |
| H A D | avsd_parse.c | 411 set_frame_output(p_dec, p_dec->dpb[1]); in avsd_reset_parameters() 412 set_frame_output(p_dec, p_dec->dpb[0]); in avsd_reset_parameters() 414 set_frame_unref(p_dec, p_dec->dpb[1]); in avsd_reset_parameters() 415 set_frame_unref(p_dec, p_dec->dpb[0]); in avsd_reset_parameters() 419 p_dec->dpb[0] = NULL; in avsd_reset_parameters() 420 p_dec->dpb[1] = NULL; in avsd_reset_parameters() 491 if (p_dec->dpb[0] && p_dec->dpb[0]->slot_idx >= 0 && in avsd_set_dpb() 492 (p_dec->dpb[0]->slot_idx != p_dec->cur->slot_idx)) { in avsd_set_dpb() 493 mpp_buf_slot_set_flag(p_dec->frame_slots, p_dec->dpb[0]->slot_idx, SLOT_HAL_INPUT); in avsd_set_dpb() 495 task->refer[1] = p_dec->dpb[0]->slot_idx; in avsd_set_dpb() [all …]
|
| H A D | avsd_api.c | 157 set_frame_output(p_dec, p_dec->dpb[1]); in avsd_flush() 158 set_frame_output(p_dec, p_dec->dpb[0]); in avsd_flush()
|
| H A D | avsd_parse.h | 228 AvsdFrame_t *dpb[2]; //!< 2 refer frames or 4 refer field member
|
| /OK3568_Linux_fs/external/mpp/mpp/codec/dec/avs2/ |
| H A D | avs2d_dpb.c | 142 mgr->dpb = mpp_calloc(Avs2dFrame_t*, mgr->dpb_size); in avs2d_dpb_create() 144 mgr->dpb[i] = new_frame(); in avs2d_dpb_create() 145 MEM_CHECK(ret, mgr->dpb[i]); in avs2d_dpb_create() 146 mpp_frame_init(&mgr->dpb[i]->frame); in avs2d_dpb_create() 147 avs2d_dbg_dpb("DPB[%d], frame %p", i, mgr->dpb[i]->frame); in avs2d_dpb_create() 148 MEM_CHECK(ret, mgr->dpb[i]->frame); in avs2d_dpb_create() 166 mpp_frame_deinit(&mgr->dpb[i]->frame); in avs2d_dpb_destroy() 167 MPP_FREE(mgr->dpb[i]); in avs2d_dpb_destroy() 170 MPP_FREE(mgr->dpb); in avs2d_dpb_destroy() 189 p = mgr->dpb[i]; in recompute_cycle_order_index() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/sunxi/cedrus/ |
| H A D | cedrus_h264.c | 111 for (i = 0; i < ARRAY_SIZE(decode->dpb); i++) { in cedrus_write_frame_list() 112 const struct v4l2_h264_dpb_entry *dpb = &decode->dpb[i]; in cedrus_write_frame_list() local 116 if (!(dpb->flags & V4L2_H264_DPB_ENTRY_FLAG_VALID)) in cedrus_write_frame_list() 119 buf_idx = vb2_find_timestamp(cap_q, dpb->reference_ts, 0); in cedrus_write_frame_list() 127 if (run->dst->vb2_buf.timestamp == dpb->reference_ts) { in cedrus_write_frame_list() 132 if (!(dpb->flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE)) in cedrus_write_frame_list() 136 dpb->top_field_order_cnt, in cedrus_write_frame_list() 137 dpb->bottom_field_order_cnt, in cedrus_write_frame_list() 186 const struct v4l2_h264_dpb_entry *dpb; in _cedrus_write_ref_list() local 193 dpb = &decode->dpb[dpb_idx]; in _cedrus_write_ref_list() [all …]
|
| H A D | cedrus_h265.c | 136 const struct v4l2_hevc_dpb_entry *dpb, in cedrus_h265_frame_info_write_dpb() argument 144 int buffer_index = vb2_find_timestamp(vq, dpb[i].timestamp, 0); in cedrus_h265_frame_info_write_dpb() 146 dpb[i].pic_order_cnt[0], in cedrus_h265_frame_info_write_dpb() 147 dpb[i].pic_order_cnt[1] in cedrus_h265_frame_info_write_dpb() 153 cedrus_h265_frame_info_write_single(ctx, i, dpb[i].field_pic, in cedrus_h265_frame_info_write_dpb() 160 const struct v4l2_hevc_dpb_entry *dpb, in cedrus_h265_ref_pic_list_write() argument 175 if (dpb[index].rps == V4L2_HEVC_DPB_ENTRY_RPS_LT_CURR) in cedrus_h265_ref_pic_list_write() 533 cedrus_h265_frame_info_write_dpb(ctx, slice_params->dpb, in cedrus_h265_setup() 551 cedrus_h265_ref_pic_list_write(dev, slice_params->dpb, in cedrus_h265_setup() 570 cedrus_h265_ref_pic_list_write(dev, slice_params->dpb, in cedrus_h265_setup()
|
| /OK3568_Linux_fs/kernel/include/media/ |
| H A D | v4l2-h264.h | 48 const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]);
|
| H A D | hevc-ctrls.h | 205 struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; member
|
| H A D | h264-ctrls.h | 203 struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]; member
|
| /OK3568_Linux_fs/kernel/drivers/media/platform/sti/delta/ |
| H A D | delta-debug.c | 21 s->profile, s->level, s->dpb, in delta_streaminfo_str()
|
| /OK3568_Linux_fs/kernel/drivers/media/platform/s5p-mfc/ |
| H A D | s5p_mfc_opr_v5.c | 381 unsigned int dpb; in s5p_mfc_set_dec_frame_buffer_v5() local 389 dpb = mfc_read(dev, S5P_FIMV_SI_CH0_DPB_CONF_CTRL) & in s5p_mfc_set_dec_frame_buffer_v5() 391 mfc_write(dev, ctx->total_dpb_count | dpb, in s5p_mfc_set_dec_frame_buffer_v5() 1067 unsigned int dpb; in s5p_mfc_set_flush() local 1070 dpb = mfc_read(dev, S5P_FIMV_SI_CH0_DPB_CONF_CTRL) | ( in s5p_mfc_set_flush() 1073 dpb = mfc_read(dev, S5P_FIMV_SI_CH0_DPB_CONF_CTRL) & in s5p_mfc_set_flush() 1075 mfc_write(dev, dpb, S5P_FIMV_SI_CH0_DPB_CONF_CTRL); in s5p_mfc_set_flush()
|