| /rockchip-linux_mpp/mpp/codec/enc/h264/ |
| H A D | h264e_slice.c | 31 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 D | h264e_slice.h | 163 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 D | h264e_api_v2.c | 66 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 D | h265e_slice.c | 41 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 D | h265e_syntax.c | 52 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 D | h265e_dpb.c | 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() [all …]
|
| H A D | h265e_enctropy.c | 152 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 D | h265e_slice.h | 446 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 D | h265e_codec.h | 71 H265eSlice *slice; member
|
| H A D | h265e_dpb.h | 87 H265eSlice *slice; member
|
| H A D | h265e_api.c | 371 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 D | hal_h264e_stream_amend.c | 101 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 D | hal_h264e_stream_amend.h | 24 H264eSlice *slice; member 49 H264eSlice *slice, H264ePrefixNal *prefix);
|
| /rockchip-linux_mpp/mpp/hal/rkenc/h264e/ |
| H A D | hal_h264e_vepu541.c | 63 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 D | hal_h264e_vepu540c.c | 67 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 D | hal_h264e_vepu580.c | 126 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 D | hal_h264e_vepu510.c | 146 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 D | hal_h264e_vepu511.c | 149 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 D | hal_h264e_vepu580_tune.c | 123 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 D | hal_h264e_vepu1_v2.c | 65 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 D | hal_h264e_vepu2_v2.c | 65 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 D | hal_h264e_vepu_v2.h | 198 MPP_RET h264e_vepu_slice_split_cfg(H264eSlice *slice, HalH264eVepuMbRc *mbrc,
|
| /rockchip-linux_mpp/mpp/codec/dec/h265/ |
| H A D | h265d_parser2_syntax.c | 332 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 D | Rockchip_Developer_Guide_MPP_CN.md | 567 以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切分模式  <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 D | h264d_parse.c | 78 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()
|