Toybrick

v4l2调用摄像头 + opengles + drm显示(已解决)

shopping

中级会员

积分
410
发表于 2019-11-4 16:21:33    查看: 19741|回复: 19 | [复制链接]    打印 | 显示全部楼层
本帖最后由 shopping 于 2019-12-2 14:41 编辑

按照论坛里的建议,用 opengles + drm 做显示,因为用OpenGLes ,还要引进 EGL  GBM库,太复杂,为了减少工作量,先用 DRM 把摄像头读取的数据显示出来。github地址:https://github.com/shopping-tang/v4l2_drm
更新:摄像头数据已初步显示在屏幕上,第一阶段有突破!代码在上面,有需要自取。
我Q : 1094504629 ,回复 DRM 加我,一起看DRM,这个库太烦了,后期恐怕还要引入 gbm ,egl 库,opengles 暂时没需求,看领导怎么说了。
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-8 14:36:56 | 显示全部楼层
本帖最后由 shopping 于 2019-11-8 16:40 编辑

四处看代码+自己疯狂尝试,受了点启发,成功跑通代码,显示成功!下阶段需解决问题:
1.将显示屏放至我想要的位置,及随意控制显示窗口大小;
2.双摄像头双屏同显;
3.多线程;
4.停止播放后,屏幕会黑屏,要重启才能重新点亮。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-9 16:25:50 | 显示全部楼层
更新,今天又试了一下,解决了问题 1 、 2  、 3,问题4无相关资料,暂无头绪。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

hjf515

中级会员

积分
213
发表于 2019-11-11 11:00:29 | 显示全部楼层
多谢楼主,先收藏了。。
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-13 16:28:20 | 显示全部楼层
本帖最后由 shopping 于 2019-11-13 16:37 编辑

对问题4无头绪,为此咨询了 jefferyzhang 老哥,他说:“需要保存之前状态,关闭后还原状态” 。一开始没什么灵感,今天突然发现 https://github.com/Jerzha/samples-rklinux-opengl 里的 main_gbm.cpp 有关于保存之前状态的代码,参考了一下,成功排除 问题 4 !!!
回复

使用道具 举报

gaozhenyan

新手上路

积分
17
发表于 2019-11-13 21:41:57 | 显示全部楼层
之前整理的egl/gbm/drm相关的应用,可能会有帮助,代码参考的是mpv播放器
https://download.csdn.net/download/goazhenyan/10791652
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-14 08:27:03 | 显示全部楼层
gaozhenyan 发表于 2019-11-13 21:41
之前整理的egl/gbm/drm相关的应用,可能会有帮助,代码参考的是mpv播放器
https://download.csdn.net/downl ...

谢谢,我看一下。
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-29 09:20:32 | 显示全部楼层
本帖最后由 shopping 于 2019-11-29 09:30 编辑

经过努力,初步将 opengles 结合 drm 显示画面成功。遗憾的是,画面割裂严重,找原因。。。。。。此外,特意用了 cat  /sys/devices/platform/ff9a0000.gpu/utilisation 这个命令看下 gpu 占有量,用量数据在 10 - 90 之间波动。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-29 09:57:48 | 显示全部楼层
本帖最后由 shopping 于 2019-11-29 10:01 编辑

想了一下,注释了几行代码,消除了一个多余的画面。目前思考的问题是:为什么画面里有白色区域?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

shopping

中级会员

积分
410
 楼主| 发表于 2019-11-29 10:19:13 | 显示全部楼层
把 glViewport(0, 0, kms->mode.vdisplay, kms->mode.hdisplay); 给注释了,白色区域少了点。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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


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