mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 01:26:49 +08:00
[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:
@@ -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);
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user