Android相机-HAL-Rockchip-hal3

引言:

对于Android相机的 HAL层而言对上实现一套Framework的API接口,对下通过V4L2框架实现与kernel的交互。不同的平台会有不同的实现方案。主要是对Android HAL3的接口的实现。看看rockchip是怎么支持hal3的?

代码目录:

hardware/rockchip/camera/

hardware/rockchip/camera_engine_rkisp/

基本架构:

3A控制则是通过control loop接口与camera_engine_isp交互。

其他的一些组件或功能的实现也会调用到其他一些第三方库:

cameraBuffer相关,调用到Gralloc

jpeg编码,调用到Hwjpeg

基本组件:

Camera hal3 中的模块主要包括 AAL 与 PSL。

AAL:

主要负责与 framework 交互,camera_module 与 API 接口实例 camera3_device_ops 在此模块定义。该模块对此 API 加以封装,并将请求发往 PSL, 并等待接收 PSL 返回相应数据流与控制参数。

PSL:

是物理层的具体实现,基中 gcss、GraphConifg、MediaController 主要负责配置文件 xml 的解析,底层 pipeline 的配置, ControlUnit 主要负责与 camera_engine_isp 的交互,以实现 3a 的控制, 并中转一些请求以及 Metadata 的处理收集上报。ImgUnit、OutputFrameWork、postProcessPipeline 则主要负责获取数据帧并做相应处理以及上报。 V4l2device、V4l2Subdevice 则是负责与 v4l2 驱动交互,实现具体的 io 操作

tunning xml

tunning 文件是效果参数文件

文件的命名方式 :<sensor_name><module_name><lens_name>.xml, 并将该文件 push 到板子的 /vendor/etc/camera/rkisp1 目录下。最终 3a 库会从该目录中读取符合规则的 tuning 文件。

调试 Raw sensor 数据通路时,也可先 bypass isp。。只需要将 sensor 类型设置为 SOC 即可,此时, tuning 文件可暂不配置。

camera3_profiles.xml

camera3_profiles.xml 中包含了多个 Profiles 节点,Profiles 节点包含一个 camera 完整属性列表。 开发 板上接了几个 sensor,即需要配置几个 Profiles 节点。

通过如下命令获取到相关的信息:

$ adb shell dumpsys media.camera

编译后生成库:

  1. Hal3 库: /vendor/lib/hw/camera.rk30board.so

  2. librkisp : /vendor/lib/librkisp.so

  3. 3a lib : /vendor/lib/rkisp//

  4. 配置文件: /vendor/etc/camera/

上述配置文件是通过预编译将/etc/camera 中的文件 copy 到 android out 目录。 当修改源码编译后, 只需 push camera.rk30board.so 即可, 如修改配置文件, 也只需要 push 相应配置文件

相关推荐
zhangphil44 分钟前
Android简洁缩放Matrix实现图像马赛克,Kotlin
android·kotlin
m0_5127446444 分钟前
极客大挑战2024-web-wp(详细)
android·前端
lw向北.1 小时前
Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)
android·开发语言·qt
不爱学习的啊Biao1 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
Clockwiseee2 小时前
PHP伪协议总结
android·开发语言·php
mmsx8 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
资源补给站10 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机
众拾达人11 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本
android·java·开发语言
吃着火锅x唱着歌12 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
_Shirley13 小时前
鸿蒙设置app更新跳转华为市场
android·华为·kotlin·harmonyos·鸿蒙