Firefly开源社区

打印 上一主题 下一主题

[Linux] 使用MPP库进行硬编码,程序结束在初始化过程中。

81

积分

0

威望

0

贡献

技术小白

积分
81

使用MPP库进行硬编码,程序结束在初始化过程中。

发表于 2022-1-3 23:04:43      浏览:3997 | 回复:0        打印      只看该作者   [复制链接] 楼主
参考mpi_enc_test程序,抽出主干程序,命令行参数的过程直接指定。如下:
  1. MPP_RET mpi_enc_test_cmd_update_by_args(MpiEncTestArgs* cmd,
  2.                                         int argc,
  3.                                         char** argv) {
  4.     MPP_RET ret = MPP_NOK;
  5.     RK_U32 i;
  6.     char ext[50] = "yuv";
  7.     char ext2[50] = "h264";
  8.     cmd->file_input = "/nfs/bridge-far_cif.yuv";
  9.     for (i = 0; i < MPP_ARRAY_ELEMS(map_ext_to_frm_fmt); i++) {
  10.         Ext2FrmFmt* info = &map_ext_to_frm_fmt[i];

  11.         if (!strcmp(ext, info->ext_name)) {
  12.             cmd->format = info->format;
  13.             LOG_DEBUG("encoder cmd format %d \n");
  14.         }
  15.     }
  16.     cmd->file_output = "/nfs/bridge-far_cif.h264";
  17.     for (i = 0; i < MPP_ARRAY_ELEMS(map_ext_to_coding); i++) {
  18.         Ext2Coding *info = &map_ext_to_coding[i];

  19.         if (!strcmp(ext2, info->ext_name)) {
  20.             cmd->type = info->coding;
  21.             LOG_DEBUG("info coding %d \n",info->coding);
  22.         }
  23.     }
  24.     LOG_DEBUG("encoder cmd type %d \n", cmd->type);

  25.     cmd->width = ENCODER_WIDTH;
  26.     cmd->height = ENCODER_HEIGHT;
  27.     // cmd->hor_stride =
  28.     // cmd->ver_stride =
  29.     for (i = 0; i < MPP_ARRAY_ELEMS(support_list); i++) {
  30.         MppCodingTypeInfo *info = &support_list[i];
  31.         if (MPP_CTX_ENC    == info->type &&
  32.             cmd->type  == info->coding) {
  33.             ret = MPP_OK;
  34.             break;
  35.         }
  36.     }
  37.     LOG_DEBUG("encoder cmd type %d \n", cmd->type);
  38.     cmd->num_frames = 10;
  39.     ret = MPP_OK;
  40.    
  41.     return ret;
  42. }
复制代码
查看初始化过程中的打印,发现现在的日志与test成功运行的日志,前面部分打印相同,成功运行截图:

报错截图:



看日志是因为,调用了_check_is_mpp_enc_ref_cfg函数,这个函数是参考mpi直接抄过来的,但是我在初始化的过程中并没有调用它,这是setup的时候会调用,但是我将掉用的程序已经注释,他还是会出现这个。 有点莫名,我开mpi中init的过程很简单,也没有会读取cfg的过程。

现在一直卡在这里,想问问大佬有没有解决方法。或者提供一些解决思路。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表