除了通过v4l2_subdev_ops结构体暴露kernel API,V4L2 sub-devices也可以被用户空间应用直接控制。

v4l-subdevX的设备节点可以在/dev下被创建来直接访问sub-devices。如果一个sub-device支持用户空间直接配置,必须在注册前设置V4L2_SUBDEV_FL_HAS_DEVNODE标志。

注册sub-devices之后,v4l2_device驱动会通过调v4l2_device_register_subdev_nodes()为所有标记了V4L2_SUBDEV_FL_HAS_DEVNODE标志的sub-devices创建设备节点.

这些设备节点在sub-devices注销后会自动删除。

/*The device node handles a subset of the V4L2 API.*/VIDIOC_QUERYCTRL

VIDIOC_QUERYMENU

VIDIOC_G_CTRL

VIDIOC_S_CTRL

VIDIOC_G_EXT_CTRLS

VIDIOC_S_EXT_CTRLS

VIDIOC_TRY_EXT_CTRLS

/*由sub-device产生的事件*/VIDIOC_DQEVENT

VIDIOC_SUBSCRIBE_EVENT

VIDIOC_UNSUBSCRIBE_EVENT

sub-device驱动如果想要使用这些事件,需要设置V4L2_SUBDEV_USES_EVENTS标志,并且初始化v4l2_subdev::nevents[envent queue depth]。注册过的事件可以被queue操作,

在v4l2_subdev::devnode设备节点上。

为了更好的支持事件,poll()文件操作也被实现。

参考:https://www.cnblogs.com/ronnydm/p/5787182.html

linux摄像头V4L2 subdev,V4L2 subdev相关推荐

  1. linux摄像头V4L2 subdev,linux 摄像头驱动 详解linux 摄像头驱动编写

    想了解详解linux 摄像头驱动编写的相关内容吗,feixiaoxing在本文为您仔细讲解linux 摄像头驱动的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:linux,摄像头驱动,下面 ...

  2. 深入学习Linux摄像头(二)v4l2驱动框架

    深入学习Linux摄像头系列 深入学习Linux摄像头(一)v4l2应用编程 深入学习Linux摄像头(二)v4l2驱动框架 深入学习Linux摄像头(三)虚拟摄像头驱动分析 深入学习Linux摄像头 ...

  3. 深入学习Linux摄像头(一)v4l2应用编程

    深入学习Linux摄像头系列 深入学习Linux摄像头(一)v4l2应用编程 深入学习Linux摄像头(二)v4l2驱动框架 深入学习Linux摄像头(三)虚拟摄像头驱动分析 深入学习Linux摄像头 ...

  4. linux v4l2系统详解,Linux摄像头驱动学习之:(一)V4L2_框架分析

    这段时间开始搞安卓camera底层驱动了,把以前的的Linux视频驱动回顾一下,本篇主要概述一下vfl2(video for linux 2). 一. V4L2框架: video for linux ...

  5. Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)

    Linux视频设备驱动常用控制命令使用说明 设置视频设备属性通过ioctl来进行设置,ioctl有三个参数,分别是fd, cmd,和parameter,表示设备描述符,控制命令和控制命令参数. 1. ...

  6. linux V4L2子系统——v4l2架构(3)之video_device

    linux V4L2子系统--v4l2架构(3)之video_device 备注:   1. Kernel版本:5.4   2. 使用工具:Source Insight 4.0   3. 参考博客: ...

  7. linux v4l2 示例程序,Linux关于Camera使用V4L2

    简介 Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版.V4L2是linux操作系统下用于采集图片.视频和音频数据的API接口. 工作流程 打开设备-& ...

  8. 基于Linux视频驱动接口V4L2视频采集编程

    视频采集基本步骤流程如下: 打开视频设备,设置视频设备属性及采集方式.视频数据处理,关闭视频设备,如下图所示: 一.打开视频设备 打开视频设备非常简单,在V4L2中,视频设备被看做一个文件.使用ope ...

  9. 麒麟操作系统/Linux 摄像头采集录制

    Linux系统上采集摄像头,可以使用V4L2相关接口,Linux上的摄像头设备文件是/dev/videoxx, 采集和控制摄像头只要调用open("/dev/videoxx", f ...

  10. 深入学习Linux摄像头(四)三星平台fimc驱动详解

    深入学习Linux摄像头系列 深入学习Linux摄像头(一)v4l2应用编程 深入学习Linux摄像头(二)v4l2驱动框架 深入学习Linux摄像头(三)虚拟摄像头驱动分析 深入学习Linux摄像头 ...

最新文章

  1. 计算机组装安全常识,计算机组装与维护宝典
  2. Django和uwsgi,配合nginx做静态缓存
  3. java代码杨辉三角_用java实现杨辉三角的示例代码
  4. 外媒对中国量子计算机,中国超算世界第一,美国却研发出量子计算机,外媒:秒杀中国超算...
  5. H3C 单区域OSPF配置示例二
  6. =======================================以前的======================================
  7. android模拟器插件,Android模拟器插件找不到android SDK
  8. Ubuntu源码安装Tomcat7
  9. 使用phpStudy显示3306端口被占用,该怎么办?
  10. 白帽子挖洞第II篇作业--xray+fofa主动扫描
  11. SEBASTIEN KWOK 2022春夏系列发布
  12. Win10安装cuda11.1和cudnn8.0
  13. C - 数字三角形问题
  14. FPGA小脚丫开发板实现数字时钟,具备调时、整点报时、闹钟功能(含verilog代码)
  15. java做的web系统 m1 读卡器 结合_rfid android 系统对 读卡器的信息读取演示。 可 m1卡 238万源代码下载- www.pudn.com...
  16. WebSocket+Vue+SpringBoot实现语音通话
  17. 【算法题】求一个字符串的最长不重复子串
  18. 1000+AutoCAD字体符号素材大分享
  19. 基于图神经网络的异构图表示学习和推荐算法研究(完整代码+数据)
  20. WPF随笔(十四)--如何在MVVM模式下关闭窗口

热门文章

  1. 删除Windows中设备与驱动器下的多余图标
  2. 软件架构模式之管道-过滤器模式--分析
  3. 带有Lowe’s算法的SURF特征提取和匹配
  4. 004-行为型-02-模板方法模式(Template Method)
  5. H5写搜索框:将搜索图标放入搜索框之内
  6. 「Python网络编程」如何让蔡徐坤同时唱跳rap篮球/初识多线程(二)
  7. IOS把图片做成圆形效果
  8. MTK 11A MAINMENU
  9. arctanx麦克劳林公式推导过程_【数学】「专题」初识泰勒级数(Taylor Series)与泰勒公式(Taylor#x27;s Formula)...
  10. html中什么用来表示特殊字符引号,HTML特殊字符显示