以下内容主要来自于rk的相关资料。
camera hal的作用:
Camera HAL 层为硬件抽象层,用于连接应用层和驱动层,使得应用程序不需关心具体的硬件驱动实现,各种硬件实现( ISP, CIF 以及 USB camera)可以使用同一套 API 接口,简化应用开发。
以下为camera hal的源码目录:
各个目录的作用:
build_system: 简易的 HAL 编译系统,兼容 Android。
calib_xml: 解析 tunning xml 文件接口。
cam_calibdb: tunning xml 解析数据管理。
cam_ia_api: 3A,ISP 子模块控制。
dumpsys: 用于 dump RAW 数据,主要用于 tunning。
ebase:基础数据类型,考虑到跨平台时使用。
expat: xml 解析器,移植于 Android。
HAL: Camera 硬件抽象,给应用提供统一接口。
include: HAL 中共用的头文件,其中许多头文件从其他文件夹拷贝而来。
libs:打包好的 3A 算法库。
oslayer: os 抽象,考虑到跨平台时使用。
stlport: c++ stlPort 移植, HAL 主要要 C++编写