相机HAL · 源码深潜
📚 30 章节 · 从入门到实战
v2.4
01
Android Camera 架构总览
App → HAL 完整数据流 · 各层职责
➔
02
HAL 接口定义 (HIDL / AIDL)
ICameraProvider · ICameraDevice 核心接口
➔
03
CameraProvider 实现
注册 · 枚举设备 · Treble 服务化
➔
04
CameraDevice 初始化
open() · Session 创建 · Pipeline 建立
➔
05
Stream 配置与数据流
configureStreams() 调用栈 · Internal/External Stream
➔
06
Request 与 Result 机制
Capture Request → HAL Result 完整生命周期
➔
07
Buffer 管理 (ION / DMA-BUF)
Gralloc 分配 · 跨进程传递细节
➔
08
3A 算法集成
AE/AF/AWB 在 HAL 中的实现与交互
➔
09
Metadata 处理
CameraMetadata 序列化 · Vendor Tag 扩展
➔
10
ISP Pipeline 详解
RAW · YUV · JPEG 域典型处理流程
➔
11
ZSL (零延时拍照) 实现
Ring Buffer · 快速捕获触发
➔
12
HDR 与多帧合成
Multi-frame Capture 调度 · 合成算法对接
➔
13
Video 模式与 Slow Motion
帧率配置 · Timestamp 同步策略
➔
14
人脸检测与场景识别
FD 结果上报 · 影响 3A 策略
➔
15
Camera 闪光灯控制
Flash 同步 · Pre-flash / Main-flash 时序
➔
16
多摄像头协同
主摄/广角/长焦切换 · 物理 ID 映射
➔
17
Camera 性能优化
Pipeline 深度 · Buffer 延迟 · 负载均衡
➔
18
调试与日志系统
dumpsys · logcat · Systrace 定位 HAL 问题
➔
19
Vendor 扩展与定制
自定义 Feature · 兼容性保证
➔
20
Camera HAL 测试框架
CTS / VTS 解析 · 编写自定义测试
➔
21
Camera 安全模型
权限控制 · SEAndroid · 沙箱化
➔
22
Camera 与 SurfaceFlinger
Preview 显示链路 · BufferQueue 角色
➔
23
Camera 与 MediaCodec 协作
Video Encoding Buffer 流转 · Timestamp 对齐
➔
24
Camera 电源管理
Power Rail 控制 · Suspend/Resume
➔
25
Camera 异常处理
Service Crash · HAL 死锁 · Buffer Leak
➔
26
Camera 虚拟化与容器化
AVF 下 Camera 适配
➔
27
Camera 与 AI 结合
TFLite / NNAPI 集成 · 实时推理 Pipeline
➔
28
跨平台移植策略
Qualcomm · MTK · Exynos HAL 差异
➔
29
Camera HAL 未来演进
MIPI CSI · C-PHY · Compute Camera
➔
30
综合实战:简易 Camera HAL
从零实现 · 跑通 CTS 测试
➔