高通820(msm8996)camera hal源码分析

http://blog.csdn.net/lintwins/article/details/49783917

之前阅读过高通的camera的v4l2的driver,和video codec的driver,还没有分享出源码架构图。现在首先先分享出camera hal的源码架构图吧,高通的hal可以使用hal1和hal3.

一,在hardware/qcom/camera下是高通的camera的hal层实现。首先是两个头文件,一个是camera 参数,一个是和高通soc相关出厂的类。

高通820(msm8996)camera hal源码分析高通820(msm8996)camera hal源码分析


二,android采用类似linux的driver架构,实现hal层的一些设备管理。camera_module_t是hardware模型,要被framework层使用。

高通820(msm8996)camera hal源码分析


三,方法中的open实现。

高通820(msm8996)camera hal源码分析


四,每个cam_obj是在open下调用生成的对象,每次调用一个camera,产生一个object。例如前后camera会各生成两个obj。这个obj的ops是mm_camera_ops,提供给上层使用的接口。

高通820(msm8996)camera hal源码分析

五,hardware interface是android上层开启camera要调用的ops接口。这里先说camera hal3.

高通820(msm8996)camera hal源码分析

六,第一个是初始化函数。

高通820(msm8996)camera hal源码分析

另一个函数,configure stream。

高通820(msm8996)camera hal源码分析