mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-04 16:52:40 +08:00
[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:
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
@@ -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},
|
||||||
|
Reference in New Issue
Block a user