IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Camera HAL1&HAL3的区别 -> 正文阅读

[嵌入式]Camera HAL1&HAL3的区别

1.HAL 1 概述

由于相机 HAL1 已弃用,建议在搭载 Android 9 或更高版本的设备上使用相机 HAL3.

相机子系统的第 1 个版本被设计为具有高级控件和以下三种运行模式的黑盒子:

预览

视频录制

静态拍摄

三种模式具有略有不同又相互重叠的功能。这样就难以实现介于其中两种运行模式之间的新功能,例如连拍模式

640?wx_fmt=other

由于很多设备仍然依赖相机 HAL1,因此 Android 7.0 继续支持该模块。此外,Android 相机服务

还支持同时实现两种 HAL(1 和 3),如果您希望通过相机 HAL1 支持性能略低的前置摄像头,

并通过相机 HAL3 支持更为高级的后置摄像头,那么这项支持将非常有用。

有一种单独的相机 HAL 模块(拥有自己的版本号),其中列出了多种独立的相机设备,每种都有

自己的版本号。要支持设备 2 或更新版本,必须使用相机模块 2 或更新版本,而且此类相机模块

可以具有混合的相机设备版本(我们在上文中提到 Android 支持同时实现两种 HAL,就是这个含

义)。

2.HAL 3 简介

Android 8.0 引入了 Treble,用于将 CameraHal API 切换到由 HAL 接口描述语言 (HIDL) 定义的

稳定接口。如果您之前为 Android 7.0 及更低版本开发过相机 HAL 模块和驱动程序,请注意相机

管道中发生的重大变化。

重新设计 Android Camera API 的目的在于大幅提高应用对于 Android 设备上的相机子系统的控制

能力,同时重新组织 API,提高其效率和可维护性。借助额外的控制能力,您可以更轻松地在

Android 设备上构建高品质的相机应用,这些应用可在多种产品上稳定运行,同时仍会尽可能使用

设备专用算法来最大限度地提升质量和性能。

版本 3 相机子系统将多个运行模式整合为一个统一的视图,您可以使用这种视图实现之前的任何模

式以及一些其他模式,例如连拍模式。这样一来,便可以提高用户对聚焦、曝光以及更多后期处理

(例如降噪、对比度和锐化)效果的控制能力。此外,这种简化的视图还能够使应用开发者更轻松

地使用相机的各种功能。

API 将相机子系统塑造为一个管道,该管道可按照 1:1 的基准将传入的帧捕获请求转化为帧。这些

请求会封装有关帧的捕获和处理的所有配置信息,其中包括分辨率和像素格式;手动传感器、镜头

和闪光灯控件;3A 运行模式;RAW->YUV 处理控件;统计信息生成等等。

简单来说,应用框架从相机子系统请求帧,然后相机子系统将结果返回到输出流。此外,系统还会

针对每组结果生成包含色彩空间和镜头阴影等信息的元数据。您可以将相机版本 3 看作相机版本 1

的单向流管道。它会将每个捕获请求转化为传感器捕获的一张图像,这张图像将被处理成:

包含有关捕获的元数据的结果对象。

图像数据的 1 到 N 个缓冲区,每个缓冲区会进入自己的目的地 Surface。

可能的输出 Surface 组经过预配置:

每个 Surface 都是一个固定分辨率的图像缓冲区流的目标位置。

一次只能将少量 Surface 配置为输出(约 3 个)。

一个请求中包含所需的全部捕获设置,以及要针对该请求将图像缓冲区(从总配置组)推送到其中

的输出 Surface 的列表。请求可以只发生一次(使用 capture()),也可以无限重复(使用

setRepeatingRequest())。捕获的优先级高于重复请求的优先级

640?wx_fmt=other

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:20:30  更:2021-09-18 10:22:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:28:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码