您的位置:首页 > 运维架构 > 网站架构

我所看到的视频采集前端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的架构决定的。
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: