Lines Matching refs:usr_cfg
147 RK_S32 gop_len = ctx->usr_cfg.igop; in bits_model_param_init()
148 RcFpsCfg *fps = &ctx->usr_cfg.fps; in bits_model_param_init()
150 RK_U32 stat_len = fps->fps_out_num * ctx->usr_cfg.stats_time / fps->fps_out_denom; in bits_model_param_init()
216 if (ctx->usr_cfg.refresh_len) { in bits_model_param_init()
217 mpp_data_init_v2(&ctx->i_refresh_bit, ctx->usr_cfg.refresh_len, 0); in bits_model_param_init()
219 mpp_err("i_refresh_bit init fail refresh_len %d", ctx->usr_cfg.refresh_len); in bits_model_param_init()
241 RcCfg *usr_cfg = &ctx->usr_cfg; in bits_frm_init() local
242 RK_U32 gop_len = usr_cfg->igop; in bits_frm_init()
248 switch (usr_cfg->gop_mode) { in bits_frm_init()
250 ctx->i_scale = ctx->usr_cfg.init_ip_ratio; in bits_frm_init()
260 if (usr_cfg->refresh_len) { in bits_frm_init()
261 ctx->i_refresh_scale = ctx->i_scale / usr_cfg->refresh_len + ctx->p_scale; in bits_frm_init()
262 refresh_bit = ctx->gop_total_bits * 16 / (ctx->i_refresh_scale * usr_cfg->refresh_len in bits_frm_init()
263 … + ctx->p_scale * (gop_len - usr_cfg->refresh_len)); in bits_frm_init()
265 ctx->i_refresh_sumbits = usr_cfg->refresh_len * refresh_bit; in bits_frm_init()
270 mpp_assert(usr_cfg->vgop > 1); in bits_frm_init()
274 vi_num = gop_len / usr_cfg->vgop; in bits_frm_init()
317 RcCfg *usr_cfg = &ctx->usr_cfg; in bit_statics_update() local
318 RK_U32 gop_len = usr_cfg->igop; in bit_statics_update()
329 RcCfg *usr_cfg = &ctx->usr_cfg; in bits_model_preset() local
336 ctx->ins_bps = mpp_data_sum_v2(ctx->stat_bits) / usr_cfg->stats_time; in bits_model_preset()
375 … ctx->i_refresh_scale = 80 * ctx->i_refresh_sumbits / (usr_cfg->refresh_len * ctx->p_sumbits); in bits_model_preset()
386 RcCfg *usr_cfg = &ctx->usr_cfg; in bits_model_update() local
396 ctx->ins_bps = mpp_data_sum_v2(ctx->stat_bits) / usr_cfg->stats_time; in bits_model_update()
437 … ctx->i_refresh_scale = 80 * ctx->i_refresh_sumbits / (usr_cfg->refresh_len * ctx->p_sumbits); in bits_model_update()
450 RcCfg *usr_cfg = &ctx->usr_cfg; in bits_model_alloc() local
451 RK_U32 max_i_prop = usr_cfg->max_i_bit_prop * 16; in bits_model_alloc()
452 RK_S32 gop_len = usr_cfg->igop; in bits_model_alloc()
465 if (usr_cfg->super_cfg.super_mode) { in bits_model_alloc()
466 super_bit_thr = usr_cfg->super_cfg.super_p_thd; in bits_model_alloc()
468 if (usr_cfg->gop_mode == SMART_P) { in bits_model_alloc()
470 mpp_assert(usr_cfg->vgop > 1); in bits_model_alloc()
471 vi_num = gop_len / usr_cfg->vgop; in bits_model_alloc()
479 if (usr_cfg->super_cfg.super_mode) { in bits_model_alloc()
480 super_bit_thr = usr_cfg->super_cfg.super_i_thd; in bits_model_alloc()
502 … ctx->gop_total_bits, ctx->i_sumbits, ctx->p_sumbits, usr_cfg->vgop, usr_cfg->igop); in bits_model_alloc()
509 if (usr_cfg->super_cfg.super_mode) { in bits_model_alloc()
510 super_bit_thr = usr_cfg->super_cfg.super_i_thd; in bits_model_alloc()
527 if (!usr_cfg->refresh_len || cfg->frame_type == INTRA_FRAME) in bits_model_alloc()
531 (ctx->i_refresh_scale * usr_cfg->refresh_len + in bits_model_alloc()
532 16 * (gop_len - usr_cfg->refresh_len)); in bits_model_alloc()
539 (usr_cfg->super_cfg.rc_priority == MPP_ENC_RC_BY_FRM_SIZE_FIRST)) { in bits_model_alloc()
559 RcCfg *usr_cfg = &ctx->usr_cfg; in calc_next_i_ratio() local
560 RK_S32 max_i_prop = usr_cfg->max_i_bit_prop * 16; in calc_next_i_ratio()
561 RK_S32 gop_len = usr_cfg->igop; in calc_next_i_ratio()
595 RcDebreathCfg *debreath_cfg = &ctx->usr_cfg.debreath_cfg; in calc_debreath_qp()
617 ctx->start_qp = mpp_clip(new_start_qp, ctx->usr_cfg.min_i_quality, ctx->usr_cfg.max_i_quality); in calc_debreath_qp()
708 RcCfg *usr_cfg = &p->usr_cfg; in reenc_calc_cbr_ratio() local
709 RK_S32 stat_time = usr_cfg->stats_time; in reenc_calc_cbr_ratio()
718 RK_S32 mb_w = MPP_ALIGN(usr_cfg->width, 16) / 16; in reenc_calc_cbr_ratio()
719 RK_S32 mb_h = MPP_ALIGN(usr_cfg->height, 16) / 16; in reenc_calc_cbr_ratio()
724 usr_cfg->super_cfg.rc_priority == MPP_ENC_RC_BY_FRM_SIZE_FIRST) { in reenc_calc_cbr_ratio()
783 RcHierQPCfg *hier_qp_cfg = &p->usr_cfg.hier_qp_cfg; in rc_hier_calc_dealt_qp()
828 RcCfg *usr_cfg = &p->usr_cfg; in calc_vbr_ratio() local
830 RK_S32 max_bps_target = usr_cfg->bps_max; in calc_vbr_ratio()
889 RcCfg *usr_cfg = &p->usr_cfg; in reenc_calc_vbr_ratio() local
890 RK_S32 stat_time = usr_cfg->stats_time; in reenc_calc_vbr_ratio()
894 RK_S32 max_bps_target = usr_cfg->bps_max; in reenc_calc_vbr_ratio()
904 usr_cfg->super_cfg.rc_priority == MPP_ENC_RC_BY_FRM_SIZE_FIRST) { in reenc_calc_vbr_ratio()
999 RcCfg *usr_cfg = &p->usr_cfg; in calc_avbr_ratio() local
1001 RK_S32 max_bps_target = usr_cfg->bps_max; in calc_avbr_ratio()
1099 RcCfg *usr_cfg = &ctx->usr_cfg; in bits_model_init() local
1100 RK_S32 gop_len = ctx->usr_cfg.igop; in bits_model_init()
1101 RcFpsCfg *fps = &ctx->usr_cfg.fps; in bits_model_init()
1107 usr_cfg->min_i_bit_prop = mpp_clip(usr_cfg->min_i_bit_prop, 10, 100); in bits_model_init()
1108 usr_cfg->max_i_bit_prop = mpp_clip(usr_cfg->max_i_bit_prop, in bits_model_init()
1109 usr_cfg->min_i_bit_prop, 100); in bits_model_init()
1110 usr_cfg->init_ip_ratio = mpp_clip(usr_cfg->init_ip_ratio, 160, 640); in bits_model_init()
1113 usr_cfg->min_i_bit_prop, usr_cfg->max_i_bit_prop, usr_cfg->init_ip_ratio); in bits_model_init()
1117 usr_cfg->igop = gop_len = 500; in bits_model_init()
1120 usr_cfg->init_ip_ratio = 16; in bits_model_init()
1123 if (usr_cfg->debreath_cfg.enable) in bits_model_init()
1124 usr_cfg->debreath_cfg.enable = 0; in bits_model_init()
1126 usr_cfg->igop = gop_len = 500; in bits_model_init()
1128 usr_cfg->igop = gop_len = mpp_clip(usr_cfg->igop, usr_cfg->igop, 500); in bits_model_init()
1137 if (!usr_cfg->fps_chg_prop) { in bits_model_init()
1138 usr_cfg->fps_chg_prop = 25; in bits_model_init()
1141 target_bps = ctx->usr_cfg.bps_max; in bits_model_init()
1143 switch (ctx->usr_cfg.mode) { in bits_model_init()
1147 target_bps = ctx->usr_cfg.bps_target; in bits_model_init()
1157 if (usr_cfg->bps_min && usr_cfg->bps_max) { in bits_model_init()
1158 ctx->min_still_percent = (RK_S64)usr_cfg->bps_min * 100 / usr_cfg->bps_max; in bits_model_init()
1175 ctx->target_bps = ctx->usr_cfg.bps_target; in bits_model_init()
1190 ctx->usr_cfg.igop, ctx->gop_total_bits, ctx->bit_per_frame, in bits_model_init()
1191 ctx->usr_cfg.stats_time); in bits_model_init()
1204 RcCfg *usr_cfg = &ctx->usr_cfg; in update_mode_param() local
1205 RK_S32 gop_len = ctx->usr_cfg.igop; in update_mode_param()
1208 RK_U32 stat_len = fps * usr_cfg->stats_time; in update_mode_param()
1210 target_bps = ctx->usr_cfg.bps_max; in update_mode_param()
1211 if (ctx->usr_cfg.mode == RC_CBR) { in update_mode_param()
1212 target_bps = ctx->usr_cfg.bps_target; in update_mode_param()
1248 … abs(ctx->last_fps - (RK_S32)fps) * 100 / ctx->last_fps > (RK_S32)ctx->usr_cfg.fps_chg_prop) { in fps_chg_update_mode()
1273 RcCfg *usr_cfg = &ctx->usr_cfg; in check_super_frame() local
1276 if (usr_cfg->super_cfg.super_mode) { in check_super_frame()
1277 bits_thr = usr_cfg->super_cfg.super_p_thd; in check_super_frame()
1279 bits_thr = usr_cfg->super_cfg.super_i_thd; in check_super_frame()
1283 if (usr_cfg->super_cfg.super_mode == MPP_ENC_RC_SUPER_FRM_DROP) { in check_super_frame()
1285 usr_cfg->drop_mode = MPP_ENC_RC_DROP_FRM_NORMAL; in check_super_frame()
1286 usr_cfg->drop_gap = 0; in check_super_frame()
1297 RcCfg *usr_cfg = &ctx->usr_cfg; in check_re_enc() local
1300 RK_S32 stat_time = usr_cfg->stats_time; in check_re_enc()
1309 usr_cfg->bps_target, last_ins_bps, ins_bps); in check_re_enc()
1311 if (ctx->reenc_cnt >= usr_cfg->max_reencode_times) in check_re_enc()
1317 if (usr_cfg->debreath_cfg.enable && !ctx->first_frm_flg) in check_re_enc()
1320 rc_dbg_drop("drop mode %d frame_type %d\n", usr_cfg->drop_mode, frame_type); in check_re_enc()
1321 if (usr_cfg->drop_mode && frame_type == INTER_P_FRAME) { in check_re_enc()
1322 bit_thr = (RK_S32)(usr_cfg->bps_max * (100 + usr_cfg->drop_thd) / (float)100); in check_re_enc()
1324 usr_cfg->drop_mode, usr_cfg->bps_target, bit_thr, ins_bps); in check_re_enc()
1340 if (usr_cfg->mode == RC_CBR) { in check_re_enc()
1341 target_bps = usr_cfg->bps_target; in check_re_enc()
1348 target_bps = usr_cfg->bps_max; in check_re_enc()
1367 memcpy(&p->usr_cfg, cfg, sizeof(RcCfg)); in rc_model_v2_init()
1393 RcCfg *usr_cfg = &p->usr_cfg; in rc_model_v2_start() local
1397 if (usr_cfg->mode == RC_FIXQP) { in rc_model_v2_start()
1398 if (usr_cfg->init_quality <= 0) { in rc_model_v2_start()
1400 usr_cfg->init_quality); in rc_model_v2_start()
1401 usr_cfg->init_quality = 26; in rc_model_v2_start()
1404 if (usr_cfg->max_quality <= 0) in rc_model_v2_start()
1405 usr_cfg->max_quality = usr_cfg->init_quality; in rc_model_v2_start()
1406 if (usr_cfg->min_quality <= 0) in rc_model_v2_start()
1407 usr_cfg->min_quality = usr_cfg->init_quality; in rc_model_v2_start()
1408 if (usr_cfg->max_i_quality <= 0) in rc_model_v2_start()
1409 usr_cfg->max_i_quality = usr_cfg->max_quality; in rc_model_v2_start()
1410 if (usr_cfg->min_i_quality <= 0) in rc_model_v2_start()
1411 usr_cfg->min_i_quality = usr_cfg->min_quality; in rc_model_v2_start()
1414 info->quality_max = usr_cfg->max_i_quality; in rc_model_v2_start()
1415 info->quality_min = usr_cfg->min_i_quality; in rc_model_v2_start()
1416 info->quality_target = usr_cfg->init_quality; in rc_model_v2_start()
1418 info->quality_max = usr_cfg->max_quality; in rc_model_v2_start()
1419 info->quality_min = usr_cfg->min_quality; in rc_model_v2_start()
1420 info->quality_target = usr_cfg->init_quality; in rc_model_v2_start()
1430 if (usr_cfg->fps.fps_out_flex) { in rc_model_v2_start()
1453 info->quality_target = (usr_cfg->init_quality <= 0) ? -1 : usr_cfg->init_quality; in rc_model_v2_start()
1457 info->quality_max = usr_cfg->max_i_quality; in rc_model_v2_start()
1458 info->quality_min = usr_cfg->min_i_quality; in rc_model_v2_start()
1460 info->quality_max = usr_cfg->max_quality; in rc_model_v2_start()
1461 info->quality_min = usr_cfg->min_quality; in rc_model_v2_start()
1521 RcCfg *usr_cfg = &ctx->usr_cfg; in derive_min_qp_from_complexity() local
1522 RcMode rc_mode = usr_cfg->mode; in derive_min_qp_from_complexity()
1524 RK_S32 fqp_min_i = usr_cfg->fqp_min_i; in derive_min_qp_from_complexity()
1525 RK_S32 fqp_min_p = usr_cfg->fqp_min_p; in derive_min_qp_from_complexity()
1569 RcCfg *usr_cfg = &p->usr_cfg; in rc_model_v2_hal_start() local
1570 RK_S32 mb_w = MPP_ALIGN(usr_cfg->width, 16) / 16; in rc_model_v2_hal_start()
1571 RK_S32 mb_h = MPP_ALIGN(usr_cfg->height, 16) / 16; in rc_model_v2_hal_start()
1590 if (usr_cfg->mode == RC_FIXQP) { in rc_model_v2_hal_start()
1591 RK_S32 i_quality_delta = usr_cfg->i_quality_delta; in rc_model_v2_hal_start()
1605 RK_S32 i_quality_delta = usr_cfg->i_quality_delta; in rc_model_v2_hal_start()
1636 RK_S32 i_quality_delta = usr_cfg->i_quality_delta; in rc_model_v2_hal_start()
1655 usr_cfg->i_quality_delta, max_ip_delta, in rc_model_v2_hal_start()
1663 start_qp = mpp_clip(start_qp, qpmin, usr_cfg->fqp_max_i); in rc_model_v2_hal_start()
1669 if (p->usr_cfg.debreath_cfg.enable) { in rc_model_v2_hal_start()
1682 if (frm->ref_mode == REF_TO_PREV_INTRA && usr_cfg->vi_quality_delta) { in rc_model_v2_hal_start()
1683 … rc_dbg_rc("qp %d -> %d (vi)\n", p->start_qp, p->start_qp - usr_cfg->vi_quality_delta); in rc_model_v2_hal_start()
1684 p->start_qp -= usr_cfg->vi_quality_delta; in rc_model_v2_hal_start()
1686 p->start_qp = mpp_clip(p->start_qp, qpmin, usr_cfg->fqp_max_p); in rc_model_v2_hal_start()
1698 if (usr_cfg->hier_qp_cfg.hier_qp_en && !p->reenc_cnt) { in rc_model_v2_hal_start()
1701 RK_S32 hier_qp_delta = usr_cfg->hier_qp_cfg.hier_qp_delta[p->qp_layer_id - 1]; in rc_model_v2_hal_start()
1709 p->start_qp = mpp_clip(p->start_qp, usr_cfg->fqp_min_i, usr_cfg->fqp_max_i); in rc_model_v2_hal_start()
1711 p->start_qp = mpp_clip(p->start_qp, usr_cfg->fqp_min_p, usr_cfg->fqp_max_p); in rc_model_v2_hal_start()
1745 RcCfg *usr_cfg = &p->usr_cfg; in rc_model_v2_check_reenc() local
1751 if ((usr_cfg->mode == RC_FIXQP) || in rc_model_v2_check_reenc()
1757 MppEncRcDropFrmMode drop_mode = usr_cfg->drop_mode; in rc_model_v2_check_reenc()
1762 if (usr_cfg->drop_gap && p->drop_cnt >= usr_cfg->drop_gap) in rc_model_v2_check_reenc()
1803 RcCfg *usr_cfg = &p->usr_cfg; in rc_model_v2_end() local
1809 if (usr_cfg->mode == RC_FIXQP) in rc_model_v2_end()
1820 if (usr_cfg->mode == RC_AVBR) { in rc_model_v2_end()