[test]: Add split_out cfg to mpi_enc_test

NOTE: Due to limitation of output task number the split output mode with
block input flow should only have less than 8 slices. Otherwise the
put_frame call will be blocked due to lack of output task slot.

Change-Id: Iab351be04196fa2b3ac3a116bd7c999f570e25eb
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
Herman Chen
2022-06-07 15:29:10 +08:00
parent 69a46f67e0
commit 675363214a
2 changed files with 12 additions and 2 deletions

View File

@@ -97,6 +97,7 @@ typedef struct {
RK_U32 osd_mode; RK_U32 osd_mode;
RK_U32 split_mode; RK_U32 split_mode;
RK_U32 split_arg; RK_U32 split_arg;
RK_U32 split_out;
RK_U32 user_data_enable; RK_U32 user_data_enable;
RK_U32 roi_enable; RK_U32 roi_enable;
@@ -444,14 +445,18 @@ MPP_RET test_mt_cfg_setup(MpiEncMtCtxInfo *info)
p->split_mode = 0; p->split_mode = 0;
p->split_arg = 0; p->split_arg = 0;
p->split_out = 0;
mpp_env_get_u32("split_mode", &p->split_mode, MPP_ENC_SPLIT_NONE); mpp_env_get_u32("split_mode", &p->split_mode, MPP_ENC_SPLIT_NONE);
mpp_env_get_u32("split_arg", &p->split_arg, 0); mpp_env_get_u32("split_arg", &p->split_arg, 0);
mpp_env_get_u32("split_out", &p->split_out, 0);
if (p->split_mode) { if (p->split_mode) {
mpp_log_q(quiet, "%p split_mode %d split_arg %d\n", ctx, p->split_mode, p->split_arg); mpp_log_q(quiet, "%p split mode %d arg %d out %d\n", ctx,
p->split_mode, p->split_arg, p->split_out);
mpp_enc_cfg_set_s32(cfg, "split:mode", p->split_mode); mpp_enc_cfg_set_s32(cfg, "split:mode", p->split_mode);
mpp_enc_cfg_set_s32(cfg, "split:arg", p->split_arg); mpp_enc_cfg_set_s32(cfg, "split:arg", p->split_arg);
mpp_enc_cfg_set_s32(cfg, "split:out", p->split_out);
} }
ret = mpi->control(ctx, MPP_ENC_SET_CFG, cfg); ret = mpi->control(ctx, MPP_ENC_SET_CFG, cfg);

View File

@@ -97,6 +97,7 @@ typedef struct {
RK_U32 osd_mode; RK_U32 osd_mode;
RK_U32 split_mode; RK_U32 split_mode;
RK_U32 split_arg; RK_U32 split_arg;
RK_U32 split_out;
RK_U32 user_data_enable; RK_U32 user_data_enable;
RK_U32 roi_enable; RK_U32 roi_enable;
@@ -435,14 +436,18 @@ MPP_RET test_mpp_enc_cfg_setup(MpiEncMultiCtxInfo *info)
p->split_mode = 0; p->split_mode = 0;
p->split_arg = 0; p->split_arg = 0;
p->split_out = 0;
mpp_env_get_u32("split_mode", &p->split_mode, MPP_ENC_SPLIT_NONE); mpp_env_get_u32("split_mode", &p->split_mode, MPP_ENC_SPLIT_NONE);
mpp_env_get_u32("split_arg", &p->split_arg, 0); mpp_env_get_u32("split_arg", &p->split_arg, 0);
mpp_env_get_u32("split_out", &p->split_out, 0);
if (p->split_mode) { if (p->split_mode) {
mpp_log_q(quiet, "%p split_mode %d split_arg %d\n", ctx, p->split_mode, p->split_arg); mpp_log_q(quiet, "%p split mode %d arg %d out %d\n", ctx,
p->split_mode, p->split_arg, p->split_out);
mpp_enc_cfg_set_s32(cfg, "split:mode", p->split_mode); mpp_enc_cfg_set_s32(cfg, "split:mode", p->split_mode);
mpp_enc_cfg_set_s32(cfg, "split:arg", p->split_arg); mpp_enc_cfg_set_s32(cfg, "split:arg", p->split_arg);
mpp_enc_cfg_set_s32(cfg, "split:out", p->split_out);
} }
ret = mpi->control(ctx, MPP_ENC_SET_CFG, cfg); ret = mpi->control(ctx, MPP_ENC_SET_CFG, cfg);