(转)S5PV210 三个Camera Interface/CAMIF/FIMC的区别
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实现的。
(转)S5PV210 三个Camera Interface/CAMIF/FIMC的区别的更多相关文章
- S5PV210 三个Camera Interface/CAMIF/FIMC的区别
S5PV210有三个CAMIF单元,分别为CAMIF0 CAMIF1和CAMIF2.对应着驱动中的fimc0, fimc1, fimc2.在三星datasheet和驱动代码中CAMIF和FIMC(Fu ...
- 【转】android camera(三):camera V4L2 FIMC
关键词:android camera CMM 模组 camera参数 CAMIF V4L2 平台信息:内核:linux系统:android 平台:S5PV310(samsung exynos ...
- LPC43xx SGPIO Camera interface design
AN11196: Camera interface design using SGPIO
- c#中抽象类(abstract)和接口(interface)的相同点与区别
相同点: 1.都可以被继承 2.都不能被实例化 3.都可以包含方法声明 4.派生类必须实现未实现的方法 区别: 1.抽象基类可以定义字段.属性.方法实现.接口只能定义属性.索引器.事件.和方法声明,不 ...
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...
- C++的三种继承方式详解以及区别
目录 目录 C++的三种继承方式详解以及区别 前言 一.public继承 二.protected继承 三.private继承 四.三者区别 五.总结 后话 C++的三种继承方式详解以及区别 前言 我发 ...
- android camera(三):camera V4L2 FIMC
1. V4L2 1)简介 在Linux中,摄像头方面的标准化程度比较高,这个标准就是V4L2驱动程序,这也是业界比较公认的方式. V4L全称是Video for Linux,是Linux内核中标准的关 ...
- SPI、I2C、UART三种串行总线协议的区别
第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous R ...
- spring cloud学习笔记三 Feign与Ribbon负载均衡的区别
一.Feign的介绍 Feign一般比较书面的解释是:Feign是一个声明式的WebService客户端,使用Feign编写的WebService客户端更加简单,他的使用方法是定义一个接口,然后在上线 ...
随机推荐
- [转]关于几本模拟IC设计书
1.P.R.Gray的书 这本书被业界誉为模拟IC的Bible,盛名之下,必无虚士.现在已经出到第四版,作者无一例外是业界大牛,该书论述严谨,思路清晰,对电路分析透彻,定义严格明确,无愧Bible之名 ...
- java Webservice(一)HttpClient使用(一)
1.拳头之Get/Post拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步. java 代码 HttpClient httpclient=new HttpClient();//创建一个 ...
- <二代測序> 批量下载 NCBI sra 文件
本文近期更新地址: http://blog.csdn.net/tanzuozhev/article/details/51078460 前文 http://blog.csdn.net/tanzuozhe ...
- Learning Django: the hard way (1)
Learning Django: the hard way (1) What does "runserver" do? Django provides a light-weight ...
- JS正则表达式获取分组内容实例
JS正则表达式获取分组内容. 支持多次匹配的方式: var testStr = "now test001 test002"; var re = /test(\d+)/ig; var ...
- [k8s]elk架构设计-k8s集群里搭建
elasticsearch和mysql的对比 https://blog.csdn.net/qq_21383435/article/details/79323383 Mapping ~ Schema m ...
- [svc]Iaas Paas Saas区别
https://www.zhihu.com/question/20387284
- Java 9和Java 10的新特性
http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...
- dwz 取不到 form中的值
在使用dwz的时候,出现的一个问题, <li style=" width:160px;"> <label style=" width:60px;&quo ...
- Maven打包可执行Jar的几种方法
http://m.blog.csdn.net/article/details?id=51871705