2015-02-04 3 views
3

Я пытаюсь понять поддержку функций ZSL/возможности на Android 5.0, от приложения камеры, рамки камеры и реализации libcameraservice, а также спецификации камеры HAL v3.2.Функция ZSL на Android Lollipop с камерой 2 API

Насколько я понимаю, реализация ZSL в андроида, можно двумя способами:

  1. Framework реализована ZSL

  2. Применение реализован ZSL

    • В Lollipop, они ввели концепция применения реализована ZSL. ZSL был разоблачен как способность к применению, согласно имеющейся документации http://androidxref.com/5.0.0_r2/xref/system/media/camera/docs/docs.html

    • Под android.request.availableCapabilities, он говорит, что:
      Для ZSL, «RAW_OPAQUE поддерживается как выход/вход формат»

В Lollipop, структура реализована ZSL работает точно так же, как KitKat, с применением Camera1 API.

Однако я не смог найти нигде в коде приложения API Camera2, как включить внедренное приложение/фреймворк ZSL. http://androidxref.com/5.0.0_r2/xref/packages/apps/Camera2/

Таким образом, вопросы:

  1. Можно ли включить рамки реализованных ZSL в Android L, с применением Camera2 API?

  2. Возможно ли включить приложение ZSL в Android L, без Поддержка RAW_OPAQUE с применением приложения Camera2 API?

  3. Если возможно 1 или 2, что требуется от камеры HAL, чтобы включить ZSL в Android L?

Любая помощь оценивается.

ответ

4
  1. Нет, базовый слой ZSL работает только со старым API-интерфейсом камеры.

  2. Нет, если только не достаточно использовать выходной буфер как есть, не отправляя его обратно на устройство камеры для окончательной обработки.

Чем дольше ответ, что интерфейсы ZSL перерабатывающие пришлось вырезать из первоначальной реализации Camera2, поэтому в настоящее время нет никакого способа, чтобы приложение для отправки буфера обратно в устройство камеры, в любом формате (RAW_OPAQUE или в противном случае).

Некоторые из документации, приведенной в файле camera3.h, также вводят в заблуждение относительно фактической реализации каркаса, только поддержка IMPLEMENTATION_DEFINED BIDIRECTIONAL ZSL поддерживается каркасом, а RAW_OPAQUE нигде не используется.

Редактировать: Начиная с Android 6.0 Marshmallow, reprocessing доступен в Camera2 API, на устройствах, которые поддерживают его (например, Nexus 6P/5X).

+1

Привет, Эдди, спасибо за ответ. В будущем, когда в Camera2 добавлены API ZSL2, могут ли камеры с ограниченным режимом (которые не способны обрабатывать формат RAW_OPAQUE) поддерживают функцию ZSL? В этом случае приложение может выбрать соответствующий буфер YUV формата IMPLEMENTATION_DEFINED из потока ZSL и отправить его обратно на устройство камеры для кодирования JPEG (никакой другой пост-обработки) –

+2

Базовое LIMITED-устройство не потребуется для поддержки переработки, но это одна из функций, которые устройство может поддерживать либо как LIMITED, либо FULL. Реализация_defined в JPEG уже работает в рамках фреймворка, поэтому он, вероятно, будет работать над будущими дополнениями API. –

+0

Спасибо Эдди, что помогло. –

 Смежные вопросы

  • Нет связанных вопросов^_^