我所看到的视频采集前端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的架构决定的。

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值