Closed RockLing-18 closed 11 months ago
代码中使用rga_control函数将yuv转换为rgb,效率很高,在rk3568盒子上正常运行。同样的代码在rk3588盒子上编译运行,在调用rga_control函数,命令RGA_CMD_RUN_SYNC时报错,加了日志打印,参数方面两盒子完全一致,不知道什么原因导致的。两个盒子区别在于rga的驱动版本不一致,rk3568是rga2,rk3588是rga3,请问有大佬遇到过类似的问题吗?有解决该问题的方向吗?调用的代码如下:
ret = rga_control(m_rga_ctx, RGA_CMD_SET_SRC, src_yuv); if (ret) { printf("rga cmd setup source failed %d\n", ret); return -1; } ret = rga_control(m_rga_ctx, RGA_CMD_SET_DST, m_originalData.dst_frm); if (ret) { printf("rga cmd setup destination failed %d\n", ret); return -1; } ret = rga_control(m_rga_ctx, RGA_CMD_RUN_SYNC, NULL); if (ret) { printf("rga cmd process copy failed %d\n", ret); return -1; }
mpp 的 rga 很旧的 api 了,github 上还有个专门的 librga
代码中使用rga_control函数将yuv转换为rgb,效率很高,在rk3568盒子上正常运行。同样的代码在rk3588盒子上编译运行,在调用rga_control函数,命令RGA_CMD_RUN_SYNC时报错,加了日志打印,参数方面两盒子完全一致,不知道什么原因导致的。两个盒子区别在于rga的驱动版本不一致,rk3568是rga2,rk3588是rga3,请问有大佬遇到过类似的问题吗?有解决该问题的方向吗?调用的代码如下: