diff --git a/mpp/codec/enc/h264/h264e_api_v2.c b/mpp/codec/enc/h264/h264e_api_v2.c index a980a6d8..49e9d5ca 100644 --- a/mpp/codec/enc/h264/h264e_api_v2.c +++ b/mpp/codec/enc/h264/h264e_api_v2.c @@ -166,7 +166,7 @@ static void init_h264e_cfg_set(MppEncCfgSet *cfg, MppClientType type) /* default max/min intra qp is not set */ rc_cfg->qp_max_i = 0; rc_cfg->qp_min_i = 0; - rc_cfg->qp_delta_ip = 4; + rc_cfg->qp_delta_ip = 2; } static void h264e_add_syntax(H264eCtx *ctx, H264eSyntaxType type, void *p) diff --git a/mpp/codec/enc/h265/h265e_api.c b/mpp/codec/enc/h265/h265e_api.c index 23791722..909f9f1e 100644 --- a/mpp/codec/enc/h265/h265e_api.c +++ b/mpp/codec/enc/h265/h265e_api.c @@ -150,7 +150,7 @@ static MPP_RET h265e_init(void *ctx, EncImplCfg *ctrlCfg) rc_cfg->qp_min = 10; rc_cfg->qp_max_i = 51; rc_cfg->qp_min_i = 15; - rc_cfg->qp_delta_ip = 6; + rc_cfg->qp_delta_ip = 4; rc_cfg->qp_delta_vi = 2; INIT_LIST_HEAD(&p->rc_list); diff --git a/mpp/codec/rc/rc_model_v2.c b/mpp/codec/rc/rc_model_v2.c index 6fef1c60..97964ac6 100644 --- a/mpp/codec/rc/rc_model_v2.c +++ b/mpp/codec/rc/rc_model_v2.c @@ -1398,7 +1398,7 @@ MPP_RET rc_model_v2_hal_end(void *ctx, EncRcTask *task) rc_dbg_func("enter ctx %p task %p\n", ctx, task); if (frm->is_intra) - p->pre_i_qp = p->start_qp; + p->pre_i_qp = p->cur_scale_qp >> 6; else p->pre_p_qp = p->cur_scale_qp >> 6; diff --git a/test/mpi_enc_test.c b/test/mpi_enc_test.c index 88f44110..a6643b87 100644 --- a/test/mpi_enc_test.c +++ b/test/mpi_enc_test.c @@ -327,7 +327,7 @@ MPP_RET test_mpp_enc_cfg_setup(MpiEncTestData *p) mpp_enc_cfg_set_s32(cfg, "rc:qp_min", 20); mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", 20); mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", 20); - mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 4); + mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 2); } break; case MPP_ENC_RC_MODE_CBR : case MPP_ENC_RC_MODE_VBR : @@ -337,7 +337,7 @@ MPP_RET test_mpp_enc_cfg_setup(MpiEncTestData *p) mpp_enc_cfg_set_s32(cfg, "rc:qp_min", 10); mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", 51); mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", 10); - mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 4); + mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 2); } break; default : { mpp_err_f("unsupport encoder rc mode %d\n", p->rc_mode);