Toybrick

标题: MPP/RK MPI学习问题 [打印本页]

作者: bluelight3    时间: 2022-8-22 16:40
标题: MPP/RK MPI学习问题
最近在学习瑞芯微的MPP/RK MPI,碰到了一些问题,请各位大神不吝赐教。

碰到的问题:
1.之前是在学习瑞芯微的MPP文档和demo,学习中途中在externel文件夹下发现了rk mpi相关文档。似乎rk mpi包含的功能更加丰富完善,请问一下 mpp 与 rk mpi的关系?
2.在学习rk mpi的过程中,试图交叉编译rk_mpi包含的测试代码,但是在make过程中出现了如下错误


在此之前,还提示缺少librockchip_mpp.so文件,将mpp demo编译之后生成的librockchip_mpp.so放到librockit.so同级文件夹下这个报错消失。

此外,在Linux虚拟机上进行了如下尝试
root@ubuntu:/home/topeet/gSir/rk3568/rockit_backUp/build# cd /usr/lib/x86_64-linux-gnu/
root@ubuntu:/usr/lib/x86_64-linux-gnu# file libdrm.so
libdrm.so: symbolic link to libdrm.so.2
root@ubuntu:/usr/lib/x86_64-linux-gnu# file libdrm.so.2
libdrm.so.2: symbolic link to libdrm.so.2.4.0

root@ubuntu:/usr/lib/x86_64-linux-gnu# file libdrm.so.2.4.0
libdrm.so.2.4.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a2181b9804670894e9db0a5c1228c42be4aad0b6, stripped

自己认为似乎是因为依赖的lib为x86-64位的缘故,不知道是不是这个原因。如果是,想请问aarch64版本的libdrm.so及libasound.so在哪里下载

作者: bluelight3    时间: 2022-8-22 16:43
错误发不出来 大概就是缺少libdrm和libasound
作者: jefferyzhang    时间: 2022-8-23 11:23
缺什么就用apt install装什么...
作者: bluelight3    时间: 2022-8-23 13:27
jefferyzhang 发表于 2022-8-23 11:23
缺什么就用apt install装什么...

aarch64的这些lib怎么install啊.. 请大佬赐教
作者: bluelight3    时间: 2022-8-23 14:37
ld: warning: libasound.so.2, needed by librockit.so, not found (try using -rpath or -rpath-link)
ld: warning: libdrm.so.2, needed by librockit.so, not found (try using -rpath or -rpath-link)
中间的错误是这样的,路径被我删掉了(论坛发帖带路径好像会被吞) ,反正大概是aarch64-linux-gnu/bin这个目录
作者: bluelight3    时间: 2022-8-24 14:16
求助... 自己的虚拟机只有x86_64架构下的libdrm和libasound....
作者: jefferyzhang    时间: 2022-8-24 14:50
bluelight3 发表于 2022-8-24 14:16
求助... 自己的虚拟机只有x86_64架构下的libdrm和libasound....

你到底在问什么,mpp跟你x86虚拟机有什么关系
作者: bluelight3    时间: 2022-8-24 15:56
jefferyzhang 发表于 2022-8-24 14:50
你到底在问什么,mpp跟你x86虚拟机有什么关系

就是我想在开发板上跑这个mpp平台的测试代码 需要aarch64的交叉编译器
然后mpp的测试代码依赖于librockit.so的这个库,这个库是aarch64架构的
并且这个库依赖于librockchip_mpp.so, libdrm.so, libasound.so 这三个文件
(这一点是在编译时报错才发现的)
第一个文件我想办法得到了,后面两个文件我在Ubuntu虚拟机中使用whereis命令
发现他们也存在,都存在于x86_64-linux-gnu文件夹下,大概是gcc的默认文件夹
然后用file命令发现这两个文件是x86_64架构的
想请问如何得到aarch64架构下的libdrm.so和libasound.so文件,否则测试代码无法编译
后续开发也肯定要依赖librockit.so这个库文件的
作者: jefferyzhang    时间: 2022-8-24 16:21
bluelight3 发表于 2022-8-24 15:56
就是我想在开发板上跑这个mpp平台的测试代码 需要aarch64的交叉编译器
然后mpp的测试代码依赖于librockit ...

