mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-09-26 21:15:53 +08:00
chore[dec_test]: Add FBC output support
Specify output format with `-f 0x200000` to get FBC result. Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com> Change-Id: I8458fd0c60fdfa6ac7e3a71f379954f37fe681b4
This commit is contained in:

committed by
Herman Chen

parent
e08da1bd61
commit
04a695b831
@@ -154,6 +154,23 @@ void *thread_output(void *arg)
|
||||
mpp_log_q(quiet, "decoder require buffer w:h [%d:%d] stride [%d:%d] size %d\n",
|
||||
width, height, hor_stride, ver_stride, buf_size);
|
||||
|
||||
if (MPP_FRAME_FMT_IS_FBC(cmd->format)) {
|
||||
MppFrame frm = NULL;
|
||||
|
||||
mpp_frame_init(&frm);
|
||||
mpp_frame_set_width(frm, width);
|
||||
mpp_frame_set_height(frm, height);
|
||||
mpp_frame_set_fmt(frm, cmd->format);
|
||||
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_FRAME_INFO, frm);
|
||||
mpp_frame_deinit(&frm);
|
||||
|
||||
if (ret) {
|
||||
mpp_err("set fbc frame info failed\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
grp = dec_buf_mgr_setup(data->buf_mgr, buf_size, 24, cmd->buf_mode);
|
||||
/* Set buffer to mpp decoder */
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_EXT_BUF_GROUP, grp);
|
||||
|
@@ -158,6 +158,23 @@ static int multi_dec_simple(MpiDecMultiCtx *data)
|
||||
mpp_log_q(quiet, "decoder require buffer w:h [%d:%d] stride [%d:%d] buf_size %d",
|
||||
width, height, hor_stride, ver_stride, buf_size);
|
||||
|
||||
if (MPP_FRAME_FMT_IS_FBC(cmd->format)) {
|
||||
MppFrame frm = NULL;
|
||||
|
||||
mpp_frame_init(&frm);
|
||||
mpp_frame_set_width(frm, width);
|
||||
mpp_frame_set_height(frm, height);
|
||||
mpp_frame_set_fmt(frm, cmd->format);
|
||||
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_FRAME_INFO, frm);
|
||||
mpp_frame_deinit(&frm);
|
||||
|
||||
if (ret) {
|
||||
mpp_err("set fbc frame info failed\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
grp = dec_buf_mgr_setup(data->buf_mgr, buf_size, 24, cmd->buf_mode);
|
||||
/* Set buffer to mpp decoder */
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_EXT_BUF_GROUP, grp);
|
||||
|
@@ -137,6 +137,23 @@ static int dec_loop(MpiDecLoopData *data)
|
||||
mpp_log_q(quiet, "%p decoder require buffer w:h [%d:%d] stride [%d:%d] buf_size %d",
|
||||
ctx, width, height, hor_stride, ver_stride, buf_size);
|
||||
|
||||
if (MPP_FRAME_FMT_IS_FBC(cmd->format)) {
|
||||
MppFrame frm = NULL;
|
||||
|
||||
mpp_frame_init(&frm);
|
||||
mpp_frame_set_width(frm, width);
|
||||
mpp_frame_set_height(frm, height);
|
||||
mpp_frame_set_fmt(frm, cmd->format);
|
||||
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_FRAME_INFO, frm);
|
||||
mpp_frame_deinit(&frm);
|
||||
|
||||
if (ret) {
|
||||
mpp_err("set fbc frame info failed\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
grp = dec_buf_mgr_setup(data->buf_mgr, buf_size, 24, cmd->buf_mode);
|
||||
/* Set buffer to mpp decoder */
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_EXT_BUF_GROUP, grp);
|
||||
|
@@ -146,6 +146,23 @@ static int dec_simple(MpiDecLoopData *data)
|
||||
mpp_log_q(quiet, "%p decoder require buffer w:h [%d:%d] stride [%d:%d] buf_size %d",
|
||||
ctx, width, height, hor_stride, ver_stride, buf_size);
|
||||
|
||||
if (MPP_FRAME_FMT_IS_FBC(cmd->format)) {
|
||||
MppFrame frm = NULL;
|
||||
|
||||
mpp_frame_init(&frm);
|
||||
mpp_frame_set_width(frm, width);
|
||||
mpp_frame_set_height(frm, height);
|
||||
mpp_frame_set_fmt(frm, cmd->format);
|
||||
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_FRAME_INFO, frm);
|
||||
mpp_frame_deinit(&frm);
|
||||
|
||||
if (ret) {
|
||||
mpp_err("set fbc frame info failed\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
grp = dec_buf_mgr_setup(data->buf_mgr, buf_size, 24, cmd->buf_mode);
|
||||
/* Set buffer to mpp decoder */
|
||||
ret = mpi->control(ctx, MPP_DEC_SET_EXT_BUF_GROUP, grp);
|
||||
|
Reference in New Issue
Block a user