我所看到的视频采集前端vfe和camera,decode等交互的驱动架构
2014-05-08 15:13
399 查看
到目前为止接触的处理器也多了,比较深入的驱动主要是视频采集前端,包括TI的DM64xx,DM3730,全志的A31等。发现所其所采用的框架基本不一样。
当然典型的camera如ov系列,decode如tvp系列等都是作为一个i2c_client存在的,这个驱动的架构大致都类似。
在这里姑且将采集前端称为vpfe:
1.如dm3730的内核2.6.32版本中,其采用master和slave的驱动架构,来进行attrach操作的。这就使得vpfe和camera的架构需要以v4l2_int_device_register()的架构来进行关联,使得程序不得不模板化。
2.如dm6446,我所看的vpfe是直接通过操作tvp5146驱动模块的提供一个专门的导出控制函数,这样看上去高效,但是可移植性就差了很多。
3.在全知A31里面看到的是以sub_device存在,v4l2_i2c_new_subdev_board这个函数来完成,vpfe将这个sub_device和camera i2c_client进行关联,故在这端就以调用v4l2_subdev_call的形式去调用camera提供的op接口,而这个接口使得编程也一样模块块。但移植性争强。
但是无论何种模式,都是基于V4L2的基本控制命令来完成的,操作的都是一个video_device而已,只是下面的分支操作所采用的流和控制camera的技术,是由vpfe的架构决定的。
当然典型的camera如ov系列,decode如tvp系列等都是作为一个i2c_client存在的,这个驱动的架构大致都类似。
在这里姑且将采集前端称为vpfe:
1.如dm3730的内核2.6.32版本中,其采用master和slave的驱动架构,来进行attrach操作的。这就使得vpfe和camera的架构需要以v4l2_int_device_register()的架构来进行关联,使得程序不得不模板化。
2.如dm6446,我所看的vpfe是直接通过操作tvp5146驱动模块的提供一个专门的导出控制函数,这样看上去高效,但是可移植性就差了很多。
3.在全知A31里面看到的是以sub_device存在,v4l2_i2c_new_subdev_board这个函数来完成,vpfe将这个sub_device和camera i2c_client进行关联,故在这端就以调用v4l2_subdev_call的形式去调用camera提供的op接口,而这个接口使得编程也一样模块块。但移植性争强。
但是无论何种模式,都是基于V4L2的基本控制命令来完成的,操作的都是一个video_device而已,只是下面的分支操作所采用的流和控制camera的技术,是由vpfe的架构决定的。
相关文章推荐
- windows创建快捷方式和快捷网站链接
- 软件设计之状态机
- 基于Linux的v4l2视频架构驱动应用编写
- MVVM架构~knockoutjs系列之文本框数符长度动态统计功能
- 成都网站优化公司告诉你百度快照更新频次和排名有什么关系?
- 网站中图片上滑出现说明文字的特效
- 网站导航标题栏下面有一小色块跟随鼠标移动,同时色块颜色改变的特效
- ssl错误 该网站的安全证书不受信任!
- dell 服务器架构I/O高性能的SSD阵列曲折经历
- 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器...
- SEO入门知识1:网站改版后怎么做SEO
- 【180网站】8-14
- 新辰:网站排名浮动不前 相比竞争者到底缺少了什么?
- 真心不爱做网站
- 好的js特效网站!!!
- 推荐一下名校(哈工大)的资料学习网站
- phpcms医院wap手机网站模板下载
- 在网站制作中随时可用的10个 HTML5 代码片段
- 怎么让网站在浏览器网址前面显示小图标?
- 设置网站二级导航及把二级导航做的好看