[mpi_enc_test]: fix some cmd config issue

1. Fix qc param config issue.
2. Fix some param help description issue.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I47b88c6f1c0c2db67139cae55957019572b5cd20
This commit is contained in:
Yandong Lin
2023-05-08 17:08:31 +08:00
parent a8102ad4c7
commit b04033f8c2
3 changed files with 32 additions and 32 deletions

View File

@@ -379,11 +379,11 @@ MPP_RET test_mt_cfg_setup(MpiEncMtCtxInfo *info)
case MPP_ENC_RC_MODE_CBR : case MPP_ENC_RC_MODE_CBR :
case MPP_ENC_RC_MODE_VBR : case MPP_ENC_RC_MODE_VBR :
case MPP_ENC_RC_MODE_AVBR : { case MPP_ENC_RC_MODE_AVBR : {
mpp_enc_cfg_set_s32(cfg, "rc:qp_init", -1); mpp_enc_cfg_set_s32(cfg, "rc:qp_init", cmd->qp_init ? cmd->qp_init : -1);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max", 51); mpp_enc_cfg_set_s32(cfg, "rc:qp_max", cmd->qp_max ? cmd->qp_max : 51);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min", 10); mpp_enc_cfg_set_s32(cfg, "rc:qp_min", cmd->qp_min ? cmd->qp_min : 10);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", 51); mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", cmd->qp_max_i ? cmd->qp_max_i : 51);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", 10); mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", cmd->qp_min_i ? cmd->qp_min_i : 10);
mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 2); mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 2);
} break; } break;
default : { default : {
@@ -393,18 +393,18 @@ MPP_RET test_mt_cfg_setup(MpiEncMtCtxInfo *info)
} break; } break;
case MPP_VIDEO_CodingVP8 : { case MPP_VIDEO_CodingVP8 : {
/* vp8 only setup base qp range */ /* vp8 only setup base qp range */
mpp_enc_cfg_set_s32(cfg, "rc:qp_init", 40); mpp_enc_cfg_set_s32(cfg, "rc:qp_init", cmd->qp_init ? cmd->qp_init : 40);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max", 127); mpp_enc_cfg_set_s32(cfg, "rc:qp_max", cmd->qp_max ? cmd->qp_max : 127);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min", 0); mpp_enc_cfg_set_s32(cfg, "rc:qp_min", cmd->qp_min ? cmd->qp_min : 0);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", 127); mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", cmd->qp_max_i ? cmd->qp_max_i : 127);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", 0); mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", cmd->qp_min_i ? cmd->qp_min_i : 0);
mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 6); mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 6);
} break; } break;
case MPP_VIDEO_CodingMJPEG : { case MPP_VIDEO_CodingMJPEG : {
/* jpeg use special codec config to control qtable */ /* jpeg use special codec config to control qtable */
mpp_enc_cfg_set_s32(cfg, "jpeg:q_factor", 80); mpp_enc_cfg_set_s32(cfg, "jpeg:q_factor", cmd->qp_init ? cmd->qp_init : 80);
mpp_enc_cfg_set_s32(cfg, "jpeg:qf_max", 99); mpp_enc_cfg_set_s32(cfg, "jpeg:qf_max", cmd->qp_max ? cmd->qp_max : 99);
mpp_enc_cfg_set_s32(cfg, "jpeg:qf_min", 1); mpp_enc_cfg_set_s32(cfg, "jpeg:qf_min", cmd->qp_min ? cmd->qp_min : 1);
} break; } break;
default : { default : {
} break; } break;

View File

