Toybrick

标题: rga的github上的demo运行异常 [打印本页]

作者: jackO    时间: 2019-7-2 14:45
标题: rga的github上的demo运行异常
烧写1.2版本固件,成功调用rtsp-client和mpp,但是调用rga出错。
下载github上rga的demo:
编译成功,运行无反应。添加打印信息发现程序阻塞在rga->ops->go(rga)函数:

修改源码:
void rga_copy() {
    RockchipRga *mRga = RgaCreate();
    if (!mRga) {
        printf("create rga failed !\n");
        abort();
    }
    mRga->ops->initCtx(mRga);

    mRga->ops->setSrcFormat(mRga, V4L2_PIX_FMT_ABGR32, BUFFER_WIDTH, BUFFER_HEIGHT);
    mRga->ops->setDstFormat(mRga, V4L2_PIX_FMT_ABGR32, BUFFER_WIDTH, BUFFER_HEIGHT);

    mRga->ops->setSrcBufferPtr(mRga, srcBuffer);
    mRga->ops->setDstBufferPtr(mRga, dstBuffer);

    printf("---------------------before-------------------\n");
    mRga->ops->go(mRga);
    printf("---------------------after--------------------\n");
}



运行结果:
[toybrick@localhost build]$ ./rga_cpy
---------------------before-------------------

在这块板子上,各种官方推荐demo无法运行,而且无有用提示,该如何解决???



作者: jefferyzhang    时间: 2019-7-2 17:15
各种都不行?
试试dnf clean all  ; dnf update后再试试?

作者: jackO    时间: 2019-7-2 17:17
jefferyzhang 发表于 2019-7-2 17:15
各种都不行?
试试dnf clean all  ; dnf update后再试试?

这种方式试过了,不行。
作者: addy    时间: 2019-7-2 19:29
我们官方并没有上传rga demo到github
请提供git的链接地址
作者: jefferyzhang    时间: 2019-7-3 08:54
从你代码来看,你的srcbuffer和dstbuffer是什么 ?
作者: jackO    时间: 2019-7-3 10:29
addy 发表于 2019-7-2 19:29
我们官方并没有上传rga demo到github
请提供git的链接地址

https://github.com/Jerzha/samples-toybrick-rga
作者: jackO    时间: 2019-7-3 10:31
jefferyzhang 发表于 2019-7-3 08:54
从你代码来看,你的srcbuffer和dstbuffer是什么 ?

srcbuffer是源数据,使用rand生成的,dstbuffer是目标数据,是new出来的空间
作者: jackO    时间: 2019-7-3 10:32
addy 发表于 2019-7-2 19:29
我们官方并没有上传rga demo到github
请提供git的链接地址

你们的rga测试过吗?
作者: jefferyzhang    时间: 2019-7-3 10:54
jackO 发表于 2019-7-3 10:32
你们的rga测试过吗?

这个是我自己写的demo,其他同事不知道的。
demo肯定是跑过的。你直接用我demo跑有问题么?
作者: jefferyzhang    时间: 2019-7-3 10:56
jackO 发表于 2019-7-3 10:31
srcbuffer是源数据,使用rand生成的,dstbuffer是目标数据,是new出来的空间

读一张图片试下。


作者: ehome4407    时间: 2019-7-3 15:57
这个github上的rga我是跑了没有问题,代码结构我也重新封装了一下,其实就是open一个/dev/rga的设备,然后使用ioctl送命令进去,就是要配置ioctl送命令的时候附加的参数,我是使用mpp+rga,vpu+rga都可以硬解mjpeg,但是rk3288环境下使用mpp+rga貌似有问题,而且也很慢,用vpu——rga就没有问题,cpu负载分析的确是小了。
作者: jackO    时间: 2019-7-3 17:17
jefferyzhang 发表于 2019-7-3 10:56
读一张图片试下。

不知道是否和固件版本有关。官方提供的固件版本有1.3和1.2的。之前刷1.3的版本是脸rtspClient这个库都跑不起来,但是rknn的初始化能成功,现在固件刷成了1.2的版本,mpp和rtspClient的版本能跑,rga又跑不起来,rknn初始化也失败。不知道版本编译的这个rga是在1.2还是1.3版本上运行的呢。因为网上的相关资料信息不太好找,版主方便的话可以私信留个联系方式吗,然后再请教。
作者: jefferyzhang    时间: 2019-7-4 08:53
jackO 发表于 2019-7-3 17:17
不知道是否和固件版本有关。官方提供的固件版本有1.3和1.2的。之前刷1.3的版本是脸rtspClient这个库都跑 ...

哦,你不是用最新版本啊。。。。之前版本是有问题的。。。以最新的为准。
RtspClient这个只是内部开发者自己写的,给其他开发人员评估用的库,支持不是特别好,我建议你用curl这样开源库来做会更好。。。
作者: jackO    时间: 2019-7-4 17:32
jefferyzhang 发表于 2019-7-4 08:53
哦,你不是用最新版本啊。。。。之前版本是有问题的。。。以最新的为准。
RtspClient这个只是内部开发者 ...

那有1.3版本的RtspClient吗,这个用起来比较方便,自己去重新写curl的话可能有点耽搁时间。
作者: jefferyzhang    时间: 2019-7-5 11:41
jackO 发表于 2019-7-4 17:32
那有1.3版本的RtspClient吗,这个用起来比较方便,自己去重新写curl的话可能有点耽搁时间。 ...

都有的。
RtspClient开发用用可以,做产品不建议,我们没办法很细的去测试每一款摄像头协议,你可能会发现一些rtsp流无法握手成功。
作者: xiaoyuan129    时间: 2020-9-25 11:06
jefferyzhang 发表于 2019-7-2 17:15
各种都不行?
试试dnf clean all  ; dnf update后再试试?

你好,我在rk3399核心板(ubuntu18.04.2 LTS 4.4.179)上运行该demo也出现问题,出错地方:
在rga->rgaFd = open(ANDROID_RGA_DEV, O_RDWR, 0);
rga_err(rga, "open rga failed ! errno=%d", errno);
打印出的errno = 13.
我查看/dev下是存在rga设备节点的,请问这个问题应该如何解决啊?
作者: jefferyzhang    时间: 2020-9-25 11:58
xiaoyuan129 发表于 2020-9-25 11:06
你好,我在rk3399核心板(ubuntu18.04.2 LTS 4.4.179)上运行该demo也出现问题,出错地方:
在rga->rgaFd ...

不是我们toybrick开发版和系统,我们咋知道怎么解决,驱动都被乱改了。。。
你应该去询问提供给你系统或者板子的代理商。。




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