Firefly开源社区

标题: RK3588上运行MPP [打印本页]

作者: lozenyin    时间: 2022-5-5 15:13
标题: RK3588上运行MPP
在github拉取MPP源码编译。
运行测试例子的时候没有人格的信息打印出来,本人在RV1126上运行是有信息打印的。请问有人遇到过这种情况嘛?

作者: lozenyin    时间: 2022-5-5 15:32
我使用的是ROC-RK3588S-PC。但是编码视频(mpi_enc_test)还是可以的,可以正常播放。就是没有相关信息打印
作者: 板蓝根    时间: 2022-5-6 10:39
现在打印使用了 os_syslog 接口, 输出在 /var/log/syslog
作者: Ziven_zhou    时间: 2022-5-11 10:10
我也发现了这个问题:
1、用官网上面 的固件默认目录 /usr/lib/aarch64-linux-gnu/ 库目录;
或者 apt install librockchip-mpp-dev 上面安装后更新的都能有信息打印 ;

2、而用源代码编译出来的库,信息打印全无;

作者: Ziven_zhou    时间: 2022-5-11 11:45
已经找到解决办法了,
在用TortoiseGit 查找syslog 可以发现,在3月19日有变更a225238d0c2282c53c0914073acc8222c6cb287c

在osal/linux/os_log.cpp
中的函数 os_log(const char* tag, const char* msg, va_list list)
vsyslog(LOG_INFO, line, list);下面
中加入
vfprintf(stdout, line, list);
函数 void os_err(const char* tag, const char* msg, va_list list)
vsyslog(LOG_ERR, line, list);
下面加入:
vfprintf(stderr, line, list);
问题得以解决,即在 终端中有打印,也在 /var/log/syslog
有打印;


作者: lin04300119    时间: 2022-5-30 15:11
lozenyin 发表于 2022-5-5 15:32
我使用的是ROC-RK3588S-PC。但是编码视频(mpi_enc_test)还是可以的,可以正常播放。就是没有相关信息打印

你好,你使用的是什么固件,版本多少,我使用的固件无法进行解码
作者: Ziven_zhou    时间: 2022-6-1 15:39
使用固件 ITX-3588J_Ubuntu20.04-Gnome-r211_v0.1.0a_220424.img
最新的 mpp 为 :  
https://github.com/HermanChen/mpp.git

在osal/linux/os_log.cpp
中的函数 os_log(const char* tag, const char* msg, va_list list)
vsyslog(LOG_INFO, line, list);下面
中加入
vfprintf(stdout, line, list);
函数 void os_err(const char* tag, const char* msg, va_list list)
vsyslog(LOG_ERR, line, list);
下面加入:
vfprintf(stderr, line, list);
问题得以解决,即在 终端中有打印,也在 /var/log/syslog
有打印。

去掉 -d 0 -x 0
sudo ./mpi_dec_test-i Tennis1080p.h264  -o 1080P_n.yuv -w1920 -h 1080 -t 7

或者用
sudo ./mpi_dec_mt_test-i Tennis1080p.h264  -o 1080P_n.yuv -w1920 -h 1080 -t 7

我这边用
sudo ./mpi_dec_mt_test-i Tennis1080p.h264  -w1920 -h 1080 -t 7 -s 32
只解码不写 yuv文件 ,可以解码 32 路;


作者: lanbah    时间: 2022-6-28 11:39
Ziven_zhou 发表于 2022-5-11 11:45
已经找到解决办法了,
在用TortoiseGit 查找syslog 可以发现,在3月19日有变更a225238d0c2282c53c0914073a ...

我遇到了同样的问题,按照你的方法解决了打印问题,大赞!
作者: uuid    时间: 2023-11-14 10:22
Ziven_zhou 发表于 2022-5-11 11:45
已经找到解决办法了,
在用TortoiseGit 查找syslog 可以发现,在3月19日有变更a225238d0c2282c53c0914073a ...

这样添加编译rk3588可以正常打印,但在ubuntu18.04编译 x86_64会出现段错误,原因是 sysLog 和vfprintf都使用了 args,解决方法是提前对 args进行一次拷贝,参考:https://bbs.csdn.net/topics/390841785


  1. void os_log_info(const char* tag, const char* msg, va_list list)
  2. {
  3.     va_list vList;
  4.     va_copy(vList, list);                             //拷贝一份到 vList

  5.     char line[LINE_SZ] = {0};
  6.     snprintf(line, sizeof(line) - 1, "%s: %s", tag, msg);
  7.     vsyslog(LOG_INFO, line, list);                    //使用 list进行打印

  8.     vfprintf(stdout, line, vList);                    //使用 vlist进行打印
  9. }
复制代码





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1