Toybrick

楼主: jefferyzhang

RK3399Pro入门教程(5)图形加速引擎RGA的使用

 

lily393

注册会员

积分
56
楼主
发表于 2020-11-23 17:11:21 | 显示全部楼层
jefferyzhang 发表于 2019-10-29 16:20
安卓linux是通用的,并且安卓有自己单独一套接口。
Linux你用这个就可以了。
RGA是一个IP核,不会执行cpu ...

也就是上面那个源码也适用于firefly的板子么?
回复

使用道具 举报

lily393

注册会员

积分
56
沙发
发表于 2020-11-25 16:52:29 | 显示全部楼层
jefferyzhang 发表于 2019-4-18 16:59
rga其实就是一个ioctl,填下结构体就可以了,建议你看库源码自己实现一个,或者用android写好的librga库 ...

想问下 RGA加速 测试demo 跑出来rgb转nv12 要5ms   1280*720  resize 到720*480 后
要10ms  这个算正常么???
MODE = b
main, Unknow RGA mode
firefly@firefly:~/rk3399/src/test/rga_test/src$ sudo ./rga_test --cvtcolor
librga:RGA_GET_VERSION:3.02,3.020000
ctx=0xf2e6c40,ctx->rgaFd=3
Rga built version:version:1.00
Start selecting mode 0
im2d cvtcolor ..
MODE = 8
filePath:/usr/data/in0w1280-h720-rgba8888.bin
read size:3686400
open file
cvtcolor .... cost time 5281 us, Run successfully

open /usr/data/out0w1280-h720-nv12.bin and write ok
read size:1382400
firefly@firefly:~/rk3399/src/test/rga_test/src$ sudo ./rga_test --resize down
librga:RGA_GET_VERSION:3.02,3.020000
ctx=0x39aa3c40,ctx->rgaFd=3
Rga built version:version:1.00
Start selecting mode 0
im2d resize ..
down resize ...
MODE = 2
filePath:/usr/data/in0w1280-h720-rgba8888.bin
read size:3686400
open file
resizing .... cost time 9969 us, Run successfully

open /usr/data/out0w720-h480-rgba8888.bin and write ok
read size:1382400
回复

使用道具 举报

lily393

注册会员

积分
56
板凳
发表于 2020-11-26 16:31:33 | 显示全部楼层
jefferyzhang 发表于 2020-11-25 16:54
使用DMA内存的话,这速度不正常;
如果使用的是虚拟内存的话,那很正常。 ...

用的是这个
        src = wrapbuffer_virtualaddr(yuv_buf, SRC_WIDTH, SRC_HEIGHT, SRC_FORMAT);
        dst = wrapbuffer_virtualaddr(rgb_buf, DST_WIDTH, DST_HEIGHT, DST_FORMAT);

用dma内存的话我应该是调这个?
        src = wrapbuffer_fd(fd1, SRC_WIDTH, SRC_HEIGHT, SRC_FORMAT);
        dst = wrapbuffer_fd(fd2, DST_WIDTH, DST_HEIGHT, DST_FORMAT);
回复

使用道具 举报

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

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表