MX51 V4L2 output 驱动
来源:互联网 发布:c语言如何调用子函数 编辑:程序博客网 时间:2024/05/16 15:37
之前调试MXC V4L2驱动一直没有注意到output/mxc_v4l2_output.c这个文件,因为capture/*.c已经提供了still capture, stream capture, 以及overlay,所以没仔细的去看mxc_v4l2_output.c提供的功能,直到前几天负责维护overlay hal的同事提出打开了overlay hal /dev/video16这个设备节点,才让我跟到这个文件中
先从/dev/video0 和video16说起:
MXC V4L2生成了三个设备节点, /dev/radio0 /dev/video0以及/dev/video16, /dev/radio0就不讨论了,项目中没接触到。
/dev/video0是mxc_v4l2_capture驱动创建的设备节点, 而/dev/video16是mxc_v4l2_output驱动创建的设备节点。
/dev/video0节点既可用于capture又可用来overlay,
而/dev/video16完全是为push mode overlay模式服务的,所谓push mode模式(以下几行纯属臆测):应用通过stream capture从/dev/video0 dequeue到图像buffer数据,然后把这个指针再传给/dev/video16(当然是通过VIDIOC_Q_BUF),output 模块会直接将queue进来的buffer直接输出到framebuffer,这就完成了Overlay功能
push mode overlay和 /dev/video0支持的直接overlay的区别是, push mode overlay需要应用空间参与数据的处理,用户空间参与的代价就是cpu占用率,好处是用空间有机会接触到每一帧传送到 framebuffer的数据。而直接overlay是你启动overlay后,所有数据直接从camera流动到framebuffer, 中间没有任何机会接触数据,只能在frame buffer这里截获数据,速度是真快。(先到这里吧,有任务)
push mode模式的另外一个好处是,就是你可以使用USB camera, 对camera进行处理显示
output设备支持多个输出,分别为DISP3 FG, DISP3 BG, DISP3 BG - DI1
DISP3 FG: 是FG overlay,用来显示video
DISP3 BG: 主显示,用来显示UI界面
DISP3 BG - DI1: TVOUT,用来显示CVBS输出数据
代码分析
- MX51 V4L2 output 驱动
- MX51 V4L2 output 驱动
- MX51 V4L2 output 驱动
- MX51 V4L2 output 驱动
- I.MX51 GPIO 及驱动
- V4L2 input/output方式
- v4l2 驱动
- MX51平台mc13892电池驱动分析
- V4L2 Video overlay, Video output, Video output overlay的区别
- V4L2 Video overlay, Video output, Video output overlay的区别
- v4l2驱动编写篇
- v4l2驱动编写篇
- v4l2驱动编写
- V4L2驱动框架
- V4L2驱动编写网址
- V4L2视频驱动
- v4l2驱动编写篇
- v4l2驱动浅析
- gridfs 读取图片流 生成缩略图
- 培养宝贝惊人记忆力10妙招哦
- EasyUI 动态改变数据窗口列 Dynamic Change DataGrid Coiumns
- ★ Visual Studio 2008 每日小窍门 【持续发布ing~】 Tips:067
- 如何为网站设置图标
- MX51 V4L2 output 驱动
- asp.net 页面传参几种方式(父页面取值 传数组 表等)
- struts2采用convention-plugin实现零配置
- 数据挖掘分类算法比较
- HDU_1158 Employment Planning
- 如何学好C++语言
- 设计模式之--访问者模式
- Sql Server2000(2005)里面获得数据库表名称、列名称等
- 如何避免因第三方供应商而导致数据泄漏