V4L2 API及資料結構

2021-06-07 19:16:19 字數 703 閱讀 8711

1、常用的結構體在核心目錄include/linux/videodev2.h中定義

structv4l2_requestbuffers   //申請幀緩衝,對應命令vidioc_reqbufs

structv4l2_format //幀的格式,對應命令vidioc_g_fmt、vidioc_s_fmt等

structv4l2_buffer //驅動中的一幀影象快取,對應命令vidioc_querybuf

2、常用的ioctl介面命令也在include/linux/videodev2.h中定義

vidioc_reqbufs              //分配記憶體 

vidioc_querybuf //把vidioc_reqbufs中分配的資料快取轉換成實體地址

vidioc_querycap //查詢驅動功能

vidioc_s_fmt //設定當前驅動的頻捕獲格式

vidioc_g_fmt //讀取當前驅動的頻捕獲格式

vidioc_try_fmt //驗證當前驅動的顯示格式

vidioc_cropcap //查詢驅動的修剪能力

vidioc_qbuf //把資料從快取中讀取出來

vidioc_dqbuf //把資料放回快取佇列

V4L2 API及資料結構

1 常用的結構體在核心目錄include linux videodev2.h中定義 2 常用的ioctl介面命令也在include linux videodev2.h中定義 3 操作流程 v4l2提供了很多訪問介面,你可以根據具體需要選擇操作方法。需要注意的是,很少有驅動完全實現了所有的介面功能。所...

V4L2 API及資料結構

1 常用的結構體在核心目錄include linux videodev2.h中定義 struct v4l2 requestbuffers 申請幀緩衝,對應命令vidioc reqbufs struct v4l2 format 幀的格式,對應命令vidioc g fmt vidioc s fmt等 s...

v4l2的結構體之v4l2 device

乙個硬體裝置可能包含多個子裝置,比如乙個電視卡除了有capture裝置,可能還有vbi裝置或者fm tunner。而v4l2 device就是所有這些裝置的根節點,負責管理所有的子裝置,可將該抽象為soc的資料採集器,如csi mipi isp等soc的控制器。struct v4l2 device ...