我正在尝试为我拥有的特殊相机设备编写一个符合V4L2标准的驱动程序,但是该设备似乎不太适应V4L2的缓冲系统。它需要一个能够容纳一组缓冲区(通常为4个)的单个连续内存块,并提供状态寄存器告诉您哪个是最新的(每帧DMA到主机后更新)。因此,它基本上只需要一个单独的大DMA分配内存块来工作,而不是4个最可能分开的。
我该如何在V4L中使用它?关于VIDIOC_CREATE_BUFS
、VIDIOC_REQBUFS
等的所有内容都会对缓冲区进行内部分配,而且我无法让任何基于V4L的东西(例如qv4l2
)在没有成功的QBUF
和DQBUF
的情况下使用它们的内部结构。
这该怎么办?