首页 > 代码库 > 我所看到的视频采集前端vfe和camera,decode等交互的驱动架构
我所看到的视频采集前端vfe和camera,decode等交互的驱动架构
到目前为止接触的处理器也多了,比较深入的驱动主要是视频采集前端,包括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的架构决定的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。