Home
last modified time | relevance | path

Searched refs:slice (Results 1 – 25 of 31) sorted by relevance

12

/rockchip-linux_mpp/mpp/codec/enc/h264/
H A Dh264e_slice.c31 void h264e_slice_init(H264eSlice *slice, H264eReorderInfo *reorder, in h264e_slice_init() argument
34 memset(slice, 0, sizeof(*slice)); in h264e_slice_init()
36 slice->num_ref_idx_active = 1; in h264e_slice_init()
38 slice->reorder = reorder; in h264e_slice_init()
39 slice->marking = marking; in h264e_slice_init()
42 RK_S32 h264e_slice_update(H264eSlice *slice, MppEncCfgSet *cfg, in h264e_slice_update() argument
48 slice->mb_w = sps->pic_width_in_mbs; in h264e_slice_update()
49 slice->mb_h = sps->pic_height_in_mbs; in h264e_slice_update()
50 slice->max_num_ref_frames = sps->num_ref_frames; in h264e_slice_update()
51 slice->log2_max_frame_num = sps->log2_max_frame_num_minus4 + 4; in h264e_slice_update()
[all …]
H A Dh264e_slice.h163 void h264e_slice_init(H264eSlice *slice, H264eReorderInfo *reorder,
165 RK_S32 h264e_slice_update(H264eSlice *slice, MppEncCfgSet *cfg,
169 RK_S32 h264e_slice_read(H264eSlice *slice, void *p, RK_S32 size);
170 RK_S32 h264e_slice_write(H264eSlice *slice, void *p, RK_U32 size);
171 RK_S32 h264e_slice_write_pskip(H264eSlice *slice, void *p, RK_U32 size);
H A Dh264e_api_v2.c66 H264eSlice slice; member
251 h264e_slice_init(&p->slice, &p->reorder, &p->marking); in h264e_init()
464 h264e_slice_update(&p->slice, p->cfg, &p->sps, &p->pps, dpb->curr); in h264e_proc_dpb()
507 h264e_add_syntax(p, H264E_SYN_SLICE, &p->slice); in h264e_proc_hal()
526 H264eSlice *slice = &p->slice; in h264e_proc_hal() local
531 prefix->idr_flag = slice->idr_flag; in h264e_proc_hal()
532 prefix->nal_ref_idc = slice->nal_reference_idc; in h264e_proc_hal()
585 slice_len = h264e_slice_write_pskip(&p->slice, base, buf_size); in h264e_sw_enc()
/rockchip-linux_mpp/mpp/codec/enc/h265/
H A Dh265e_slice.c41 H265eDpbFrm* get_lt_ref_pic(H265eDpbFrm *frame_list, H265eSlice *slice, RK_S32 poc, RK_U32 pocHasMs… in get_lt_ref_pic() argument
46 RK_S32 pocCycle = 1 << slice->m_sps->m_bitsForPOC; in get_lt_ref_pic()
55 if (frame->on_used && frame->poc != slice->poc && frame->slice->is_referenced) { in get_lt_ref_pic()
75 void h265e_slice_set_ref_list(H265eDpbFrm *frame_list, H265eSlice *slice) in h265e_slice_set_ref_list() argument
77 H265eReferencePictureSet *rps = slice->m_rps; in h265e_slice_set_ref_list()
88 if (slice->m_sliceType == I_SLICE) { in h265e_slice_set_ref_list()
89 memset(slice->m_refPicList, 0, sizeof(slice->m_refPicList)); in h265e_slice_set_ref_list()
90 memset(slice->m_numRefIdx, 0, sizeof(slice->m_numRefIdx)); in h265e_slice_set_ref_list()
95 refPic = get_ref_pic(frame_list, slice->poc + rps->delta_poc[i]); in h265e_slice_set_ref_list()
105 refPic = get_ref_pic(frame_list, slice->poc + rps->delta_poc[i]); in h265e_slice_set_ref_list()
[all …]
H A Dh265e_syntax.c52 pp->pps_id = h->slice->m_ppsId; in fill_picture_parameters()
150 H265eSlice *slice = h->slice; in fill_slice_parameters() local
165 sp->cbc_init_flg = slice->m_cabacInitFlag; in fill_slice_parameters()
166 sp->mvd_l1_zero_flg = slice->m_bLMvdL1Zero; in fill_slice_parameters()
169 sp->ref_pic_lst_mdf_l0 = slice->ref_pic_list_modification_flag_l0; in fill_slice_parameters()
174 …sp->num_refidx_act_ovrd = (((RK_U32)slice->m_numRefIdx[0] != slice->m_pps->m_numRefIdxL0DefaultAct… in fill_slice_parameters()
175 || (slice->m_sliceType == B_SLICE && in fill_slice_parameters()
176 … (RK_U32)slice->m_numRefIdx[1] != slice->m_pps->m_numRefIdxL1DefaultActive)); in fill_slice_parameters()
178 sp->sli_sao_chrm_flg = slice->m_sps->m_bUseSAO && slice->m_saoEnabledFlagChroma; in fill_slice_parameters()
179 sp->sli_sao_luma_flg = slice->m_sps->m_bUseSAO && slice->m_saoEnabledFlag; in fill_slice_parameters()
[all …]
H A Dh265e_dpb.c46 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()
[all …]
H A Dh265e_enctropy.c152 H265eSlice *slice = (H265eSlice *)slice_ctx; in h265e_reset_enctropy() local
153 RK_U8 cabacInitFlag = slice->m_cabacInitFlag; in h265e_reset_enctropy()
154 RK_S32 qp = slice->m_sliceQp; in h265e_reset_enctropy()
155 SliceType sliceType = slice->m_sliceType; in h265e_reset_enctropy()
158 …initBuffer(&slice->m_contextModels[OFF_SPLIT_FLAG_CTX], sliceType, cabacInitFlag, qp, (RK_U8*)INIT… in h265e_reset_enctropy()
159 …initBuffer(&slice->m_contextModels[OFF_SKIP_FLAG_CTX], sliceType, cabacInitFlag, qp, (RK_U8*)INIT_… in h265e_reset_enctropy()
160 …initBuffer(&slice->m_contextModels[OFF_MERGE_FLAG_EXT_CTX], sliceType, cabacInitFlag, qp, (RK_U8*)… in h265e_reset_enctropy()
161 …initBuffer(&slice->m_contextModels[OFF_MERGE_IDX_EXT_CTX], sliceType, cabacInitFlag, qp, (uint8_t*… in h265e_reset_enctropy()
H A Dh265e_slice.h446 void h265e_slice_set_ref_list(H265eDpbFrm *frame_list, H265eSlice *slice);
447 void h265e_slice_set_ref_poc_list(H265eSlice *slice);
449 RK_S32 h265e_code_slice_skip_frame(void *ctx, H265eSlice *slice, RK_U8 *buf, RK_S32 len);
450 H265eDpbFrm* get_lt_ref_pic(H265eDpbFrm *frame_list, H265eSlice *slice, RK_S32 poc, RK_U32 pocHasMs…
H A Dh265e_codec.h71 H265eSlice *slice; member
H A Dh265e_dpb.h87 H265eSlice *slice; member
H A Dh265e_api.c371 p->slice->m_sliceQp = task->rc_task->info.quality_target; in h265e_proc_enc_skip()
372 new_length = h265e_code_slice_skip_frame(ctx, p->slice, ptr, len); in h265e_proc_enc_skip()
/rockchip-linux_mpp/mpp/hal/common/h264/
H A Dhal_h264e_stream_amend.c101 H264eSlice *slice, H264ePrefixNal *prefix) in h264e_vepu_stream_amend_config() argument
123 slice->pic_order_cnt_type = cfg->h264.poc_type; in h264e_vepu_stream_amend_config()
125 ctx->slice = slice; in h264e_vepu_stream_amend_config()
140 H264eSlice *slice = ctx->slice; in h264e_vepu_stream_amend_proc() local
160 RK_U32 is_cabac = ctx->slice->entropy_coding_mode; in h264e_vepu_stream_amend_proc()
206 if (slice->is_multi_slice) { in h264e_vepu_stream_amend_proc()
226 nal_len, slice->is_multi_slice, last_slice, prefix); in h264e_vepu_stream_amend_proc()
244 memcpy(&slice_rd, slice, sizeof(slice_rd)); in h264e_vepu_stream_amend_proc()
262 slice->qp_delta = slice_rd.qp_delta; in h264e_vepu_stream_amend_proc()
263 slice->first_mb_in_slice = slice_rd.first_mb_in_slice; in h264e_vepu_stream_amend_proc()
[all …]
H A Dhal_h264e_stream_amend.h24 H264eSlice *slice; member
49 H264eSlice *slice, H264ePrefixNal *prefix);
/rockchip-linux_mpp/mpp/hal/rkenc/h264e/
H A Dhal_h264e_vepu541.c63 H264eSlice *slice; member
321 ctx->slice = desc->p; in update_vepu541_syntax()
368 ctx->slice, ctx->prefix); in hal_h264e_vepu541_get_task()
554 H264ePps *pps, H264eSlice *slice) in setup_vepu541_codec() argument
559 regs->reg013.cur_frm_ref = slice->nal_reference_idc > 0; in setup_vepu541_codec()
561 regs->reg013.lamb_mod_sel = (slice->slice_type == H264_I_SLICE) ? 0 : 1; in setup_vepu541_codec()
565 regs->reg103.nal_ref_idc = slice->nal_reference_idc; in setup_vepu541_codec()
566 regs->reg103.nal_unit_type = slice->nalu_type; in setup_vepu541_codec()
583 regs->reg106.sli_type = (slice->slice_type == H264_I_SLICE) ? (2) : (0); in setup_vepu541_codec()
584 regs->reg106.pps_id = slice->pic_parameter_set_id; in setup_vepu541_codec()
[all …]
H A Dhal_h264e_vepu540c.c67 H264eSlice *slice; member
328 ctx->slice = desc->p; in update_vepu540c_syntax()
371 ctx->slice, ctx->prefix); in hal_h264e_vepu540c_get_task()
546 H264ePps *pps, H264eSlice *slice) in setup_vepu540c_codec() argument
551 regs->reg_base.enc_pic.cur_frm_ref = slice->nal_reference_idc > 0; in setup_vepu540c_codec()
554 regs->reg_base.synt_nal.nal_ref_idc = slice->nal_reference_idc; in setup_vepu540c_codec()
555 regs->reg_base.synt_nal.nal_unit_type = slice->nalu_type; in setup_vepu540c_codec()
571 regs->reg_base.synt_sli0.sli_type = (slice->slice_type == H264_I_SLICE) ? (2) : (0); in setup_vepu540c_codec()
572 regs->reg_base.synt_sli0.pps_id = slice->pic_parameter_set_id; in setup_vepu540c_codec()
574 regs->reg_base.synt_sli0.num_ref_ovrd = slice->num_ref_idx_override; in setup_vepu540c_codec()
[all …]
H A Dhal_h264e_vepu580.c126 H264eSlice *slice; member
545 ctx->slice = desc->p; in update_vepu580_syntax()
610 H264eSlice *slice = &ctx->slice_sets[ctx->task_idx]; in hal_h264e_vepu580_get_task() local
618 if (ctx->slice) { in hal_h264e_vepu580_get_task()
619 memcpy(slice, ctx->slice, sizeof(H264eSlice)); in hal_h264e_vepu580_get_task()
631 slice, prefix); in hal_h264e_vepu580_get_task()
634 ctx->slice, ctx->prefix); in hal_h264e_vepu580_get_task()
892 H264ePps *pps, H264eSlice *slice) in setup_vepu580_codec() argument
897 regs->reg_base.enc_pic.cur_frm_ref = slice->nal_reference_idc > 0; in setup_vepu580_codec()
900 regs->reg_base.synt_nal.nal_ref_idc = slice->nal_reference_idc; in setup_vepu580_codec()
[all …]
H A Dhal_h264e_vepu510.c146 H264eSlice *slice; member
523 ctx->slice = desc->p; in update_vepu510_syntax()
592 H264eSlice *slice = &ctx->slice_sets[ctx->task_idx]; in hal_h264e_vepu510_get_task() local
600 if (ctx->slice) { in hal_h264e_vepu510_get_task()
601 memcpy(slice, ctx->slice, sizeof(H264eSlice)); in hal_h264e_vepu510_get_task()
613 slice, prefix); in hal_h264e_vepu510_get_task()
616 ctx->slice, ctx->prefix); in hal_h264e_vepu510_get_task()
913 H264ePps *pps, H264eSlice *slice) in setup_vepu510_codec() argument
920 reg_frm->common.enc_pic.cur_frm_ref = slice->nal_reference_idc > 0; in setup_vepu510_codec()
923 reg_frm->synt_nal.nal_ref_idc = slice->nal_reference_idc; in setup_vepu510_codec()
[all …]
H A Dhal_h264e_vepu511.c149 H264eSlice *slice; member
522 ctx->slice = desc->p; in update_vepu511_syntax()
591 H264eSlice *slice = &ctx->slice_sets[ctx->task_idx]; in hal_h264e_vepu511_get_task() local
599 if (ctx->slice) { in hal_h264e_vepu511_get_task()
600 memcpy(slice, ctx->slice, sizeof(H264eSlice)); in hal_h264e_vepu511_get_task()
612 slice, prefix); in hal_h264e_vepu511_get_task()
615 ctx->slice, ctx->prefix); in hal_h264e_vepu511_get_task()
885 H264eSlice *slice = ctx->slice; in setup_vepu511_codec() local
890 reg_frm->common.enc_pic.cur_frm_ref = slice->nal_reference_idc > 0; in setup_vepu511_codec()
893 reg_frm->synt_nal.nal_ref_idc = slice->nal_reference_idc; in setup_vepu511_codec()
[all …]
H A Dhal_h264e_vepu580_tune.c123 H264eSlice *slice = ctx->slice; in vepu580_h264e_tune_reg_patch() local
135 if (slice->slice_type != H264_I_SLICE) { in vepu580_h264e_tune_reg_patch()
198 if (slice->slice_type != H264_I_SLICE) { in vepu580_h264e_tune_reg_patch()
/rockchip-linux_mpp/mpp/hal/vpu/h264e/
H A Dhal_h264e_vepu1_v2.c65 H264eSlice *slice; member
173 ctx->slice = desc->p; in update_vepu1_syntax()
218 H264eSlice *slice = ctx->slice; in hal_h264e_vepu1_get_task_v2() local
220 h264e_vepu_buf_set_cabac_idc(hw_bufs, slice->cabac_init_idc); in hal_h264e_vepu1_get_task_v2()
244 ctx->slice, ctx->prefix); in hal_h264e_vepu1_get_task_v2()
298 H264eSlice *slice = ctx->slice; in hal_h264e_vepu1_gen_regs_v2() local
323 h264e_vepu_slice_split_cfg(ctx->slice, &ctx->hw_mbrc, task->rc_task, ctx->cfg); in hal_h264e_vepu1_gen_regs_v2()
361 val |= VEPU_REG_CABAC_INIT_IDC(slice->cabac_init_idc); in hal_h264e_vepu1_gen_regs_v2()
441 | VEPU_REG_SLICE_FILTER_ALPHA(slice->slice_alpha_c0_offset_div2) in hal_h264e_vepu1_gen_regs_v2()
442 | VEPU_REG_SLICE_FILTER_BETA(slice->slice_beta_offset_div2) in hal_h264e_vepu1_gen_regs_v2()
[all …]
H A Dhal_h264e_vepu2_v2.c65 H264eSlice *slice; member
174 ctx->slice = desc->p; in update_vepu2_syntax()
219 H264eSlice *slice = ctx->slice; in hal_h264e_vepu2_get_task_v2() local
221 h264e_vepu_buf_set_cabac_idc(hw_bufs, slice->cabac_init_idc); in hal_h264e_vepu2_get_task_v2()
245 ctx->slice, ctx->prefix); in hal_h264e_vepu2_get_task_v2()
348 H264eSlice *slice = ctx->slice; in hal_h264e_vepu2_gen_regs_v2() local
372 h264e_vepu_slice_split_cfg(ctx->slice, &ctx->hw_mbrc, task->rc_task, ctx->cfg); in hal_h264e_vepu2_gen_regs_v2()
402 val |= VEPU_REG_CABAC_INIT_IDC(slice->cabac_init_idc); in hal_h264e_vepu2_gen_regs_v2()
488 | VEPU_REG_SLICE_FILTER_ALPHA(slice->slice_alpha_c0_offset_div2) in hal_h264e_vepu2_gen_regs_v2()
489 | VEPU_REG_SLICE_FILTER_BETA(slice->slice_beta_offset_div2) in hal_h264e_vepu2_gen_regs_v2()
[all …]
H A Dhal_h264e_vepu_v2.h198 MPP_RET h264e_vepu_slice_split_cfg(H264eSlice *slice, HalH264eVepuMbRc *mbrc,
/rockchip-linux_mpp/mpp/codec/dec/h265/
H A Dh265d_parser2_syntax.c332 static void fill_slice_short(DXVA_Slice_HEVC_Short *slice, in fill_slice_short() argument
335 memset(slice, 0, sizeof(*slice)); in fill_slice_short()
336 slice->BSNALunitDataLocation = position; in fill_slice_short()
337 slice->SliceBytesInBuffer = size; in fill_slice_short()
338 slice->wBadSliceChopping = 0; in fill_slice_short()
341 static void init_slice_cut_param(DXVA_Slice_HEVC_Cut_Param *slice) in init_slice_cut_param() argument
343 memset(slice, 0, sizeof(*slice)); in init_slice_cut_param()
/rockchip-linux_mpp/doc/
H A DRockchip_Developer_Guide_MPP_CN.md567 以H.264编码器为例,编码器的输出数据分为头信息(sps/pps)和图像数据(I/P slice)两部分,头信息需要通过control接口的MPP_ENC_GET_EXTRA_INFO命令获取,图…
679 …ck禁用标志,有效范围为\[0, 2\]。 <br/>0 – deblocking开启。 <br/>1 – deblocking关闭。<br/>2 – 在slice边界关闭deblocking。 |
699 …k禁用标志,有效范围为\[0, 2\]。 <br/>0 – deblocking开启。 <br/>1 – deblocking关闭。 <br/>2 – 在slice边界关闭deblocking。 |
709 …K_S32 | 表示H.265协议中slice_sao_luma_flag参数的非,即当前slice亮度分量的采样点自适应偏移的禁用标志。…
710 …S32 | 表示H.265协议中slice_sao_chroma_flag参数的非,即当前slice色度分量的采样点自适应偏移的禁用标志。…
726 …65协议的slice切分模式 ![](media/Rockchip_Developer_Guide_MPP/MPP_MppEncSplitMode.png) <br>0– 不切分。<br>1– B…
727 … | Slice切分参数: 在BY_BYTE模式下,参数表示每个slice的最大大小。 在BY_CTU模式下,参数表示每个slice包含的宏块…
809 配置和获取H.264/H265编码器的slice切分配置信息,己被MppEncCfg中的split:mode和split:arg取代,不要使用
/rockchip-linux_mpp/mpp/codec/dec/h264/
H A Dh264d_parse.c78 H264_SLICE_t *currSlice = &p_Vid->p_Cur->slice; in reset_slice()
1034 FUN_CHECK(ret = parser_one_nalu(&p_Dec->p_Cur->slice)); in parse_loop()
1052 FUN_CHECK(ret = init_picture(&p_Dec->p_Cur->slice)); in parse_loop()
1059 FUN_CHECK(ret = fill_slice_syntax(&p_Dec->p_Cur->slice, p_Dec->dxva_ctx)); in parse_loop()

12