@@ -374,11 +374,11 @@ MPP_RET test_mpp_enc_cfg_setup(MpiEncMultiCtxInfo *info)
case MPP_ENC_RC_MODE_CBR : case MPP_ENC_RC_MODE_CBR :
case MPP_ENC_RC_MODE_VBR : case MPP_ENC_RC_MODE_VBR :
case MPP_ENC_RC_MODE_AVBR : { case MPP_ENC_RC_MODE_AVBR : {
mpp_enc_cfg_set_s32(cfg, "rc:qp_init", -1); mpp_enc_cfg_set_s32(cfg, "rc:qp_init", cmd->qp_init ? cmd->qp_init : -1);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max", 51); mpp_enc_cfg_set_s32(cfg, "rc:qp_max", cmd->qp_max ? cmd->qp_max : 51);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min", 10); mpp_enc_cfg_set_s32(cfg, "rc:qp_min", cmd->qp_min ? cmd->qp_min : 10);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", 51); mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", cmd->qp_max_i ? cmd->qp_max_i : 51);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", 10); mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", cmd->qp_min_i ? cmd->qp_min_i : 10);
mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 2); mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 2);
} break; } break;
default : { default : {
@@ -388,18 +388,18 @@ MPP_RET test_mpp_enc_cfg_setup(MpiEncMultiCtxInfo *info)
} break; } break;
case MPP_VIDEO_CodingVP8 : { case MPP_VIDEO_CodingVP8 : {
/* vp8 only setup base qp range */ /* vp8 only setup base qp range */
mpp_enc_cfg_set_s32(cfg, "rc:qp_init", 40); mpp_enc_cfg_set_s32(cfg, "rc:qp_init", cmd->qp_init ? cmd->qp_init : 40);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max", 127); mpp_enc_cfg_set_s32(cfg, "rc:qp_max", cmd->qp_max ? cmd->qp_max : 127);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min", 0); mpp_enc_cfg_set_s32(cfg, "rc:qp_min", cmd->qp_min ? cmd->qp_min : 0);
mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", 127); mpp_enc_cfg_set_s32(cfg, "rc:qp_max_i", cmd->qp_max_i ? cmd->qp_max_i : 127);
mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", 0); mpp_enc_cfg_set_s32(cfg, "rc:qp_min_i", cmd->qp_min_i ? cmd->qp_min_i : 0);
mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 6); mpp_enc_cfg_set_s32(cfg, "rc:qp_ip", 6);
} break; } break;
case MPP_VIDEO_CodingMJPEG : { case MPP_VIDEO_CodingMJPEG : {
/* jpeg use special codec config to control qtable */ /* jpeg use special codec config to control qtable */
mpp_enc_cfg_set_s32(cfg, "jpeg:q_factor", 80); mpp_enc_cfg_set_s32(cfg, "jpeg:q_factor", cmd->qp_init ? cmd->qp_init : 80);
mpp_enc_cfg_set_s32(cfg, "jpeg:qf_max", 99); mpp_enc_cfg_set_s32(cfg, "jpeg:qf_max", cmd->qp_max ? cmd->qp_max : 99);
mpp_enc_cfg_set_s32(cfg, "jpeg:qf_min", 1); mpp_enc_cfg_set_s32(cfg, "jpeg:qf_min", cmd->qp_min ? cmd->qp_min : 1);
} break; } break;
default : { default : {
} break; } break;

View File

@@ -354,9 +354,9 @@ RK_S32 mpi_enc_opt_fps(void *ctx, const char *next)
} break; } break;
default : { default : {
mpp_err("invalid in/out frame rate," mpp_err("invalid in/out frame rate,"
" use \"-r numerator:denominator:flex\"" " use \"-fps numerator:denominator:flex\""
" for set the input to the same fps as the output, such as 50:1:1\n" " for set the input to the same fps as the output, such as 50:1:1\n"
" or \"-r numerator:denominator/flex-numerator:denominator:flex\"" " or \"-fps numerator:denominator:flex/numerator:denominator:flex\""
" for set input and output separately, such as 40:1:1/30:1:0\n"); " for set input and output separately, such as 40:1:1/30:1:0\n");
} break; } break;
} }
@@ -380,7 +380,7 @@ RK_S32 mpi_enc_opt_qc(void *ctx, const char *next)
return 1; return 1;
} }
mpp_err("invalid quality control usage -qc qp_init/min/max/min_i/max_i\n"); mpp_err("invalid quality control usage -qc qp_init:min:max:min_i:max_i\n");
return 0; return 0;
} }
@@ -485,10 +485,10 @@ static MppOptInfo enc_opts[] = {
{"tsrc", "source type", "input file source coding type", mpi_enc_opt_tsrc}, {"tsrc", "source type", "input file source coding type", mpi_enc_opt_tsrc},
{"n", "max frame number", "max encoding frame number", mpi_enc_opt_n}, {"n", "max frame number", "max encoding frame number", mpi_enc_opt_n},
{"g", "gop reference mode", "gop_mode:gop_len:vi_len", mpi_enc_opt_g}, {"g", "gop reference mode", "gop_mode:gop_len:vi_len", mpi_enc_opt_g},
{"rc", "rate control mode", "set rc_mode", mpi_enc_opt_rc}, {"rc", "rate control mode", "set rc_mode, 0:vbr 1:cbr 2:fixqp 3:avbr", mpi_enc_opt_rc},
{"bps", "bps target:min:max", "set tareget/min/max bps and rc_mode", mpi_enc_opt_bps}, {"bps", "bps target:min:max", "set tareget:min:max bps", mpi_enc_opt_bps},
{"fps", "in/output fps", "set input and output frame rate", mpi_enc_opt_fps}, {"fps", "in/output fps", "set input and output frame rate", mpi_enc_opt_fps},
{"qc", "quality control", "set qp_init/min/max/min_i/max_i", mpi_enc_opt_qc}, {"qc", "quality control", "set qp_init:min:max:min_i:max_i", mpi_enc_opt_qc},
{"s", "instance_nb", "number of instances", mpi_enc_opt_s}, {"s", "instance_nb", "number of instances", mpi_enc_opt_s},
{"v", "trace option", "q - quiet f - show fps", mpi_enc_opt_v}, {"v", "trace option", "q - quiet f - show fps", mpi_enc_opt_v},
{"l", "loop count", "loop encoding times for each frame", mpi_enc_opt_l}, {"l", "loop count", "loop encoding times for each frame", mpi_enc_opt_l},