1. 概述

既然涉及到视频输入,就会有很多与 ISP 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。Linux 内核中V4L2已经为我们提供了这个控制类型的API,我们只需要明确自己需要添加什么控制类型,然后将其添加进内核中即可。该部分摄像头代码一半厂家会提供驱动或者相对应的参数,否则没有图像处理知识很难开发出来。

2. v4l2_ctrl 注册流程框图

  • 一个v4l2设备可以对应多个v4l2_ctrl_handler,一个v4l2_ctrl_handler下可以对应多个控制单元,这些控制单元统一交给v4l2_ctrl_ref链表统一管理,具体如下:
  • 控制单元类型定义:
控制类型 说明
V4L2_CID_VBLANK 垂直消隐。 每帧之后的空闲时间段,在此期间不生成图像数据。垂直消隐的单位是行。 每条线的长度为图像宽度加上行消隐&#x

Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.5 V4L2 control的原理和实现相关推荐

  1. Linux ARM平台开发系列讲解(IIO子系统) 2.8.1 IIO驱动开发分析

    1. 概述 工业场合里面也有大量的模拟量和数字量之间的转换,也就是我们常说的 ADC 和 DAC.而且随着手机.物联网.工业物联网和可穿戴设备的爆发,传感器的需求只持续增强.比如手机或者手环里面的加速 ...

  2. Linux ARM平台开发系列讲解(GMSL摄像头篇)1.2 MAX9296 GMSL链路配置

    1. 概述 GMSL摄像头主要是由sensor + 串行器 +解串器组成,软件需要做的就是写这三部分的驱动,让摄像头数据能到达SOC内部处理,如下图是max9286和max96705的链路,其它同类型 ...

  3. Linux ARM平台开发系列讲解(GMSL摄像头篇)1.1 GMSL协议介绍

    1. 概述 Maxim集成公司发布了GMSL作为汽车行业视频应用程序的通信链接.GMSL基于SerDes( 串行器-解串器)技术,这意味着它在传输端使用序列化,在接收端使用反序列化.它是专门为高级驾驶 ...

  4. Linux ARM平台开发系列讲解(网络篇) 2.3 Marvell 88EA6321/88EA6320 Switch 设备树的配置分析

    1. 概述 交换机设备树主要是要配置它的端口数量,每个Port的物理模式(例如Mac to Phy).双工模式.连接速度.地址和与之连接的PHY地址等等,这一节就以88EA6321做例子解析一下DSA ...

  5. Linux ARM平台开发系列讲解(SPI与TTY实战) 2.6.1 SPI主设备驱动WK2124实战

    1. 概述 本次主要讲解wk2124 SPI转四路串口的驱动,比较新手而言难度过大,建议看完spi章节再看看后续uart章节,再来学习该驱动. 2. wk2124 驱动源码下载 本驱动只可以参考学习, ...

  6. Linux ARM平台开发系列讲解(入门篇) 1.1.3 开发板、Ubuntu和windows三者相互连接,无需路由器,全网最详细

    1 . 本次使用的是没有路由器的情况,采用网线让开发板和电脑直接相连,如果有路由器或者集线器的话尽量使用,不然直接相连有时候会出现奇奇怪怪的问题,下面就是我平时的配置环境.开发板网线直连电脑,然后电脑 ...

  7. Linux ARM平台开发系列讲解(自旋锁) 3.3.1 Linux内核自旋锁描述

    1. 概述 原子操作只能对整形变量或者位进行保护,但是,在实际的使用环境中怎么可能只有整形变量或位这么简单的临界区.举个最简单的例子,设备结构体变量就不是整型变量,我们对于结构体中成员变量的操作也要保 ...

  8. Linux ARM平台开发系列讲解(TTY) 2.5.2 串口TTY子系统驱动源码分析

    1. TTY驱动流程 如下图,整个TTY驱动流程基本如下,后续会逐一分析,先记住这个框架. 2. TTY驱动流程分析 2.1 驱动入口和出口 2.1.1 函数接口用法分析 根据自己选择的驱动模型,调用 ...

  9. Linux ARM平台开发系列讲解(网络篇) 2.1 Marvell 88EA6321/6320 Switch 数据手册阅读之了解芯片功能

    1. 概述 注意:88EA6321/88EA6320 和 88E6321/88E6320软件上无区别,区别在于硬件外围电源上 Marvell 88EA6321/88EA6320设备是一个集成了7端口千 ...

最新文章

  1. sap 后台作业状态都是什么含义
  2. P6623-[省选联考2020A卷]树【Trie,树上启发式合并】
  3. adb 启动命令,pc启动两个微信,INSTALL_FAILED_CONFLICTING_PROVIDER
  4. 专访|从程序员到架构师:交流和分享最能让技术人进步
  5. coon.php连接,新手关于$coon的连接问题
  6. AAE结合resnet的生成器搭建(失败)
  7. 维谛技术(Vertiv)开启网络能源新时代
  8. Deep Learning(深度学习)学习笔记整理
  9. 【JAVA】:java中getTime函数
  10. PHP png合并到jpg,合并jpg的png并保持与php的透明度
  11. 用C语言实现简单的猜数字小游戏
  12. CSS3 弹性盒子和常用标签
  13. HTTP协议的 “无连接,无状态”
  14. 解决Total Commander总是使用老旧的“Windows照片查看器”打开图片的问题
  15. 同步,异步,并行概念的歪解
  16. Linux服务器简单配置
  17. 【STM32H7教程】第94章 STM32H7的SPI总线应用之双机通信(DMA方式)
  18. 【element-ui】 el-table 表格动态合并相同数据单元格最全教程,可指定列+自定义合并条件,附完整代码
  19. .NET把小写数字金额转换成大写人民币金额的两种算法
  20. 网易员工对《阿凡达》的爆笑影评

热门文章

  1. 美国媒体称互联网不能成为低级趣味天堂
  2. 运兴ETF期权投教之50ETF期权新手雷区
  3. [lr] 基本色调调整和色调曲线
  4. html5怎么删除站点,dreamweaver里不用的站点怎么删除?
  5. 非华为电脑使用EMUI10多屏协同教程
  6. pigx框架费用_【开源项目】一篇文章搞掂:Pig微服务框架
  7. 【office2010】利用尾注添加参考文献
  8. 网站内容采集工具介绍
  9. matlab函数积分怎么写,Matlab求分段函数的积分
  10. MongoDB设置账号密码