不知道你在说什么,toybrick rk3588根本没有librockit.so的依赖.
你x86交叉编译的依赖跟你x86 host本身的库有什么关系!

libdrm.so就是drm标准库,asound.so就是alsa标准库,这两个文件源码很难找么
作者: bluelight3    时间: 2022-8-25 09:27
jefferyzhang 发表于 2022-8-24 16:21
不知道你在说什么,toybrick rk3588根本没有librockit.so的依赖.
你x86交叉编译的依赖跟你x86 host本身的 ...

首先这边确实是我发错板块了,我购买的是3568,之前在3568板块发帖一直发不出来,我一开始以为是3568板块的问题,后来发现应该是论坛不能带我的错误消息里的链接。
其次我们是想用sdk中rk356x_linux 文件夹下的rk mpi平台,和mpp平台大概是有区别的。编译测试代码是有librockit.so依赖的
另外自己确实也是刚转linux嵌入式,有些标准库不太懂也不太好意思。 编译过程是发现有上述依赖的
可是虚拟机中的drm标准库和alsa标准库没有aarch64架构的(llibrockit.so这个文件是依赖于他们并且自身是
aarch64架构的)
还是谢谢大佬解答了
作者: jefferyzhang    时间: 2022-8-25 09:57
bluelight3 发表于 2022-8-25 09:27
首先这边确实是我发错板块了,我购买的是3568,之前在3568板块发帖一直发不出来,我一开始以为是3568板块 ...

toybrick 3568也没有librockit.so的依赖。
你哪里买的板子,是toybrick的么
作者: bluelight3    时间: 2022-8-25 10:11
jefferyzhang 发表于 2022-8-25 09:57
toybrick 3568也没有librockit.so的依赖。
你哪里买的板子,是toybrick的么

不是的 但是这个是在瑞芯微提供的SDK下面的
作者: bluelight3    时间: 2022-8-25 10:17
jefferyzhang 发表于 2022-8-25 09:57
toybrick 3568也没有librockit.so的依赖。
你哪里买的板子,是toybrick的么

其实主要也是因为Rockit MPI里面带了一个VI模块我们想用
作者: jefferyzhang    时间: 2022-8-25 10:19
bluelight3 发表于 2022-8-25 10:17
其实主要也是因为Rockit MPI里面带了一个VI模块我们想用

那你问错地方了,这里只是toybrick的论坛,如果你们是购买了evb,请直接联系FAE或者redmine提问题。
如果你买了别人家的板子,请联系板商解决问题。
作者: 18674092203    时间: 2022-8-26 18:48
jefferyzhang 发表于 2022-8-25 09:57
toybrick 3568也没有librockit.so的依赖。
你哪里买的板子,是toybrick的么

我们这边最开始找官方买,结果官方推荐别家去买,咋回事呢。好坑啊,改了代码demo都跑不通,基本没支持
作者: 18674092203    时间: 2022-8-26 18:51
18674092203 发表于 2022-8-26 18:48
我们这边最开始找官方买,结果官方推荐别家去买,咋回事呢。好坑啊,改了代码demo都跑不通,基本没支持 ...

最开始mpp里面不支持soc name:rk3588,照着其它的加进去编译玩了,解码还是失败。之前也使用过ffmpeg解码h264,现在也是用mpp原生api就是报错,编译支持rkmpp的ffmpeg,同样的使用ffmpeg代码使用cpu解码h264没问题,使用 h264_rkmpp 解码就报错,总不能说ffmpeg不会用mpp吧。搞了几天坑死了,现在还只能去看mpp源代码吗?
作者: jefferyzhang    时间: 2022-8-27 08:34
18674092203 发表于 2022-8-26 18:51
最开始mpp里面不支持soc name:rk3588,照着其它的加进去编译玩了,解码还是失败。之前也使用过ffmpeg解 ...

1. toybrick是个开发版的牌子,rockchip只是他的芯片品牌。
2. rockchip是芯片公司,你买电脑主板直接找intel买?官方当然是推荐你去板商买板子
3. mpp跟板子驱动版本相关,不能混用,只要你买的是toybrick板子,系统里自带的mpp和驱动就是匹配的,不要自己乱换。
4. ffmpeg是第三方库,没有版权的,芯片公司不可能去支持。你问官方只会推荐你用mpp。





欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3