V4L2框架全解析
文章平均质量分 96
该专栏对 V4L2 的 v4l2_device、子设备系统、media_device、控制系统、videobuf2 系统做了一个详细全面的介绍,重在系统化、全面化。
嵌入式Max
手机 Camera 软件研发。
技能:V4L2、音视频处理软件框架-openMAX、Android Camera、ISP 处理
展开
-
V4L2框架概述
几乎所有的设备都有多个 IC 模块,它们可能是实体的(例如 USB 摄像头里面包含 ISP、sensor 等)、也可能是抽象的(如 USB 设备里面的抽象拓扑结构),它们在/dev目录下面生成了多个设备节点,并且这些 IC 模块还创建了一些非 v4l2 设备:DVB、ALSA、FB、I2C 和输入设备。正是由于硬件的复杂性,v4l2 的驱动也变得非常复杂。特别是 v4l2 驱动要支持 IC 模块来进行音/视频的混合/编解码操作,这就更加使得 v4l2 驱动变得异常复杂。原创 2018-06-17 15:25:07 · 78264 阅读 · 36 评论 -
V4L2框架-control的数据结构
[GithubPages]本篇文章写一下 V4L2 里面的众多 control 的组织方式,也就是它的数据结构。主要就是新建的 control 是如何存放的,以及在需要用到的时候如何查找。里面用到了类似于「桶」的概念,没错就是「桶排序」里面的那个桶,这种比较特殊的小优化为查找速度提供了不少的帮助。话不多说,直接进入正题,本文章是基于 linux-4.4.138 内核来探讨的。几个结构体之...原创 2018-10-21 16:16:03 · 5080 阅读 · 13 评论 -
V4L2框架-v4l2 device
本文对 V4L2 中比较容易理解的骨干结构进行介绍,涉及两个核心结构体:v4l2_device, v4l2_subdev。文章围绕这两个结构体以 Linux-4.4 内核的 omap3isp 代码为例进行相关的介绍,所谓介绍还是起到辅助作用,真真儿的还是要靠 RTFSC、WTFSC。00 - V4L2框架概述下面「该例程」均指的是 omap3isp 这个例程。V4L2 框架...原创 2018-06-23 11:22:00 · 9972 阅读 · 6 评论 -
V4L2框架-media device
阅读原文 本文对 V4L2 的运行时数据流设备管理做一个详细的介绍,包括什么叫「运行时设备管理」,它是干什么用的,怎么使用等等。本文的目标是掌握 media device 的编码使用方法以及功能运用。01 - V4L2框架-v4l2 device 00 - V4L2框架概述media framework简介 相关的控制 API 在 Documentation/Doc...原创 2018-07-02 21:14:30 · 12774 阅读 · 7 评论 -
V4L2框架-videobuf2
阅读原文 本文介绍在 v4l2 框架之下的数据流交互的实现与使用,主要目的是实现一个能够进行用户空间与内核空间进行数据交互、数据流格式设置、数据流 buffer 申请与释放、数据流开启与关闭的 video 设备驱动。02 - V4L2框架-media-device 01 - V4L2框架-v4l2 device 00 - V4L2框架概述简介videobuf2 用于连...原创 2018-07-15 16:58:27 · 13122 阅读 · 8 评论 -
V4L2框架-control
阅读原文 本文介绍在 v4l2 框架下面的 control 控制接口,这些接口通常用来实现一些特效控制、菜单控制等等。03 - V4L2框架-videobuf2 02 - V4L2框架-media-device 01 - V4L2框架-v4l2 device 00 - V4L2框架概述简介既然涉及到视频输入,就会有很多与 ISP 相关的效果,比如对比度、饱和度、色温...原创 2018-08-05 14:23:50 · 11436 阅读 · 3 评论