价值投资 长期主义 编程 美食 旅行 梦想 参禅 悟道

0%

Android_1_Camera相关代码和主要类

Application framework:

用于给APP提供访问hardware的Camera API2,通过binder来访问camera service。

1
frameworks\base\core\java\android\hardware\camera2

frameworks\av\camera 是camera framework与camera service IPC通讯的数据载体等等

主要的类

CameraManager:

Camera2操作camera主要类

CameraDeviceImpl:

CameraCaptureSession:

camera service

1
frameworks\av\services\camera\libcameraservice

主要类或文件

CameraDeviceClient.cpp

CameraProviderManager.cpp

Camera3Device.cpp

AIDL

1
frameworks/av/camera/aidl/android/hardware
  • 基于Binder实现的一个用于让App fw代码访问natice fw代码的接口。。其中:

​ (1) ICameraService 是相机服务的接口。用于请求连接、添加监听等。
​ (2) ICameraDeviceUser 是已打开的特定相机设备的接口。应用框架可通过它访问具体设备。
​ (3) ICameraServiceListener 和 ICameraDeviceCallbacks 分别是从 CameraService 和 CameraDevice 到应用框架的回调。

cameraprovider

1
hardware\interfaces\camera\provider\2.4

主要类

CameraProvider.cpp android.hardware.camera.provider@2.4-service.rc

camera HAL interface

1
2
hardware\interfaces\camera\common\1.0      
hardware\interfaces\camera\device\3.2 hardware\libhardware\include\hardware\camera3.h hardware\libhardware\modules\camera\3_4

camera HAL implement

1
vendor\qcom\proprietary\camx\src\core

主要类

camerahal3entry.cpp: camera hal 调用的入口 camxhal3.cpp: camera hal接口主要实现类,capture_Request与capture_Result中转类,主要通过这个类来处理capture request与回调 capture result. camxhaldevice.cpp: camxhal3module.cpp

算法实现

vendor\qcom\proprietary\chi-cdk\vendor\node

核心算法都在这里

扩展阅读

  1. Android Camera原理之camx hal架构
  2. Android : Camera2/HAL3 框架分析
  3. Camera CHI API
  4. Android : Camera之CHI API
  1. CameraCharacteristics 详解
  2. Android : Camera2/HAL3 框架分析
  3. Android : Camera之CHI API
  4. https://www.jianshu.com/p/1332d3864f7c
万水千山总是情,打赏一块行不行!