Firefly开源社区
标题:
使用MPP库进行硬编码,程序结束在初始化过程中。
[打印本页]
作者:
Bedrock
时间:
2022-1-3 23:04
标题:
使用MPP库进行硬编码,程序结束在初始化过程中。
参考mpi_enc_test程序,抽出主干程序,命令行参数的过程直接指定。如下:
MPP_RET mpi_enc_test_cmd_update_by_args(MpiEncTestArgs* cmd,
int argc,
char** argv) {
MPP_RET ret = MPP_NOK;
RK_U32 i;
char ext[50] = "yuv";
char ext2[50] = "h264";
cmd->file_input = "/nfs/bridge-far_cif.yuv";
for (i = 0; i < MPP_ARRAY_ELEMS(map_ext_to_frm_fmt); i++) {
Ext2FrmFmt* info = &map_ext_to_frm_fmt[i];
if (!strcmp(ext, info->ext_name)) {
cmd->format = info->format;
LOG_DEBUG("encoder cmd format %d \n");
}
}
cmd->file_output = "/nfs/bridge-far_cif.h264";
for (i = 0; i < MPP_ARRAY_ELEMS(map_ext_to_coding); i++) {
Ext2Coding *info = &map_ext_to_coding[i];
if (!strcmp(ext2, info->ext_name)) {
cmd->type = info->coding;
LOG_DEBUG("info coding %d \n",info->coding);
}
}
LOG_DEBUG("encoder cmd type %d \n", cmd->type);
cmd->width = ENCODER_WIDTH;
cmd->height = ENCODER_HEIGHT;
// cmd->hor_stride =
// cmd->ver_stride =
for (i = 0; i < MPP_ARRAY_ELEMS(support_list); i++) {
MppCodingTypeInfo *info = &support_list[i];
if (MPP_CTX_ENC == info->type &&
cmd->type == info->coding) {
ret = MPP_OK;
break;
}
}
LOG_DEBUG("encoder cmd type %d \n", cmd->type);
cmd->num_frames = 10;
ret = MPP_OK;
return ret;
}
复制代码
查看初始化过程中的打印,发现现在的日志与test成功运行的日志,前面部分打印相同,成功运行截图:
image.jpg
(134.93 KB, 下载次数: 570)
下载附件
2022-1-3 23:00 上传
报错截图:
image.jpg
(131.93 KB, 下载次数: 599)
下载附件
2022-1-3 23:00 上传
看日志是因为,调用了_check_is_mpp_enc_ref_cfg函数,这个函数是参考mpi直接抄过来的,但是我在初始化的过程中并没有调用它,这是setup的时候会调用,但是我将掉用的程序已经注释,他还是会出现这个。 有点莫名,我开mpi中init的过程很简单,也没有会读取cfg的过程。
现在一直卡在这里,想问问大佬有没有解决方法。或者提供一些解决思路。
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/)
Powered by Discuz! X3.1