| /rockchip-linux_mpp/mpp/base/ |
| H A D | mpp_enc_cfg.c | 49 STRUCT_START(rc) \ 50 …ENTRY(prefix, s32, rk_s32, mode, FLAG_BASE(0), rc, rc… 51 …ENTRY(prefix, s32, rk_s32, quality, FLAG_INCR, rc, qu… 52 …ENTRY(prefix, s32, rk_s32, bps_target, FLAG_INCR, rc, bp… 53 …ENTRY(prefix, s32, rk_s32, bps_max, FLAG_PREV, rc, bp… 54 …ENTRY(prefix, s32, rk_s32, bps_min, FLAG_PREV, rc, bp… 55 …ENTRY(prefix, s32, rk_s32, fps_in_flex, FLAG_INCR, rc, fp… 56 …ENTRY(prefix, s32, rk_s32, fps_in_num, FLAG_PREV, rc, fp… 57 …ENTRY(prefix, s32, rk_s32, fps_in_denorm, FLAG_PREV, rc, fp… 58 …ALIAS(prefix, s32, rk_s32, fps_in_denom, FLAG_PREV, rc, fp… [all …]
|
| /rockchip-linux_mpp/doc/ |
| H A D | Rockchip_Developer_Guide_MPP_CN.md | 616 | rc:mode | S32 | MppEncRcMode | 表示码率控制模式,目前支持CBR、VBR和AVBR三… 617 | rc:bps_target | S32 | RK_S32 | 表示CBR模式下的目标码率。 … 618 | rc:bps_max | S32 | RK_S32 | 表示VBR/AVBR模式下的最高码率。 … 619 | rc:bps_min | S32 | RK_S32 | 表示VBR/AVBR模式下的最低码率。 … 620 | rc:fps_in_flex | S32 | RK_S32 | 表示输入帧率是否可变的标志位,默认为0。 为0表示输… 621 | rc:fps_in_num | S32 | RK_S32 | 表示输入帧率分数值的分子部分,默认值为30。 … 622 | rc:fps_in_denom | S32 | RK_S32 | 表示输入帧率分数值的分母部分,默认值为1。 … 623 | rc:fps_out_flex | S32 | RK_S32 | 表示输出帧率是否可变的标志位,默认为0。 为0表示输… 624 | rc:fps_out_num | S32 | RK_S32 | 表示输出帧率分数值的分子部分,默认值为30。 … 625 | rc:fps_out_denom | S32 | RK_S32 | 表示输出帧率分数值的分母部分,默认值为1。 … [all …]
|
| /rockchip-linux_mpp/mpp/codec/enc/vp8/ |
| H A D | vp8e_api_v2.c | 45 Vp8eRc *rc; member 55 MppEncRcCfg *rc_cfg = &ctrl_cfg->cfg->rc; in vp8e_init() 108 p->rc = mpp_calloc(Vp8eRc, 1); in vp8e_init() 109 memset(p->rc, 0, sizeof(Vp8eRc)); in vp8e_init() 110 p->rc->frame_coded = 1; in vp8e_init() 111 if (NULL == p->rc) { in vp8e_init() 133 if (p->rc) in vp8e_deinit() 134 mpp_free(p->rc); in vp8e_deinit() 185 syntax[syn_num].data = p->rc; in vp8e_proc_hal()
|
| /rockchip-linux_mpp/mpp/codec/ |
| H A D | mpp_enc_impl.c | 268 if (cfg->rc.max_reenc_times) { in check_low_delay_output() 270 cfg->rc.max_reenc_times = 0; in check_low_delay_output() 273 if (cfg->rc.drop_mode) { in check_low_delay_output() 275 cfg->rc.drop_mode = MPP_ENC_RC_DROP_FRM_DISABLED; in check_low_delay_output() 278 if (cfg->rc.super_mode) { in check_low_delay_output() 280 cfg->rc.super_mode = MPP_ENC_RC_SUPER_FRM_NONE; in check_low_delay_output() 677 MppEncRcCfg *cfg = &enc->cfg->rc; in proc_rc_cfg() 678 MppEncRcCfg *set = &enc->set->rc; in proc_rc_cfg() 1021 if (enc->cfg->rc.refresh_en) { in proc_h264_cfg() 1024 if (!enc->cfg->rc.refresh_mode) in proc_h264_cfg() [all …]
|
| H A D | CMakeLists.txt | 24 add_subdirectory(rc)
|
| /rockchip-linux_mpp/mpp/hal/common/ |
| H A D | hal_info.c | 251 MppEncRcCfg *rc = &cfg->rc; in hal_info_from_enc_cfg() local 264 rc->fps_in_num / rc->fps_in_denom); in hal_info_from_enc_cfg() 266 rc->fps_out_num / rc->fps_out_denom); in hal_info_from_enc_cfg() 268 val = hal_info_to_string(ctx, ENC_INFO_RC_MODE, &rc->rc_mode); in hal_info_from_enc_cfg() 271 hal_info_set(ctx, ENC_INFO_BITRATE, CODEC_INFO_FLAG_NUMBER, rc->bps_target); in hal_info_from_enc_cfg() 272 hal_info_set(ctx, ENC_INFO_GOP_SIZE, CODEC_INFO_FLAG_NUMBER, rc->gop); in hal_info_from_enc_cfg()
|
| /rockchip-linux_mpp/mpp/hal/vpu/h264e/ |
| H A D | hal_h264e_vepu_v2.c | 515 MppEncRcCfg *rc = &cfg->rc; in h264e_vepu_mbrc_setup() local 527 p->bits_per_pic = axb_div_c(rc->bps_target, rc->fps_out_denom, in h264e_vepu_mbrc_setup() 528 rc->fps_out_num); in h264e_vepu_mbrc_setup() 533 mpp_assert(rc->fps_out_num / rc->fps_out_denom <= rc->fps_in_num / rc->fps_in_denom); in h264e_vepu_mbrc_setup() 535 p->fps_in_num = rc->fps_in_num; in h264e_vepu_mbrc_setup() 536 p->fps_in_denom = rc->fps_in_denom; in h264e_vepu_mbrc_setup() 537 p->fps_out_num = rc->fps_out_num; in h264e_vepu_mbrc_setup() 538 p->fps_out_denom = rc->fps_out_denom; in h264e_vepu_mbrc_setup() 540 p->fps_step = rc->fps_in_denom * rc->fps_out_num; in h264e_vepu_mbrc_setup() 541 p->fps_threshold = rc->fps_in_num * rc->fps_out_denom; in h264e_vepu_mbrc_setup() [all …]
|
| H A D | hal_h264e_vepu2_v2.c | 291 RK_U32 refresh_num = ctx->cfg->rc.refresh_num; in setup_intra_refresh() 299 RK_U32 refresh_idx = frm->seq_idx % cfg->rc.gop; in setup_intra_refresh() 303 if (!ctx->cfg->rc.refresh_en || !frm->is_i_refresh) { in setup_intra_refresh() 307 if (ctx->cfg->rc.refresh_mode == MPP_ENC_RC_INTRA_REFRESH_ROW) { in setup_intra_refresh() 314 } else if (ctx->cfg->rc.refresh_mode == MPP_ENC_RC_INTRA_REFRESH_COL) { in setup_intra_refresh()
|
| /rockchip-linux_mpp/mpp/codec/enc/jpeg/ |
| H A D | jpege_api_v2.c | 58 MppEncRcCfg *rc = &p->cfg->rc; in jpege_init_v2() local 61 rc->fps_in_flex = 0; in jpege_init_v2() 62 rc->fps_in_num = 30; in jpege_init_v2() 63 rc->fps_in_denom = 1; in jpege_init_v2() 64 rc->fps_out_flex = 0; in jpege_init_v2() 65 rc->fps_out_num = 30; in jpege_init_v2() 66 rc->fps_out_denom = 1; in jpege_init_v2() 67 rc->rc_mode = MPP_ENC_RC_MODE_FIXQP; in jpege_init_v2()
|
| /rockchip-linux_mpp/mpp/base/test/ |
| H A D | mpp_enc_cfg_test.c | 52 impl->rc.rc_mode, impl->rc.bps_target); in main() 63 impl->rc.rc_mode, impl->rc.bps_target); in main()
|
| /rockchip-linux_mpp/mpp/codec/rc/test/ |
| H A D | CMakeLists.txt | 13 option(${test_tag} "Build rc ${module} unit test" ${BUILD_TEST}) 22 # mpp rc unit test 25 # mpp rc api test
|
| /rockchip-linux_mpp/mpp/codec/enc/h264/ |
| H A D | h264e_sps.c | 65 MppEncRcCfg *rc = &cfg->rc; in h264e_sps_update() local 70 RK_S32 gop = rc->gop; in h264e_sps_update() 220 vui->time_scale = rc->fps_out_num * 2; in h264e_sps_update() 221 vui->num_units_in_tick = rc->fps_out_denom; in h264e_sps_update() 222 vui->fixed_frame_rate = !rc->fps_out_flex; in h264e_sps_update()
|
| H A D | h264e_api_v2.c | 94 MppEncRcCfg *rc_cfg = &cfg->rc; in init_h264e_cfg_set() 278 MppEncRcCfg *rc = &cfg->rc; in h264e_check_cfg() local 281 if (rc->drop_mode == MPP_ENC_RC_DROP_FRM_PSKIP && in h264e_check_cfg() 282 rc->drop_gap == 0 && in h264e_check_cfg() 286 rc->drop_gap = 1; in h264e_check_cfg()
|
| /rockchip-linux_mpp/mpp/codec/rc/ |
| H A D | CMakeLists.txt | 16 rc.c
|
| /rockchip-linux_mpp/mpp/hal/vpu/vp8e/ |
| H A D | hal_vp8e_base.c | 40 pps->qp_sgm[i] = ctx->rc->qp_hdr; in set_frame_params() 133 RK_S32 qp = ctx->rc->qp_hdr; in set_segmentation() 374 vp8e_put_lit(bitbuf, ctx->rc->qp_hdr, 7); in set_frame_header() 501 qp = ctx->rc->qp_hdr; in set_new_frame() 800 MppEncRcCfg *rc = &ctx->cfg->rc; in write_ivf_header() local 819 data[16] = rc->fps_out_num & 0xff; in write_ivf_header() 820 data[17] = (rc->fps_out_num >> 8) & 0xff; in write_ivf_header() 821 data[18] = (rc->fps_out_num >> 16) & 0xff; in write_ivf_header() 822 data[19] = (rc->fps_out_num >> 24) & 0xff; in write_ivf_header() 824 data[20] = rc->fps_out_denom & 0xff; in write_ivf_header() [all …]
|
| /rockchip-linux_mpp/mpp/codec/enc/h265/ |
| H A D | h265e_ps.c | 185 MppEncRcCfg *rc = &ctx->cfg->rc; in h265e_set_sps() local 189 RK_S32 i_timebase_num = rc->fps_out_denom; in h265e_set_sps() 190 RK_S32 i_timebase_den = rc->fps_out_num; in h265e_set_sps() 330 if (rc->drop_mode == MPP_ENC_RC_DROP_FRM_PSKIP) { in h265e_set_sps()
|
| /rockchip-linux_mpp/mpp/hal/common/jpeg/ |
| H A D | hal_jpege_hdr.h | 50 MPP_RET write_jpeg_header(JpegeBits *bits, JpegeSyntax *syntax, HalJpegeRc *rc);
|
| /rockchip-linux_mpp/mpp/inc/ |
| H A D | mpp_enc_cfg.h | 31 MppEncRcCfg rc; member
|
| /rockchip-linux_mpp/mpp/hal/rkenc/h265e/ |
| H A D | hal_h265e_vepu541.c | 833 if (!ctx->cfg->rc.refresh_en) { in setup_vepu541_intra_refresh() 874 if (ctx->cfg->rc.refresh_mode == MPP_ENC_RC_INTRA_REFRESH_ROW) { in setup_vepu541_intra_refresh() 878 region->y = refresh_idx * 64 * ctx->cfg->rc.refresh_num - 128; in setup_vepu541_intra_refresh() 879 region->h = 64 * ctx->cfg->rc.refresh_num + 128; in setup_vepu541_intra_refresh() 881 region->y = refresh_idx * 64 * ctx->cfg->rc.refresh_num; in setup_vepu541_intra_refresh() 882 region->h = 64 * ctx->cfg->rc.refresh_num; in setup_vepu541_intra_refresh() 885 } else if (ctx->cfg->rc.refresh_mode == MPP_ENC_RC_INTRA_REFRESH_COL) { in setup_vepu541_intra_refresh() 889 region->x = refresh_idx * 64 * ctx->cfg->rc.refresh_num - 128; in setup_vepu541_intra_refresh() 890 region->w = 64 * ctx->cfg->rc.refresh_num + 128; in setup_vepu541_intra_refresh() 892 region->x = refresh_idx * 64 * ctx->cfg->rc.refresh_num; in setup_vepu541_intra_refresh() [all …]
|
| /rockchip-linux_mpp/mpp/hal/rkenc/h264e/ |
| H A D | hal_h264e_vepu510.c | 556 ctx->smart_en = (ctx->cfg->rc.rc_mode == MPP_ENC_RC_MODE_SMTRC); in hal_h264e_vepu510_get_task() 558 ctx->sp_enc_en = ctx->cfg->rc.rc_mode == MPP_ENC_RC_MODE_SE; in hal_h264e_vepu510_get_task() 1162 MppEncRcCfg *rc = &cfg->rc; in setup_vepu510_rc_base() local 1203 if (rc->rc_mode == MPP_ENC_RC_MODE_FIXQP) { in setup_vepu510_rc_base() 1228 if (rc->rc_mode == MPP_ENC_RC_MODE_SMTRC || rc->rc_mode == MPP_ENC_RC_MODE_SE) { in setup_vepu510_rc_base() 1240 fqp_min = rc->fqp_min_i; in setup_vepu510_rc_base() 1241 fqp_max = rc->fqp_max_i; in setup_vepu510_rc_base() 1243 fqp_min = rc->fqp_min_p; in setup_vepu510_rc_base() 1244 fqp_max = rc->fqp_max_p; in setup_vepu510_rc_base() 1419 RK_U32 refresh_num = ctx->cfg->rc.refresh_num; in setup_vepu510_intra_refresh() [all …]
|
| H A D | hal_h264e_vepu511.c | 555 ctx->smart_en = (ctx->cfg->rc.rc_mode == MPP_ENC_RC_MODE_SMTRC); in hal_h264e_vepu511_get_task() 1157 MppEncRcCfg *rc = &cfg->rc; in setup_vepu511_rc_base() local 1195 if (rc->rc_mode == MPP_ENC_RC_MODE_FIXQP) { in setup_vepu511_rc_base() 1220 if (rc->rc_mode == MPP_ENC_RC_MODE_SMTRC) { in setup_vepu511_rc_base() 1232 fqp_min = rc->fqp_min_i; in setup_vepu511_rc_base() 1233 fqp_max = rc->fqp_max_i; in setup_vepu511_rc_base() 1235 fqp_min = rc->fqp_min_p; in setup_vepu511_rc_base() 1236 fqp_max = rc->fqp_max_p; in setup_vepu511_rc_base() 1419 RK_U32 refresh_num = ctx->cfg->rc.refresh_num; in setup_vepu511_intra_refresh() 1427 if (!ctx->cfg->rc.refresh_en) { in setup_vepu511_intra_refresh() [all …]
|
| H A D | hal_h264e_vepu580.c | 1250 MppEncRcCfg *rc = &cfg->rc; in setup_vepu580_rc_base() local 1288 if (rc->rc_mode == MPP_ENC_RC_MODE_FIXQP) { in setup_vepu580_rc_base() 1345 if (cfg->rc.rc_mode == MPP_ENC_RC_MODE_SMTRC) { in setup_vepu580_rc_base() 1491 RK_U32 refresh_num = ctx->cfg->rc.refresh_num; in setup_vepu580_intra_refresh() 1499 if (!ctx->cfg->rc.refresh_en) { in setup_vepu580_intra_refresh() 1532 if (ctx->cfg->rc.refresh_mode == MPP_ENC_RC_INTRA_REFRESH_ROW) { in setup_vepu580_intra_refresh() 1543 } else if (ctx->cfg->rc.refresh_mode == MPP_ENC_RC_INTRA_REFRESH_COL) { in setup_vepu580_intra_refresh() 1557 region->quality = -ctx->cfg->rc.qp_delta_ip; in setup_vepu580_intra_refresh() 2161 setup_vepu580_intra_refresh(regs, ctx, frm_status->seq_idx % cfg->rc.gop); in hal_h264e_vepu580_gen_regs() 2164 cfg->rc.rc_mode == MPP_ENC_RC_MODE_SMTRC && in hal_h264e_vepu580_gen_regs()
|
| /rockchip-linux_mpp/mpp/hal/inc/ |
| H A D | hal_enc_task.h | 152 EncRcTask rc; member
|
| /rockchip-linux_mpp/test/ |
| H A D | CMakeLists.txt | 42 # new mpi rc unit test
|
| /rockchip-linux_mpp/ |
| H A D | CHANGELOG.md | 54 - [rc]: Refactor C++ rc/rc_base to C 111 - Revert "fix[mpp_enc_impl]: fix rc cfg for jpeg enc" 122 - [mpp_enc]: Add avc rc parameter set 317 - [mpp_enc_impl]: fix rc cfg for jpeg enc 378 - [rc_smt]: Add rc container for smart mode 381 - [vepu580]: Add qpmap and rc container interface 573 - [rc]: Add i quality delta cfg on fixqp mode
|