在AM5728开发板上测试 weston-simple-dmabuf-v4l 功能,按照 weston/clients/simple-dmabuf-v4l 源代码的提示:
" here we assume /dev/video0\n"
"- set the pixel format:\n"
" $ v4l2-ctl -d /dev/video0 –set-fmt-video=width=640,pixelformat=XR24\n"
"- launch the demo:\n"
" $ %s /dev/video0 XR24 XR24\n"
"You should see a test pattern with color bars, and some text.\n"
进行操作,,报错:
Error: zwp_linux_buffer_params.create failed.
根据weston_log里的日志定位到 gl_render.c里 egl_image_create 函数执行出错,错误码为 EGL_BAD_MATCH,
当将 XR24格式改为 YUYV时,又可以正常运行,没有错误,,
有谁研究过weston, 在AM5728开发板上,为什么会出现这种 format 不兼容的问题,对gl_render.c的源码需要作什么修改吗
yongqing wang:
你的video0 是摄像头设备吗?支持什么格式
jie hu9:
回复 yongqing wang:
video0是虚拟的摄像头,通过加载 vivid.ko得到的,是用来测试的,兼容YUYV,XR24等格式
jie hu9:
回复 jie hu9:
我纠结的是 怎样让Qt 界面与 通过dmabuf 采集到的视频叠加在一起显示,升级AM5728的SDK后,参照 example-applications/video-graphics-test-1.0 的源码实现,找到了适合的解决方案
jie hu9:
回复 jie hu9:
我纠结的是 怎样让Qt 界面与 通过dmabuf 采集到的视频叠加在一起显示,升级AM5728的SDK后,参照 example-applications/video-graphics-test-1.0 的源码实现,找到了适合的解决方案