简体   繁体   English

Android Lollipop上的ZSL功能,带有相机2 API

[英]ZSL feature on Android Lollipop with camera 2 API

I am trying to understand ZSL feature/capability support on Android 5.0, from camera application, camera framework and libcameraservice implementation as well camera HAL v3.2 specifications. 我正在尝试了解Android 5.0上的ZSL功能/功能支持,包括相机应用程序,相机框架和libcameraservice实现以及相机HAL v3.2规范。

As far as I understand, ZSL implementation in android, is possible in two ways: 据我所知,Android中的ZSL实现有两种可能:

  1. Framework implemented ZSL 框架实现了ZSL

  2. Application implemented ZSL 应用程序实现了ZSL

In Lollipop, framework implemented ZSL works the same way as Kitkat, with Camera1 API application. 在Lollipop中,框架实现的ZSL与Kitkat的工作方式与Camera1 API应用程序相同。

However, I could not find anywhere in Camera2 API application code, how to enable application/framework implemented ZSL. 但是,我在Camera2 API应用程序代码中找不到任何地方,如何启用应用程序/框架实现的ZSL。 http://androidxref.com/5.0.0_r2/xref/packages/apps/Camera2/ http://androidxref.com/5.0.0_r2/xref/packages/apps/Camera2/

Hence, the questions: 因此,问题:

  1. Is it possible to enable framework implemented ZSL in Android L, with Camera2 API application? 是否可以在Android L中使用Camera2 API应用程序启用框架实现的ZSL?

  2. Is it possible to enable application implemented ZSL in Android L, without RAW_OPAQUE support, with Camera2 API application? 是否可以在Android L中启用应用程序实现的ZSL, 而不支持RAW_OPAQUE,使用Camera2 API应用程序?

  3. If either 1 or 2 is possible, what is required from Camera HAL to enable ZSL in Android L? 如果可能是1或2,那么Camera HAL需要什么才能在Android L中启用ZSL?

Any help appreciated. 任何帮助赞赏。

  1. No, the framework-layer ZSL only works with the old camera API. 不,框架层ZSL仅适用于旧的相机API。

  2. No, unless it's sufficient to use the output buffer as-is, without sending it back to the camera device for final processing. 不,除非足够按原样使用输出缓冲区,而不将其发送回相机设备进行最终处理。

The longer answer is that the ZSL reprocessing APIs had to be cut out of the initial camera2 implementation, so currently there's no way for an application to send buffers back to the camera device, in any format (RAW_OPAQUE or otherwise). 更长的答案是ZSL重新处理API必须从最初的camera2实现中删除,因此目前应用程序无法以任何格式(RAW_OPAQUE或其他)将缓冲区发送回相机设备。

Some of the documentation in camera3.h is misleading relative to the actual framework implementation, as well - only IMPLEMENTATION_DEFINED BIDIRECTIONAL ZSL is supported by the framework, and RAW_OPAQUE is not used anywhere. camera3.h中的一些文档相对于实际的框架实现也有误导性 - 框架仅支持IMPLEMENTATION_DEFINED BIDIRECTIONAL ZSL,并且RAW_OPAQUE不在任何地方使用。

Edit: As of Android 6.0 Marshmallow, reprocessing is available in the camera2 API, on devices that support it (such as Nexus 6P/5X). 编辑:从Android 6.0 Marshmallow开始,在支持它的设备(例如Nexus 6P / 5X)上的camera2 API中可以进行重新处理

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM