Android Camera
小鬼识途
一直在学习
展开
-
Android Camera(18)Camera Version Support
相机版本支持目录相机版本支持术语相机 API相机 API1相机 API2CTS 要求VTS 要求相机框架强化API1 的架构更改API2 的架构更改其他要求验证相机 HAL 版本历史记录Android 10Android 9Android 8.03.43.33.23.13.02.01.0相机模块版本...转载 2020-02-05 10:32:15 · 967 阅读 · 0 评论 -
Android Camera(17)External USB Cameras
外接 USB 摄像头目录外接 USB 摄像头示例和来源实现自定义常规自定义设备专用的优化验证Android 平台支持使用即插即用的 USB 摄像头(即网络摄像头),但前提是这些摄像头采用标准的Android Camera2 API和摄像头HIDL接口。网络摄像头通常支持USB 视频类 (UVC)驱动程序,并且在 Linux 上,系统采用标准的Vid...转载 2020-02-05 10:24:35 · 2082 阅读 · 1 评论 -
Android Camera(16)Multi-Camera Support
多摄像头支持目录多摄像头支持示例和来源实现支持核对清单数据流配置映射有保证的数据流组合性能和功率考虑因素自定义验证Android 9 通过一个新的逻辑摄像头设备(该设备由两个或两个以上指向同一方向的物理摄像头设备组成)引入了对多摄像头设备的 API 支持。该逻辑摄像头设备作为单个 CameraDevice/CaptureSession 提供给应用,从而允...转载 2020-02-05 10:17:21 · 1158 阅读 · 0 评论 -
Android Camera(15)Monochrome Cameras
单色摄像头目录单色摄像头实现硬件要求实现单色摄像头验证CTS 测试VTS 测试搭载 Android 9 或更高版本的设备可以支持单色摄像头。Android 10 为 Y8 流格式、单色和近红外 (NIR) 色彩滤镜数组静态元数据提供了额外的支持,并为单色摄像头提供了DngCreator函数。借助此功能,设备制造商可以实现单色或近红外线摄像头设备,并通过使...转载 2020-02-05 10:13:02 · 851 阅读 · 0 评论 -
Android Camera(14)Motion Tracking
Motion Tracking目录Motion Tracking示例和源代码实现验证在 Android 9 中,摄像头设备可以支持运动跟踪功能。支持此功能的摄像头本身不会生成运动跟踪数据,而是供 ARCore 或图像稳定算法以及其他传感器用于进行场景分析。要支持此功能,设备必须支持CONTROL_CAPTURE_INTENT_MOTION_TRACKING。如果该 int...转载 2020-02-05 09:34:48 · 521 阅读 · 0 评论 -
Android Camera(13)HEIF Imaging
HEIF Imaging目录HEIF Imaging要求实现媒体摄像头验证搭载 Android 10 的设备支持 HEIC 压缩图片格式,它是ISO/IEC 23008-12中规定的高效图片文件格式 (HEIF) 的高效视频编码 (HEVC) 特定品牌。与 JPEG 文件相比,HEIC 编码的图片质量更好且文件更小。HEIC 图片由摄像头传输框架生成,请求来...转载 2020-02-05 09:31:49 · 1447 阅读 · 0 评论 -
Android Camera(12)HAL3 Buffer Management APIs
HAL3 Buffer Management APIs目录HAL3 Buffer Management APIs实现缓冲区管理 APIrequestStreamBuffersreturnStreamBufferssignalStreamFlush实现缓冲区管理 API 时发生的行为变更缓冲区管理策略外部相机 HAL 中的实现示例Android 10 引入了可...转载 2020-02-05 09:24:00 · 1107 阅读 · 0 评论 -
Android Camera(11)Single Producer Multiple Consumer
Single Producer Multiple Consumer Camera Buffer Transport该功能引入了一组方法,当拍摄会话处于活动状态且摄像头流式传输正在进行时,摄像头客户端可通过该功能动态添加和移除输出 Surface。新的输出可以映射到用户选择的特定共享摄像头信息流。Surface 添加后,您可以随时将其移除。总的想法是,在多个输出 Surface 中共享...转载 2020-02-05 08:51:51 · 667 阅读 · 0 评论 -
Android Camera(十)Session Parameters
会话参数目录会话参数示例和来源实现自定义验证会话重新配置查询实现验证在捕获会话初始化阶段,会话参数功能使摄像头客户端可以主动配置一部分耗时较长的请求参数(即会话参数),从而减少延迟。借助此功能,您的 HAL 实现会在信息流配置阶段(而不是第一个捕获请求期间)接收客户端参数,并且可以根据它们的值更高效地准备和构建内部流水线。在 Android 10 中,您...转载 2020-02-04 22:12:26 · 782 阅读 · 0 评论 -
Android Camera(九)Output and Cropping
输出流和剪裁目录输出流和剪裁输出流剪裁重新处理输出流相机子系统针对所有分辨率和输出格式都仅在基于 ANativeWindow 的管道上运行。您可以一次配置多个流,以便将单个帧发送至多个目标,例如:GPU、视频编码器、RenderScript,或应用可见的缓冲区(RAW Bayer 缓冲区、经处理的 YUV 缓冲区或经 JPEG 编码的缓冲区)。出于优化的目的,这些输...转载 2020-02-04 21:49:13 · 287 阅读 · 0 评论 -
Android Camera(八)错误和信息流处理
错误和信息流处理目录错误和信息流处理错误管理信息流管理错误管理与摄像头交互的 HIDL 接口方法必须生成相应的摄像头特定状态。如果调用了ICameraDeviceCallbacks::notify()且返回ERROR_DEVICE,则只能成功调用ICameraDeviceSession::close()方法。其他所有方法都将返回INTERNAL_ERROR。...转载 2020-02-04 21:27:45 · 753 阅读 · 0 评论 -
Android Camera(七)数据流配置
数据流配置目录数据流配置参考实现推荐的数据流配置实现验证用于查询数据流组合的 API实现验证Android 10 引入了一些功能,允许相机客户端针对具体使用情形选择最佳的摄像头数据流,并确保摄像头设备支持某些数据流组合。数据流配置是指在摄像头设备中配置的单个摄像头数据流,而数据流组合是指在摄像头设备中配置的一组或多组数据流。如需详细了解这些功能,请参阅推荐的...转载 2020-02-04 21:25:35 · 2747 阅读 · 0 评论 -
Android Camera(六)创建和提交请求
创建和提交请求目录创建和提交请求默认请求提交请求其他方法请求/结果消息队列刷新请求默认请求要构建默认捕获请求,请调用ICameraDeviceSession::constructDefaultRequestSettings()。提交请求要提交相机捕获请求,请调用ICameraDeviceSession::processCaptureRequest()...转载 2020-02-04 21:16:12 · 497 阅读 · 0 评论 -
Android Camera(五)3A 模式和状态转换
3A 模式和状态转换目录3A 模式和状态转换自动对焦设置与结果条目自动曝光设置与结果条目自动白平衡设置和结果条目一般状态机转换说明AF 状态机AE 和 AWB 状态机启用手动控制虽然实际的 3A 算法取决于 HAL 实现,但高级状态机的说明由 HAL 接口定义,以支持 HAL 设备和框架就 3A 的当前状态进行通信并触发 3A 事件。当设备开启时,所有单...转载 2020-02-04 20:58:58 · 1696 阅读 · 0 评论 -
Android Camera(四)元数据和控件
目录元数据支持每个设置的控制原始传感器数据支持元数据支持要支持通过 Android 框架保存原始图片文件,需要具有大量有关传感器特性的元数据,包括色彩空间和镜头遮蔽功能等信息。其中大多数信息是相机子系统的静态属性,因此可以在配置任何输出管道或提交任何请求之前进行查询。新的相机 API 极大地扩展了getCameraInfo()方法提供的信息,以便将此类信息提供给应用。...转载 2020-02-04 19:54:38 · 264 阅读 · 0 评论 -
Android Camera(三)HAL子系统
HAL 子系统目录HAL 子系统1、请求2、HAL 和相机子系统3、启动和预期操作顺序4、硬件级别5、应用捕获请求、3A 控件和处理管道之间的交互1、请求应用框架会针对捕获的结果向相机子系统发出请求。一个请求对应一组结果。请求包含有关捕获和处理这些结果的所有配置信息。其中包括分辨率和像素格式;手动传感器、镜头和闪光灯控件;3A 操作模式;RAW 到 YUV 处理...转载 2020-02-04 19:38:45 · 539 阅读 · 0 评论 -
Android Camera(二)HAL3
相机 HAL3Android 的相机硬件抽象层 (HAL) 可将android.hardware.camera2中较高级别的相机框架 API 连接到底层的相机驱动程序和硬件。Android 8.0 引入了Treble,用于将 CameraHal API 切换到由 HAL 接口描述语言 (HIDL) 定义的稳定接口。如果您之前为 Android 7.0 及更低版本开发过相机 HAL 模块和...转载 2020-02-04 18:22:46 · 407 阅读 · 0 评论 -
Android Camera(一)Overview
相机架构 实现 HALAndroid 的相机硬件抽象层 (HAL) 可将Camera 2中较高层级的相机框架 API 连接到底层的相机驱动程序和硬件。相机子系统包括相机管道组件的实现,而相机 HAL 可提供用于实现这些组件版本的接口。架构下列图表和列表说明了 HAL 组件。图1 相机架构1、应用架构应用代码位于应用框架级别,它使用Camera 2API...转载 2020-02-04 11:10:34 · 473 阅读 · 0 评论