【发布时间】:2014-06-04 12:57:38
【问题描述】:
我正在尝试为我拥有的特殊相机设备编写符合 V4L2 的驱动程序,但该设备似乎对 V4L2 的缓冲系统不是特别友好。它不需要单独分配的缓冲区,而是需要一个能够保存一组缓冲区(通常为 4 个)的单个连续内存块,然后它提供一个状态寄存器告诉您哪个是最新的(在每帧被 DMA 后更新给主人)。所以它基本上只需要一个大的 DMA 分配的内存块来工作,而不是 4 个最有可能分开的。
如何将它与 V4L 一起使用?我看到的关于VIDIOC_CREATE_BUFS、VIDIOC_REQBUFS 等的所有内容都是缓冲区的内部分配,而且我无法获得任何基于 V4L 的内容(比如 qv4l2 在没有成功的 QBUF 和 DQBUF 使用它们的情况下工作内部结构。
如何做到这一点?
【问题讨论】:
标签: linux linux-kernel linux-device-driver v4l2