gpt4 book ai didi

linux - 控制 V4L2/VB2 缓冲区分配?

转载 作者:太空狗 更新时间:2023-10-29 11:19:13 26 4
gpt4 key购买 nike

我正在尝试为我拥有的特殊相机设备编写一个符合 V4L2 的驱动程序,但该设备似乎对 V4L2 的缓冲系统不是特别友好。它不需要单独分配的缓冲区,而是需要一个连续的内存块,能够容纳一组缓冲区(通常为 4 个),然后它提供一个状态寄存器,告诉您哪个是最新的(在每帧被 DMA 后更新)给楼主)。所以它基本上只需要一个大的 DMA 分配内存块来使用,而不是 4 个最有可能分开的内存块。

我如何将它与 V4L 一起使用?我看到的关于 VIDIOC_CREATE_BUFSVIDIOC_REQBUFS 的所有内容都是缓冲区的内部分配,我无法获得任何基于 V4L 的内容(比如 qv4l2在没有使用其内部结构的成功 QBUFDQBUF 的情况下工作。

如何做到这一点?

最佳答案

为了完成,我终于在“meye”驱动程序中找到了解决方案。我删除了所有 VB2 并编写了我自己的 reqbuf、querybuf、qbuf 和 dqbuf,以及我自己的 mmap 例程来处理分配。一切正常!

关于linux - 控制 V4L2/VB2 缓冲区分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24038120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com