lozenyin 发表于 2022-5-5 15:13:07

RK3588上运行MPP

在github拉取MPP源码编译。
运行测试例子的时候没有人格的信息打印出来,本人在RV1126上运行是有信息打印的。请问有人遇到过这种情况嘛?

lozenyin 发表于 2022-5-5 15:32:36

我使用的是ROC-RK3588S-PC。但是编码视频(mpi_enc_test)还是可以的,可以正常播放。就是没有相关信息打印

板蓝根 发表于 2022-5-6 10:39:51

现在打印使用了 os_syslog 接口, 输出在 /var/log/syslog

Ziven_zhou 发表于 2022-5-11 10:10:45

我也发现了这个问题:
1、用官网上面 的固件默认目录 /usr/lib/aarch64-linux-gnu/ 库目录;
或者 apt install librockchip-mpp-dev 上面安装后更新的都能有信息打印 ;

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

Ziven_zhou 发表于 2022-5-11 11:45:03

已经找到解决办法了,
在用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:40

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

你好,你使用的是什么固件,版本多少,我使用的固件无法进行解码

Ziven_zhou 发表于 2022-6-1 15:39:53

使用固件 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:40

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

{:4_123:}我遇到了同样的问题,按照你的方法解决了打印问题,大赞!

uuid 发表于 2023-11-14 10:22: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


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

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

    vfprintf(stdout, line, vList);                  //使用 vlist进行打印
}
页: [1]
查看完整版本: RK3588上运行MPP