/kernel/linux/linux-6.6/drivers/media/platform/mediatek/vcodec/decoder/vdec/ |
H A D | vdec_h264_req_common.c | 50 const struct slice_h264_dpb_entry *dpb; in mtk_vdec_h264_fill_dpb_info() local 59 dpb = &decode_params->dpb[index]; in mtk_vdec_h264_fill_dpb_info() 60 if (!(dpb->flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE)) { in mtk_vdec_h264_fill_dpb_info() 65 vb = vb2_find_buffer(vq, dpb->reference_ts); in mtk_vdec_h264_fill_dpb_info() 69 index, dpb->reference_ts); in mtk_vdec_h264_fill_dpb_info() 74 if (!(dpb->flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM)) in mtk_vdec_h264_fill_dpb_info() 198 const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]) in mtk_vdec_h264_copy_decode_params() 204 for (i = 0; i < ARRAY_SIZE(dst_params->dpb); i++) { in mtk_vdec_h264_copy_decode_params() 205 dst_entry = &dst_params->dpb[ in mtk_vdec_h264_copy_decode_params() 196 mtk_vdec_h264_copy_decode_params(struct slice_api_h264_decode_param *dst_params, const struct v4l2_ctrl_h264_decode_params *src_params, const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]) mtk_vdec_h264_copy_decode_params() argument 241 mtk_vdec_h264_update_dpb(const struct v4l2_ctrl_h264_decode_params *dec_param, struct v4l2_h264_dpb_entry *dpb) mtk_vdec_h264_update_dpb() argument [all...] |
H A D | vdec_h264_req_common.h | 31 * struct mtk_h264_dpb_info - h264 dpb information 122 * struct slice_h264_dpb_entry - each dpb information 138 struct slice_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]; member 192 * @h264_dpb_info: dpb buffer information 241 * @dpb: dpb information 246 const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]); 249 * mtk_vdec_h264_update_dpb - updata dpb list. 252 * @dpb: dpb entr [all...] |
H A D | vdec_hevc_req_multi_if.c | 40 * struct mtk_hevc_dpb_info - hevc dpb information 189 * struct slice_hevc_dpb_entry - each dpb information 202 struct slice_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; member 242 * @hevc_dpb_info: dpb reference list 396 const struct slice_hevc_dpb_entry *dpb; in vdec_hevc_fill_dpb_info() local 403 dpb = &decode_params->dpb[index]; in vdec_hevc_fill_dpb_info() 407 vb = vb2_find_buffer(vq, dpb->timestamp); in vdec_hevc_fill_dpb_info() 411 index, dpb->timestamp); in vdec_hevc_fill_dpb_info() 415 hevc_dpb_info[index].field = dpb in vdec_hevc_fill_dpb_info() 555 vdec_hevc_copy_decode_params(struct slice_api_hevc_decode_param *dst_param, const struct v4l2_ctrl_hevc_decode_params *src_param, const struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]) vdec_hevc_copy_decode_params() argument [all...] |
H A D | vdec_h264_req_multi_if.c | 39 * @h264_dpb_info: dpb reference list 149 * @dpb: decoded picture buffer used to store reference 169 struct v4l2_h264_dpb_entry dpb[16]; member 249 mtk_vdec_h264_update_dpb(dec_params, inst->dpb); in get_vdec_sig_decode_parameters() 255 mtk_vdec_h264_copy_decode_params(&slice_param->decode_params, dec_params, inst->dpb); in get_vdec_sig_decode_parameters() 260 v4l2_h264_init_reflist_builder(&reflist_builder, dec_params, sps, inst->dpb); in get_vdec_sig_decode_parameters() 289 mtk_vdec_h264_update_dpb(dec_params, inst->dpb); in vdec_h264_slice_fill_decode_reflist() 292 inst->dpb); in vdec_h264_slice_fill_decode_reflist() 299 inst->dpb); in vdec_h264_slice_fill_decode_reflist()
|
H A D | vdec_h264_req_if.c | 82 * @dpb : decoded picture buffer used to store reference buffer information 93 struct v4l2_h264_dpb_entry dpb[16]; member 129 mtk_vdec_h264_update_dpb(dec_params, inst->dpb); in get_vdec_decode_parameters() 135 dec_params, inst->dpb); in get_vdec_decode_parameters() 141 inst->dpb); in get_vdec_decode_parameters()
|
/kernel/linux/linux-5.10/drivers/media/v4l2-core/ |
H A D | v4l2-h264.c | 22 * @dpb: DPB to use when creating the reference list 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[ in v4l2_h264_init_reflist_builder() 25 v4l2_h264_init_reflist_builder(struct v4l2_h264_reflist_builder *b, const struct v4l2_ctrl_h264_decode_params *dec_params, const struct v4l2_ctrl_h264_sps *sps, const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]) v4l2_h264_init_reflist_builder() argument [all...] |
/kernel/linux/linux-6.6/drivers/media/platform/verisilicon/ |
H A D | hantro_h264.c | 238 const struct v4l2_h264_dpb_entry *dpb = ctx->h264_dec.dpb; in prepare_table() local 244 tbl->poc[i * 2] = dpb[i].top_field_order_cnt; in prepare_table() 245 tbl->poc[i * 2 + 1] = dpb[i].bottom_field_order_cnt; in prepare_table() 247 if (!(dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_VALID)) in prepare_table() 258 if (dpb[i].fields & V4L2_H264_TOP_FIELD_REF) in prepare_table() 261 if (dpb[i].fields & V4L2_H264_BOTTOM_FIELD_REF) in prepare_table() 264 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) { in prepare_table() 271 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in prepare_table() 299 DECLARE_BITMAP(new, ARRAY_SIZE(dec_param->dpb)) in update_dpb() 359 struct v4l2_h264_dpb_entry *dpb = ctx->h264_dec.dpb; hantro_h264_get_ref_buf() local 390 const struct v4l2_h264_dpb_entry *dpb = &ctx->h264_dec.dpb[dpb_idx]; hantro_h264_get_ref_nbr() local [all...] |
H A D | hantro_g2_hevc_dec.c | 382 const struct v4l2_hevc_dpb_entry *dpb = decode_params->dpb; in set_ref() local 429 char poc_diff = decode_params->pic_order_cnt_val - dpb[i].pic_order_cnt_val; in set_ref() 456 luma_addr = hantro_hevc_get_ref_buf(ctx, dpb[i].pic_order_cnt_val); in set_ref() 463 if (dpb[i].flags & V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE) in set_ref()
|
/kernel/linux/linux-5.10/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 in assemble_hw_rps() local 900 const struct v4l2_h264_dpb_entry *dpb = dec_params->dpb; config_registers() local [all...] |
/kernel/linux/linux-5.10/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[ in update_dpb() 316 struct v4l2_h264_dpb_entry *dpb = ctx->h264_dec.dpb; hantro_h264_get_ref_buf() local [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[ in set_ref() [all...] |
H A D | hantro_hw.h | 84 * @dpb: DPB 90 struct v4l2_h264_dpb_entry dpb[HANTRO_H264_DPB_SIZE]; member
|
/kernel/linux/linux-6.6/drivers/staging/media/rkvdec/ |
H A D | rkvdec-h264.c | 640 const struct v4l2_h264_dpb_entry *dpb = dec_params->dpb; in assemble_hw_pps() local 725 for (i = 0; i < ARRAY_SIZE(dec_params->dpb); i++) { in assemble_hw_pps() 728 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in assemble_hw_pps() 741 for (i = 0; i < ARRAY_SIZE(dec_params->dpb); i++) { in lookup_ref_buf_idx() 743 const struct v4l2_h264_dpb_entry *dpb = run->decode_params->dpb; in lookup_ref_buf_idx() local 747 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE) { in lookup_ref_buf_idx() 748 buf = vb2_find_buffer(cap_q, dpb[i].reference_ts); in lookup_ref_buf_idx() 751 dpb[ in lookup_ref_buf_idx() 763 const struct v4l2_h264_dpb_entry *dpb = dec_params->dpb; assemble_hw_rps() local 889 const struct v4l2_h264_dpb_entry *dpb = dec_params->dpb; config_registers() local [all...] |
/kernel/linux/linux-6.6/drivers/media/v4l2-core/ |
H A D | v4l2-h264.c | 28 * @dpb: DPB to use when creating the reference list 34 const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]) in v4l2_h264_init_reflist_builder() 56 if (!(dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE)) in v4l2_h264_init_reflist_builder() 59 if (dpb[i].flags & V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM) in v4l2_h264_init_reflist_builder() 68 if (!b->refs[i].longterm && dpb[i].frame_num > cur_frame_num) in v4l2_h264_init_reflist_builder() 69 b->refs[i].frame_num = (int)dpb[i].frame_num - in v4l2_h264_init_reflist_builder() 72 b->refs[i].frame_num = dpb[i].frame_num; in v4l2_h264_init_reflist_builder() 74 b->refs[i].top_field_order_cnt = dpb[i].top_field_order_cnt; in v4l2_h264_init_reflist_builder() 75 b->refs[i].bottom_field_order_cnt = dpb[i].bottom_field_order_cnt; in v4l2_h264_init_reflist_builder() 86 if (dpb[ in v4l2_h264_init_reflist_builder() 31 v4l2_h264_init_reflist_builder(struct v4l2_h264_reflist_builder *b, const struct v4l2_ctrl_h264_decode_params *dec_params, const struct v4l2_ctrl_h264_sps *sps, const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]) v4l2_h264_init_reflist_builder() argument [all...] |
/kernel/linux/linux-6.6/drivers/staging/media/sunxi/cedrus/ |
H A D | cedrus_h265.c | 149 const struct v4l2_hevc_dpb_entry *dpb, in cedrus_h265_frame_info_write_dpb() 157 struct vb2_buffer *buf = vb2_find_buffer(vq, dpb[i].timestamp); in cedrus_h265_frame_info_write_dpb() 159 dpb[i].pic_order_cnt_val, in cedrus_h265_frame_info_write_dpb() 160 dpb[i].pic_order_cnt_val in cedrus_h265_frame_info_write_dpb() 166 cedrus_h265_frame_info_write_single(ctx, i, dpb[i].field_pic, in cedrus_h265_frame_info_write_dpb() 173 const struct v4l2_hevc_dpb_entry *dpb, in cedrus_h265_ref_pic_list_write() 188 if (dpb[index].flags & V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE) in cedrus_h265_ref_pic_list_write() 336 const struct v4l2_hevc_dpb_entry *dpb; in cedrus_h265_is_low_delay() local 342 dpb = run->h265.decode_params->dpb; in cedrus_h265_is_low_delay() 148 cedrus_h265_frame_info_write_dpb(struct cedrus_ctx *ctx, const struct v4l2_hevc_dpb_entry *dpb, u8 num_active_dpb_entries) cedrus_h265_frame_info_write_dpb() argument 172 cedrus_h265_ref_pic_list_write(struct cedrus_dev *dev, const struct v4l2_hevc_dpb_entry *dpb, const u8 list[], u8 num_ref_idx_active, u32 sram_offset) cedrus_h265_ref_pic_list_write() argument [all...] |
H A D | cedrus_h264.c | 104 for (i = 0; i < ARRAY_SIZE(decode->dpb); i++) { in cedrus_write_frame_list() 105 const struct v4l2_h264_dpb_entry *dpb = &decode->dpb[i]; in cedrus_write_frame_list() local 109 if (!(dpb->flags & V4L2_H264_DPB_ENTRY_FLAG_VALID)) in cedrus_write_frame_list() 112 buf = vb2_find_buffer(cap_q, dpb->reference_ts); in cedrus_write_frame_list() 120 if (run->dst->vb2_buf.timestamp == dpb->reference_ts) { in cedrus_write_frame_list() 125 if (!(dpb->flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE)) in cedrus_write_frame_list() 129 dpb->top_field_order_cnt, in cedrus_write_frame_list() 130 dpb->bottom_field_order_cnt, in cedrus_write_frame_list() 206 const struct v4l2_h264_dpb_entry *dpb; in _cedrus_write_ref_list() local [all...] |
/kernel/linux/linux-5.10/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 [all...] |
H A D | cedrus_h265.c | 136 const struct v4l2_hevc_dpb_entry *dpb, in cedrus_h265_frame_info_write_dpb() 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() 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() 135 cedrus_h265_frame_info_write_dpb(struct cedrus_ctx *ctx, const struct v4l2_hevc_dpb_entry *dpb, u8 num_active_dpb_entries) cedrus_h265_frame_info_write_dpb() argument 159 cedrus_h265_ref_pic_list_write(struct cedrus_dev *dev, const struct v4l2_hevc_dpb_entry *dpb, const u8 list[], u8 num_ref_idx_active, u32 sram_offset) cedrus_h265_ref_pic_list_write() argument [all...] |
/kernel/linux/linux-6.6/drivers/media/test-drivers/visl/ |
H A D | visl-dec.c | 125 char entry[] = "dpb[%d]:%u, vb2_index: %d\n"; in visl_get_ref_frames() 128 for (i = 0; i < ARRAY_SIZE(run->h264.dpram->dpb); i++) { in visl_get_ref_frames() 129 vb2_buf = vb2_find_buffer(cap_q, run->h264.dpram->dpb[i].reference_ts); in visl_get_ref_frames() 131 run->h264.dpram->dpb[i].reference_ts, in visl_get_ref_frames() 141 char entry[] = "dpb[%d]:%u, vb2_index: %d\n"; in visl_get_ref_frames() 144 for (i = 0; i < ARRAY_SIZE(run->hevc.dpram->dpb); i++) { in visl_get_ref_frames() 145 vb2_buf = vb2_find_buffer(cap_q, run->hevc.dpram->dpb[i].timestamp); in visl_get_ref_frames() 147 run->hevc.dpram->dpb[i].timestamp, in visl_get_ref_frames() 397 for (i = 0; i < ARRAY_SIZE(run->h264.dpram->dpb); i++) in visl_trace_ctrls() 398 trace_v4l2_h264_dpb_entry(&run->h264.dpram->dpb[ in visl_trace_ctrls() [all...] |
/kernel/linux/linux-6.6/drivers/media/platform/nvidia/tegra-vde/ |
H A D | h264.c | 660 const struct v4l2_h264_dpb_entry *dpb = ctx->h264.decode_params->dpb; in get_ref_buf() local 664 if (dpb[dpb_idx].flags & V4L2_H264_DPB_ENTRY_FLAG_ACTIVE) in get_ref_buf() 665 vb = vb2_find_buffer(cap_q, dpb[dpb_idx].reference_ts); in get_ref_buf() 763 const struct v4l2_h264_dpb_entry *dpb = ctx->h264.decode_params->dpb; in tegra_vde_h264_setup_frames() local 802 v4l2_h264_init_reflist_builder(&b, h->decode_params, h->sps, dpb); in tegra_vde_h264_setup_frames()
|
/kernel/linux/linux-5.10/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
|
/kernel/linux/linux-6.6/include/media/ |
H A D | v4l2-h264.h | 52 const struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]);
|
/kernel/linux/linux-5.10/drivers/media/platform/sti/delta/ |
H A D | delta-debug.c | 19 "%4.4s %dx%d %s %s dpb=%d %s %s %s%dx%d@(%d,%d) %s%d/%d", in delta_streaminfo_str() 21 s->profile, s->level, s->dpb, in delta_streaminfo_str()
|
/kernel/linux/linux-6.6/drivers/media/platform/st/sti/delta/ |
H A D | delta-debug.c | 19 "%4.4s %dx%d %s %s dpb=%d %s %s %s%dx%d@(%d,%d) %s%d/%d", in delta_streaminfo_str() 21 s->profile, s->level, s->dpb, in delta_streaminfo_str()
|