4

我试图从相机应用程序、相机框架和 libcameraservice 实现以及相机 HAL v3.2 规范中了解 Android 5.0 上的 ZSL 特性/功能支持。

据我了解,Android 中的 ZSL 实现可以通过两种方式实现:

  1. 框架实现的 ZSL

  2. 应用程序实现的 ZSL

在 Lollipop 中,框架实现的 ZSL 与 Kitkat 的工作方式相同,带有 Camera1 API 应用程序。

但是,我在 Camera2 API 应用程序代码中找不到任何地方,如何启用应用程序/框架实现的 ZSL。 http://androidxref.com/5.0.0_r2/xref/packages/apps/Camera2/

因此,问题:

  1. 是否可以使用 Camera2 API 应用程序在 Android L 中启用框架实现的 ZSL?

  2. 是否可以在没有RAW_OPAQUE 支持的情况下使用 Camera2 API 应用程序 在 Android L 中启用应用程序实现的 ZSL ?

  3. 如果 1 或 2 可能,Camera HAL 需要什么才能在 Android L 中启用 ZSL?

任何帮助表示赞赏。

4

1 回答 1

5
  1. 不,框架层 ZSL 仅适用于旧相机 API。

  2. 不,除非按原样使用输出缓冲区就足够了,无需将其发送回相机设备进行最终处理。

更长的答案是 ZSL 再处理 API 必须从最初的 camera2 实现中删除,因此目前应用程序无法以任何格式(RAW_OPAQUE 或其他格式)将缓冲区发送回相机设备。

camera3.h 中的一些文档相对于实际的框架实现也具有误导性 - 框架仅支持 IMPLEMENTATION_DEFINED BIDIRECTIONAL ZSL,而 RAW_OPAQUE 不在任何地方使用。

编辑:从 Android 6.0 Marshmallow 开始,可在支持它的设备(例如 Nexus 6P/5X)上的 camera2 API 中进行再处理。

于 2015-02-09T19:19:30.167 回答