aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeidi von Markham <hvm@google.com>2016-07-20 20:43:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-07-20 20:43:23 +0000
commit47300112de5ca3797493aba3aa76dd9e5a1c2b7e (patch)
tree7145722e999bd2703ff09d026d7d64ff5b2fd2d1 /src
parent639a5863e2a89b9647e67e99c39d96cb77a5d4ad (diff)
parent4c74614abd76449f0df9b7bed94eee4b6883a1b2 (diff)
downloadsource.android.com-47300112de5ca3797493aba3aa76dd9e5a1c2b7e.tar.gz
Merge "Docs: Link to latest docs and update version history for N release" into nyc-dev
Diffstat (limited to 'src')
-rw-r--r--src/devices/camera/index.jd7
-rw-r--r--src/devices/camera/versioning.jd123
2 files changed, 128 insertions, 2 deletions
diff --git a/src/devices/camera/index.jd b/src/devices/camera/index.jd
index 9bf74df9..41f42d56 100644
--- a/src/devices/camera/index.jd
+++ b/src/devices/camera/index.jd
@@ -26,6 +26,13 @@ page.title=Camera
<img style="float: right; margin: 0px 15px 15px 15px;" src="images/ape_fwk_hal_camera.png" alt="Android Camera HAL icon"/>
+<p class="note"><strong>Note:</strong> Please see the following pages for the most up-to-date information:<br>
+<a href="{@docRoot}devices/halref/camera_8h_source.html">camera.h</a> source file<br>
+<a href="{@docRoot}devices/halref/camera3_8h_source.html">camera3.h</a> source file<br>
+<a href="{@docRoot}devices/halref/camera__common_8h_source.html">camera_common.h</a> source file<br>
+<a href="https://developer.android.com/reference/android/hardware/camera2/CameraMetadata.html">CameraMetadata</a> developer reference
+</p>
+
<p>Android's camera Hardware Abstraction Layer (HAL) connects the higher level
camera framework APIs in <a href="http://developer.android.com/reference/android/hardware/package-summary.html">android.hardware</a> to your underlying camera driver and hardware. The camera subsystem includes implementations for camera pipeline components while the camera HAL provides interfaces for use in implementing your version of these components.</p>
diff --git a/src/devices/camera/versioning.jd b/src/devices/camera/versioning.jd
index 402684bc..89830991 100644
--- a/src/devices/camera/versioning.jd
+++ b/src/devices/camera/versioning.jd
@@ -2,7 +2,7 @@ page.title=Camera version support
@jd:body
<!--
- Copyright 2014 The Android Open Source Project
+ Copyright 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -244,9 +244,47 @@ if you have not made the updates indicated above.</p>
<a href="{@docRoot}compatibility/cts/camera-hal.html">Camera HAL Testing
Checklist</a>.</p>
+<h3 id="34">3.4</h3>
+
+<p>Minor additions to supported metadata and changes to data_space support:</p>
+
+<ul>
+ <li>Add ANDROID_SENSOR_OPAQUE_RAW_SIZE static metadata as mandatory if
+ RAW_OPAQUE format is supported.</li>
+ <li>Add ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE static metadata as
+ mandatory if any RAW format is supported.</li>
+ <li>Switch camera3_stream_t data_space field to a more flexible definition,
+ using the version 0 definition of dataspace encoding.</li>
+ <li>General metadata additions which are available to use for HALv3.2 or
+ newer:
+ <ul>
+ <li><a href="https://developer.android.com/reference/android/hardware/camera2/CameraMetadata.html#INFO_SUPPORTED_HARDWARE_LEVEL_3">ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3</a></li>
+ <li>ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST</li>
+ <li>ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE</li>
+ <li>ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL</li>
+ <li>ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL</li>
+ <li>ANDROID_SENSOR_OPAQUE_RAW_SIZE</li>
+ <li>ANDROID_SENSOR_OPTICAL_BLACK_REGIONS</li>
+ </ul>
+ <li>
+</ul>
+
+<h3 id="33">3.3</h3>
+
+<p>Minor revision of expanded-capability HAL:</p>
+
+<ul>
+ <li>OPAQUE and YUV reprocessing API updates.</li>
+ <li>Basic support for depth output buffers.</li>
+ <li>Addition of data_space field to camera3_stream_t.</li>
+ <li>Addition of rotation field to camera3_stream_t.</li>
+ <li>Addition of camera3 stream configuration operation mode to
+ camera3_stream_configuration_t.</li>
+</ul>
+
<h3 id="32">3.2</h3>
-<p>Second revision of expanded-capability HAL:</p>
+<p>Minor revision of expanded-capability HAL:</p>
<ul>
<li>Deprecates get_metadata_vendor_tag_ops. Use get_vendor_tag_ops in
@@ -308,3 +346,84 @@ capture, reprocessing of RAW data.</li>
<li>Converted from C++ CameraHardwareInterface abstraction layer.</li>
<li>Supports android.hardware.Camera API.</li>
</ul>
+
+<h2 id="version-history">Camera module version history</h2>
+
+<p>
+This section contains module versioning information for the Camera hardware module, based on
+camera_module_t.common.module_api_version. The two most significant hex
+digits represent the major version, and the two least significant represent
+the minor version.
+</p>
+
+<h3 id="24">2_4</h3>
+
+<p>This camera module version adds below API changes:</p>
+
+<ol>
+ <li>Torch mode support. The framework can use it to turn on torch mode for
+ any camera device that has a flash unit, without opening a camera device. The
+ camera device has a higher priority accessing the flash unit than the camera
+ module; opening a camera device will turn off the torch if it had been enabled
+ through the module interface. When there are any resource conflicts, such as
+ open() is called to open a camera device, the camera HAL module must notify the
+ framework through the torch mode status callback that the torch mode has been
+ turned off.</li>
+
+ <li>External camera (e.g. USB hot-plug camera) support. The API updates specify that
+ the camera static info is only available when camera is connected and ready to
+ use for external hot-plug cameras. Calls to get static info will be invalid
+ calls when camera status is not CAMERA_DEVICE_STATUS_PRESENT. The frameworks
+ will only count on device status change callbacks to manage the available external
+ camera list.</li>
+
+ <li>Camera arbitration hints. This module version adds support for explicitly
+ indicating the number of camera devices that can be simultaneously opened and used.
+ To specify valid combinations of devices, the resource_cost and conflicting_devices
+ fields should always be set in the camera_info structure returned by the
+ get_camera_info call.</li>
+
+ <li>Module initialization method. This will be called by the camera service
+ right after the HAL module is loaded, to allow for one-time initialization
+ of the HAL. It is called before any other module methods are invoked.</li>
+</ol>
+
+<h3 id="23">2_3</h3>
+
+<p>This camera module version adds open legacy camera HAL device support.
+ Framework can use it to open the camera device as lower device HAL version
+ HAL device if the same device can support multiple device API versions.
+ The standard hardware module open call (common.methods->open) continues
+ to open the camera device with the latest supported version, which is
+ also the version listed in camera_info_t.device_version.</p>
+
+<h3 id="22">2_2</h3>
+
+<p>This camera module version adds vendor tag support from the module, and
+deprecates the old vendor_tag_query_ops that were previously only
+accessible with a device open.</p>
+
+<h3 id="21">2_1</h3>
+
+<p>This camera module version adds support for asynchronous callbacks to the
+framework from the camera HAL module, which is used to notify the framework
+about changes to the camera module state. Modules that provide a valid
+set_callbacks() method must report at least this version number.</p>
+
+<h3 id="20">2_0</h3>
+
+<p>Camera modules that report this version number implement the second version
+of the camera module HAL interface. Camera devices openable through this
+module may support either version 1.0 or version 2.0 of the camera device
+HAL interface. The device_version field of camera_info is always valid; the
+static_camera_characteristics field of camera_info is valid if the
+device_version field is 2.0 or higher.</p>
+
+<h3 id="10">1_0</h3>
+
+<p>Camera modules that report these version numbers implement the initial
+camera module HAL interface. All camera devices openable through this
+module support only version 1 of the camera device HAL. The device_version
+and static_camera_characteristics fields of camera_info are not valid. Only
+the android.hardware.Camera API can be supported by this module and its
+devices.</p>