mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-09-26 21:15:53 +08:00
[mpi_enc_utils]: Add step config for slt test.
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com> Signed-off-by: Herman Chen <herman.chen@rock-chips.com> Change-Id: I95720c7ec22f952b318e6997a63a383b2542a018
This commit is contained in:
@@ -47,6 +47,7 @@ typedef struct {
|
||||
RK_S32 frame_num;
|
||||
RK_S32 frm_cnt_in;
|
||||
RK_S32 frm_cnt_out;
|
||||
RK_S32 frm_step;
|
||||
RK_U64 stream_size;
|
||||
/* end of encoding flag when set quit the loop */
|
||||
volatile RK_U32 loop_end;
|
||||
@@ -176,6 +177,8 @@ MPP_RET mt_test_ctx_init(MpiEncMtCtxInfo *info)
|
||||
mpp_log("jpege default encode only one frame. Use -n [num] for rc case\n");
|
||||
p->frame_num = 1;
|
||||
}
|
||||
|
||||
p->frm_step = cmd->frm_step;
|
||||
p->gop_mode = cmd->gop_mode;
|
||||
p->gop_len = cmd->gop_len;
|
||||
p->vi_len = cmd->vi_len;
|
||||
@@ -721,9 +724,8 @@ void *enc_test_input(void *arg)
|
||||
break;
|
||||
} else {
|
||||
if (p->cam_ctx == NULL) {
|
||||
ret = MPP_OK;
|
||||
ret = fill_image((RK_U8 *)buf, p->width, p->height, p->hor_stride,
|
||||
p->ver_stride, p->fmt, p->frm_cnt_in);
|
||||
p->ver_stride, p->fmt, p->frm_cnt_in * p->frm_step);
|
||||
if (ret)
|
||||
break;
|
||||
} else {
|
||||
|
@@ -75,6 +75,8 @@ typedef struct {
|
||||
RK_U32 frm_pkt_cnt;
|
||||
RK_S32 frame_num;
|
||||
RK_S32 frame_count;
|
||||
RK_S32 frm_step;
|
||||
|
||||
RK_U64 stream_size;
|
||||
/* end of encoding flag when set quit the loop */
|
||||
volatile RK_U32 loop_end;
|
||||
@@ -284,6 +286,8 @@ MPP_RET test_ctx_init(MpiEncMultiCtxInfo *info)
|
||||
mpp_log("jpege default encode only one frame. Use -n [num] for rc case\n");
|
||||
p->frame_num = 1;
|
||||
}
|
||||
|
||||
p->frm_step = cmd->frm_step;
|
||||
p->gop_mode = cmd->gop_mode;
|
||||
p->gop_len = cmd->gop_len;
|
||||
p->vi_len = cmd->vi_len;
|
||||
@@ -807,7 +811,7 @@ MPP_RET test_mpp_run(MpiEncMultiCtxInfo *info)
|
||||
if (p->cam_ctx == NULL) {
|
||||
mpp_buffer_sync_begin(p->frm_buf);
|
||||
ret = fill_image(buf, p->width, p->height, p->hor_stride,
|
||||
p->ver_stride, p->fmt, p->frame_count);
|
||||
p->ver_stride, p->fmt, p->frame_count * p->frm_step);
|
||||
if (ret)
|
||||
goto RET;
|
||||
mpp_buffer_sync_end(p->frm_buf);
|
||||
|
@@ -94,8 +94,10 @@ MpiEncTestArgs *mpi_enc_test_cmd_get(void)
|
||||
{
|
||||
MpiEncTestArgs *args = mpp_calloc(MpiEncTestArgs, 1);
|
||||
|
||||
if (args)
|
||||
if (args) {
|
||||
args->nthreads = 1;
|
||||
args->frm_step = 1;
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
@@ -475,6 +477,19 @@ RK_S32 mpi_enc_opt_slt(void *ctx, const char *next)
|
||||
return 0;
|
||||
}
|
||||
|
||||
RK_S32 mpi_enc_opt_step(void *ctx, const char *next)
|
||||
{
|
||||
MpiEncTestArgs *cmd = (MpiEncTestArgs *)ctx;
|
||||
|
||||
if (next) {
|
||||
cmd->frm_step = atoi(next);
|
||||
return 1;
|
||||
}
|
||||
|
||||
mpp_err("invalid input frame step\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
RK_S32 mpi_enc_opt_sm(void *ctx, const char *next)
|
||||
{
|
||||
MpiEncTestArgs *cmd = (MpiEncTestArgs *)ctx;
|
||||
@@ -745,6 +760,7 @@ static MppOptInfo enc_opts[] = {
|
||||
{"l", "loop count", "loop encoding times for each frame", mpi_enc_opt_l},
|
||||
{"ini", "ini file", "encoder extra ini config file", mpi_enc_opt_ini},
|
||||
{"slt", "slt file", "slt verify data file", mpi_enc_opt_slt},
|
||||
{"step", "frame step", "frame step, only for NV12 in slt test", mpi_enc_opt_step},
|
||||
{"sm", "scene mode", "scene_mode, 0:default 1:ipc", mpi_enc_opt_sm},
|
||||
{"qpdd", "cu_qp_delta_depth", "cu_qp_delta_depth, 0:1:2", mpi_enc_opt_qpdd},
|
||||
{"dbe", "deblur enable", "deblur_en or qpmap_en, 0:close 1:open", mpi_enc_opt_dbe},
|
||||
@@ -834,7 +850,6 @@ MPP_RET mpi_enc_test_cmd_update_by_args(MpiEncTestArgs* cmd, int argc, char **ar
|
||||
cmd->rc_mode = MPP_ENC_RC_MODE_BUTT;
|
||||
|
||||
mpp_opt_init(&opts);
|
||||
/* should change node count when option increases */
|
||||
mpp_opt_setup(opts, cmd);
|
||||
|
||||
for (i = 0; i < enc_opt_cnt; i++)
|
||||
@@ -1262,8 +1277,10 @@ MPP_RET mpi_enc_test_cmd_show_opt(MpiEncTestArgs* cmd)
|
||||
mpp_log("height : %d\n", cmd->height);
|
||||
mpp_log("format : %d\n", cmd->format);
|
||||
mpp_log("type : %d\n", cmd->type);
|
||||
if (cmd->file_slt)
|
||||
if (cmd->file_slt) {
|
||||
mpp_log("verify : %s\n", cmd->file_slt);
|
||||
mpp_log("frame step : %d\n", cmd->frm_step);
|
||||
}
|
||||
|
||||
return MPP_OK;
|
||||
}
|
||||
|
@@ -34,6 +34,7 @@ typedef struct MpiEncTestArgs_t {
|
||||
RK_S32 frame_num;
|
||||
RK_S32 loop_cnt;
|
||||
RK_S32 nthreads;
|
||||
RK_S32 frm_step;
|
||||
|
||||
RK_S32 width;
|
||||
RK_S32 height;
|
||||
|
Reference in New Issue
Block a user