文章目录
Camera API 1和Camera API 2
Android 5.0
之前的camera
都是基于Camera API 1
实现。Android 5.0
之后的camera
可以同时支持Camera API 1
和Camera API 2
,具体支持情况可以根据标准API
查看。
Camera API 1和Camera API 2的区别
Camera API 2 camera
作为一个系统服务来申请Camera API 2 camera
操作变为显式的的异步调用Camera API 2
支持pre-frame control
Camera API 2
支持更多的camera
参数和更多的拍照选择Camera API 2
支持更多格式的数据,包括yuv
和sensor
原始的Bayer RGB
据Camera API 2
支持reprocess
,可以把数据交给HAL
再处理
什么是HAL 1.x和HAL 3.x
Android
的camera HAL
一直是由Qualcomm
主导设计的, Qualcomm
在camera HAL
上目前一共有3
个大的版本,即1.x
、2.x
、3.x
,其中1.x
和2.x
没有在设计框架上差别不大。HAL1.x
和HAL3.x
指的就是camera HAL
的版本。
Hal
版本的标记
CAMERA_DEVICE_API_VERSION
Camera API 1&2与Hal 1.x&3.x的关系
MTK Camera HAL
Camera HAL Block Diagram
MTK Camera HAL Stack
MTK Camera Framework
作用:打通从Android App
到HAL
的数据通路,扩展标准的camera
接口,实现更多的功能。
- Controls
- Parameters
- Commands
- Property
- Callbacks
- Notify
- Data
Camera Capture Pipeline