S5PV210 三个Camera Interface/CAMIF/FIMC的区别
分类:AndroidSamsung S5PV210 2012-07-09 16:52 448人阅读 评论(0) 收藏 举报
S5PV210有三个CAMIF单元,分别为CAMIF0 CAMIF1和CAMIF2。对应着驱动中的fimc0, fimc1, fimc2。在三星datasheet和驱动代码中CAMIF和FIMC(Fully Interactive Mobile Camera)这两个术语基本上可以互换的,后面我们都用FIMC代替CAMIF。这两个术语的称呼有很强的模糊性,尤其刚刚接触三星平台,会觉得这三个接口设备都是用来控制camera,实际上三个接口并不局限于只控制camera。
我们先看下datasheet中定义的CAMIF feature - 输入支持
1. ITU-R BT601/656/709 mode
2. DMA模式
3. MIPI(CSI)模式
4. Direct FIFO 模式
1 和3是典型的camera输入接口,用来处理输入的camere sensor的信号
而2则是DMA内存输入模式,FIMC的输入是DMA内存中的图像数据,FIMC负责进行图像color space 的转换,图像的scaler处理。
因此,每个FIMC既可以做为camera 输入ITU或MIPI的处理单元,此时就为capture设备,也可以作为内存图像的处理单元,此时做为output 设备或者overlay设备。
Camera A, Camera B,Camera C这三个物理接口和FIMC们也不是一回事,下图说明了前者和后者的关系,当FIMC工作在1,3模式(做为capture设备)时,Camera A/B/C是FIMC的输入。
Camera A/B是ITU类型;Camera C是MIPI类型的接口,配置FIMC寄存器决定FIMC从Camera A/B/C中的哪一个获取camera数据。
注意一个物理接口可以同时作为多个FIMC的输入源。
在android平台上:
FIMC0 用于拍照 以及preview时,从camera sensor获取数据
FIMC1 用于camera 的preview环节或者视频播放器的视频输出,S5PV210 overlay功能的驱动部分就是通过FIMC1来实现的
FIMC2 用于录像时,从camera sensor获取数据,提供给上层应用使用。
注意,在驱动层并没有对这三个控制器进行上述功能的划分,三个控制器是通用的。上诉功能的划分完全是CameraHAL和OverlayHAL实现的。
更多相关文章
- Android(安卓)AIDL的实现
- 小白用网格布局实现简单的计算器 ——Android
- Android恢复出厂设置流程分析
- Android(安卓)extends和implements不同
- android利用jdk制作签名
- android service与activity交互的方试
- ViewModels 和 LiveData:模式 +反模式
- Android(安卓)MVPR 架构模式-Part1
- Android(安卓)eclipse 全自动补全 不用按 alt+/了