Camera: Add support for HAL-versioned enum values
- Add hal_version to enum value fields as well, and add it to various doc outputs
- Improve HIDL metadata generation to work better with hidl-doc, and properly handle
enum value additions in new hal versions
- Enable HIDL HAL 3.3 output
Test: Builds, hidl-gen/hidl-doc are happy with the HIDL output
Bug: 63629224
Change-Id: I64b31d9e8e6eda41268df0fc95962b52fcce7fee
diff --git a/camera/docs/HidlMetadata.mako b/camera/docs/HidlMetadata.mako
index 196dab5..c6bc6ea 100644
--- a/camera/docs/HidlMetadata.mako
+++ b/camera/docs/HidlMetadata.mako
@@ -14,13 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-/**
- * Autogenerated from camera metadata definitions in
- * /system/media/camera/docs/metadata_definitions.xml
- * *** DO NOT EDIT BY HAND ***
- */
-
<%!
def annotated_type(entry):
if entry.enum:
@@ -33,6 +26,12 @@
return type
%>\
+/*
+ * Autogenerated from camera metadata definitions in
+ * /system/media/camera/docs/metadata_definitions.xml
+ * *** DO NOT EDIT BY HAND ***
+ */
+
package android.hardware.camera.metadata@${hal_major_version()}.${hal_minor_version()};
% if first_hal_minor_version(hal_major_version()) != hal_minor_version():
@@ -42,13 +41,17 @@
% endfor
% endif
+<% gotSections = False %>\
+% for idx, section in enumerate(find_all_sections_added_in_hal(metadata, hal_major_version(), hal_minor_version())):
+ % if idx == 0:
+<% gotSections = True %>\
/**
* Top level hierarchy definitions for camera metadata. *_INFO sections are for
* the static metadata that can be retrived without opening the camera device.
*/
enum CameraMetadataSection : ${'uint32_t' if first_hal_minor_version(hal_major_version()) == hal_minor_version() else 'android.hardware.camera.metadata@%d.%d::CameraMetadataSection' % (hal_major_version(), hal_minor_version()-1)} {
-% for idx, section in enumerate(find_all_sections_added_in_hal(metadata, hal_major_version(), hal_minor_version())):
- % if idx == 0 and first_hal_minor_version(hal_major_version()) != hal_minor_version():
+ % endif
+ % if first_hal_minor_version(hal_major_version()) != hal_minor_version():
${path_name(section) | csym} =
android.hardware.camera.metadata@${hal_major_version()}.${hal_minor_version()-1}::CameraMetadataSection::ANDROID_SECTION_COUNT,
% else:
@@ -56,6 +59,7 @@
% endif
% endfor
+% if gotSections:
ANDROID_SECTION_COUNT,
VENDOR_SECTION = 0x8000,
@@ -75,50 +79,78 @@
};
+% else:
+// No new metadata sections added in this revision
+
+% endif
/**
- * Main enum for defining camera metadata tags. New entries must always go
- * before the section _END tag to preserve existing enumeration values.
+ * Main enumeration for defining camera metadata tags added in this revision
+ *
+ * <p>Partial documentation is included for each tag; for complete documentation, reference
+ * '/system/media/camera/docs/docs.html' in the corresponding Android source tree.</p>
*/
-enum CameraMetadataTag : ${'uint32_t' if first_hal_minor_version(hal_major_version()) == hal_minor_version() else 'android.hardware.camera.metadata@%d.%d::CameraMetadataTag' % (hal_major_version(), hal_minor_version()-1)} {
+enum CameraMetadataTag : ${'uint32_t' if first_hal_minor_version(hal_major_version()) == hal_minor_version() else '@%d.%d::CameraMetadataTag' % (hal_major_version(), hal_minor_version()-1)} {
% for sec in find_all_sections(metadata):
<% gotEntries = False %>\
% for idx,entry in enumerate(filter_added_in_hal_version(remove_synthetic(find_unique_entries(sec)), hal_major_version(), hal_minor_version())):
<% gotEntries = True %>\
+ /** ${entry.name} [${entry.kind}, ${annotated_type(entry)}, ${entry.applied_visibility}]
+ % if entry.description:
+ *
+${entry.description | hidldoc(metadata)}\
+ % endif
+ */
% if idx == 0:
- ${entry.name + " = " | csym,ljust(50)}// ${annotated_type(entry) | ljust(12) } | ${entry.applied_visibility}
% if find_first_older_used_hal_version(sec, hal_major_version(), hal_minor_version()) == (0, 0):
- CameraMetadataSectionStart:${path_name(find_parent_section(entry)) | csym}_START,
+ ${entry.name + " =" | csym} CameraMetadataSectionStart:${path_name(find_parent_section(entry)) | csym}_START,
% else:
- ${'android.hardware.camera.metadata@%d.%d' % find_first_older_used_hal_version(sec, hal_major_version(), hal_minor_version())}::CameraMetadataTag:${path_name(find_parent_section(entry)) | csym}_END,
+<% prevVersion = find_first_older_used_hal_version(sec, hal_major_version(), hal_minor_version()) %>\
+ ${entry.name + " =" | csym} ${'android.hardware.camera.metadata@%d.%d' % prevVersion}::CameraMetadataTag:${path_name(find_parent_section(entry)) | csym}${'_END' if find_first_older_used_hal_version(sec, prevVersion[0], prevVersion[1]) == (0,0) else '_END_%d_%d' % prevVersion},
% endif
% else:
- ${entry.name + "," | csym,ljust(50)}// ${annotated_type(entry) | ljust(12)} | ${entry.applied_visibility}
+ ${entry.name + "," | csym}
% endif
+
% endfor
% if gotEntries:
- ${path_name(sec) | csym}_END,
+ ${path_name(sec) | csym}${'_END' if first_hal_minor_version(hal_major_version()) == hal_minor_version() else '_END_%d_%d' % (hal_major_version(),hal_minor_version())},
% endif
%endfor
};
-/**
+/*
* Enumeration definitions for the various entries that need them
*/
% for sec in find_all_sections(metadata):
- % for entry in filter_added_in_hal_version(remove_synthetic(find_unique_entries(sec)), hal_major_version(), hal_minor_version()):
+ % for entry in filter_has_enum_values_added_in_hal_version(remove_synthetic(find_unique_entries(sec)), hal_major_version(), hal_minor_version()):
% if entry.enum:
-// ${entry.name}
-enum CameraMetadataEnum${entry.name | pascal_case} : uint32_t {
+
+<% isFirstValue = True %>\
+<% prevValue = None %>\
% for val in entry.enum.values:
- % if val.id is None:
+ % if val.hal_major_version == hal_major_version() and val.hal_minor_version == hal_minor_version():
+ % if isFirstValue:
+ % if prevValue is None:
+/** ${entry.name} enumeration values
+ % else:
+/** ${entry.name} enumeration values added since v${prevValue.hal_major_version}.${prevValue.hal_minor_version}
+ % endif
+ * @see ${entry.name | csym}
+ */
+enum CameraMetadataEnum${entry.name | pascal_case} :${' uint32_t' if prevValue is None else '\n @%d.%d::CameraMetadataEnum%s' % (prevValue.hal_major_version, prevValue.hal_minor_version, pascal_case(entry.name))} {
+ % endif
+ % if val.id is None:
${entry.name | csym}_${val.name},
- % else:
+ % else:
${'%s_%s'%(csym(entry.name), val.name) | pad(65)} = ${val.id},
+ % endif
+<% isFirstValue = False %>\
+ % else:
+<% prevValue = val %>\
% endif
% endfor
};
-
% endif
% endfor
-% endfor
+% endfor
\ No newline at end of file
diff --git a/camera/docs/camera_metadata_tags.mako b/camera/docs/camera_metadata_tags.mako
index 9351d26..7e951a2 100644
--- a/camera/docs/camera_metadata_tags.mako
+++ b/camera/docs/camera_metadata_tags.mako
@@ -99,9 +99,9 @@
typedef enum camera_metadata_enum_${csym(entry.name).lower()} {
% for val in entry.enum.values:
% if val.id is None:
- ${entry.name | csym}_${val.name},
+ ${entry.name | csym}_${val.name | pad(70)}, // HIDL v${val.hal_major_version}.${val.hal_minor_version}
% else:
- ${'%s_%s'%(csym(entry.name), val.name) | pad(65)} = ${val.id},
+ ${'%s_%s'%(csym(entry.name), val.name) | pad(70)} = ${val.id}, // HIDL v${val.hal_major_version}.${val.hal_minor_version}
% endif
% endfor
} camera_metadata_enum_${csym(entry.name).lower()}_t;
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 7c78a07..af021fa 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -1207,7 +1207,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
+ <span class="entry_type_enum_name">TRANSFORM_MATRIX (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
<p>All advanced white balance adjustments (not specified
@@ -1217,7 +1217,7 @@
this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Color correction processing must not slow down
capture rate relative to sensor raw output.<wbr/></p>
<p>Advanced white balance adjustments above and beyond
@@ -1227,7 +1227,7 @@
(or defaults if AWB has never been run).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Color correction processing operates at improved
quality but the capture rate might be reduced (relative to sensor
raw output rate)</p>
@@ -1487,16 +1487,16 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No aberration correction is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Aberration correction will not slow down capture rate
relative to sensor raw output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Aberration correction operates at improved quality but the capture rate might be
reduced (relative to sensor raw output rate)</p></span>
</li>
@@ -1592,7 +1592,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
+ <span class="entry_type_enum_name">TRANSFORM_MATRIX (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
<p>All advanced white balance adjustments (not specified
@@ -1602,7 +1602,7 @@
this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Color correction processing must not slow down
capture rate relative to sensor raw output.<wbr/></p>
<p>Advanced white balance adjustments above and beyond
@@ -1612,7 +1612,7 @@
(or defaults if AWB has never been run).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Color correction processing operates at improved
quality but the capture rate might be reduced (relative to sensor
raw output rate)</p>
@@ -1872,16 +1872,16 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No aberration correction is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Aberration correction will not slow down capture rate
relative to sensor raw output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Aberration correction operates at improved quality but the capture rate might be
reduced (relative to sensor raw output rate)</p></span>
</li>
@@ -2086,23 +2086,23 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
avoid banding problems.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">50HZ</span>
+ <span class="entry_type_enum_name">50HZ (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">60HZ</span>
+ <span class="entry_type_enum_name">60HZ (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
avoid banding problems with 60Hz illumination
sources.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
antibanding routine to the current illumination
condition.<wbr/> This is the default mode if AUTO is
@@ -2279,12 +2279,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-exposure lock is disabled; the AE algorithm
is free to update its parameters.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-exposure lock is enabled; the AE algorithm
must not update the exposure and sensitivity parameters
while the lock is active.<wbr/></p>
@@ -2383,7 +2383,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled.<wbr/></p>
<p>The application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
@@ -2402,7 +2402,7 @@
override attempts to use this value to ON.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
with no flash control.<wbr/></p>
<p>The application's values for
@@ -2413,7 +2413,7 @@
android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
+ <span class="entry_type_enum_name">ON_AUTO_FLASH (v3.2)</span>
<span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
the camera's flash unit,<wbr/> firing it in low-light
conditions.<wbr/></p>
@@ -2424,7 +2424,7 @@
STILL_<wbr/>CAPTURE</p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
+ <span class="entry_type_enum_name">ON_ALWAYS_FLASH (v3.2)</span>
<span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
the camera's flash unit,<wbr/> always firing it for still
captures.<wbr/></p>
@@ -2435,7 +2435,7 @@
STILL_<wbr/>CAPTURE</p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
+ <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
reduction.<wbr/></p>
<p>If deemed necessary by the camera device,<wbr/> a red eye
@@ -2675,18 +2675,18 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">IDLE</span>
+ <span class="entry_type_enum_name">IDLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">START</span>
+ <span class="entry_type_enum_name">START (v3.2)</span>
<span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
by the camera device.<wbr/></p>
<p>The exact effect of the precapture trigger depends on
the current AE mode and state.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CANCEL</span>
+ <span class="entry_type_enum_name">CANCEL (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will cancel any currently active or completed
precapture metering sequence,<wbr/> the auto-exposure routine will return to its
initial state.<wbr/></p></span>
@@ -2805,13 +2805,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
application.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>Basic automatic focus mode.<wbr/></p>
<p>In this mode,<wbr/> the lens does not move unless
the autofocus trigger action is called.<wbr/> When that trigger
@@ -2824,7 +2824,7 @@
and sets the AF state to INACTIVE.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MACRO</span>
+ <span class="entry_type_enum_name">MACRO (v3.2)</span>
<span class="entry_type_enum_notes"><p>Close-up focusing mode.<wbr/></p>
<p>In this mode,<wbr/> the lens does not move unless the
autofocus trigger action is called.<wbr/> When that trigger is
@@ -2839,7 +2839,7 @@
INACTIVE.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
+ <span class="entry_type_enum_name">CONTINUOUS_VIDEO (v3.2)</span>
<span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
position continually to attempt to provide a
constantly-in-focus image stream.<wbr/></p>
@@ -2859,7 +2859,7 @@
canceled.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
+ <span class="entry_type_enum_name">CONTINUOUS_PICTURE (v3.2)</span>
<span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
position continually to attempt to provide a
constantly-in-focus image stream.<wbr/></p>
@@ -2878,7 +2878,7 @@
has just been started.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">EDOF</span>
+ <span class="entry_type_enum_name">EDOF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Extended depth of field (digital focus) mode.<wbr/></p>
<p>The camera device will produce images with an extended
depth of field automatically; no special focusing
@@ -3073,15 +3073,15 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">IDLE</span>
+ <span class="entry_type_enum_name">IDLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">START</span>
+ <span class="entry_type_enum_name">START (v3.2)</span>
<span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CANCEL</span>
+ <span class="entry_type_enum_name">CANCEL (v3.2)</span>
<span class="entry_type_enum_notes"><p>Autofocus will return to its initial
state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
</li>
@@ -3169,13 +3169,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-white balance lock is disabled; the AWB
algorithm is free to update its parameters if in AUTO
mode.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-white balance lock is enabled; the AWB
algorithm will not update its parameters while the lock
is active.<wbr/></p></span>
@@ -3255,7 +3255,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled.<wbr/></p>
<p>The application-selected color transform matrix
(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
@@ -3263,7 +3263,7 @@
device for manual white balance control.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is active.<wbr/></p>
<p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
@@ -3272,7 +3272,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">INCANDESCENT</span>
+ <span class="entry_type_enum_name">INCANDESCENT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses incandescent light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3286,7 +3286,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FLUORESCENT</span>
+ <span class="entry_type_enum_name">FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses fluorescent light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3300,7 +3300,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
+ <span class="entry_type_enum_name">WARM_FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses warm fluorescent light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3314,7 +3314,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DAYLIGHT</span>
+ <span class="entry_type_enum_name">DAYLIGHT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses daylight light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3328,7 +3328,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
+ <span class="entry_type_enum_name">CLOUDY_DAYLIGHT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses cloudy daylight light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3339,7 +3339,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">TWILIGHT</span>
+ <span class="entry_type_enum_name">TWILIGHT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses twilight light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3350,7 +3350,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SHADE</span>
+ <span class="entry_type_enum_name">SHADE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses shade light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -3533,30 +3533,30 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CUSTOM</span>
+ <span class="entry_type_enum_name">CUSTOM (v3.2)</span>
<span class="entry_type_enum_notes"><p>The goal of this request doesn't fall into the other
categories.<wbr/> The camera device will default to preview-like
behavior.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PREVIEW</span>
+ <span class="entry_type_enum_name">PREVIEW (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a preview-like use case.<wbr/></p>
<p>The precapture trigger may be used to start off a metering
w/<wbr/>flash sequence.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">STILL_CAPTURE</span>
+ <span class="entry_type_enum_name">STILL_CAPTURE (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a still capture-type
use case.<wbr/></p>
<p>If the flash unit is under automatic control,<wbr/> it may fire as needed.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">VIDEO_RECORD</span>
+ <span class="entry_type_enum_name">VIDEO_RECORD (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a video recording
use case.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
+ <span class="entry_type_enum_name">VIDEO_SNAPSHOT (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
image while recording video) use case.<wbr/></p>
<p>The camera device should take the highest-quality image
@@ -3564,14 +3564,14 @@
frame rate of video recording.<wbr/> </p></span>
</li>
<li>
- <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+ <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
application will stream full-resolution images and
reprocess one or several later for a final
capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MANUAL</span>
+ <span class="entry_type_enum_name">MANUAL (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for manual capture use case where
the applications want to directly control the capture parameters.<wbr/></p>
<p>For example,<wbr/> the application may wish to manually control
@@ -3641,56 +3641,56 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MONO</span>
+ <span class="entry_type_enum_name">MONO (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
a single color.<wbr/></p>
<p>This will typically be grayscale.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NEGATIVE</span>
+ <span class="entry_type_enum_name">NEGATIVE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
are inverted.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SOLARIZE</span>
+ <span class="entry_type_enum_name">SOLARIZE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
image is wholly or partially reversed in
tone.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SEPIA</span>
+ <span class="entry_type_enum_name">SEPIA (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">POSTERIZE</span>
+ <span class="entry_type_enum_name">POSTERIZE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
discrete regions of tone rather than a continuous
gradient of tones.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">WHITEBOARD</span>
+ <span class="entry_type_enum_name">WHITEBOARD (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BLACKBOARD</span>
+ <span class="entry_type_enum_name">BLACKBOARD (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AQUA</span>
+ <span class="entry_type_enum_name">AQUA (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
</li>
@@ -3756,7 +3756,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/></p>
<p>All control by the device's metering and focusing (3A)
routines is disabled,<wbr/> and no other settings in
@@ -3771,14 +3771,14 @@
can be immediately applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/></p>
<p>Manual control of capture parameters is disabled.<wbr/> All
controls in android.<wbr/>control.<wbr/>* besides sceneMode take
effect.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">USE_SCENE_MODE</span>
+ <span class="entry_type_enum_name">USE_SCENE_MODE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Use a specific scene mode.<wbr/></p>
<p>Enabling this disables control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and
@@ -3790,7 +3790,7 @@
contain some modes other than DISABLED).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">OFF_KEEP_STATE</span>
+ <span class="entry_type_enum_name">OFF_KEEP_STATE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Same as OFF mode,<wbr/> except that this capture will not be
used by camera device background auto-exposure,<wbr/> auto-white balance and
@@ -3873,12 +3873,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">DISABLED</span>
+ <span class="entry_type_enum_name">DISABLED (v3.2)</span>
<span class="entry_type_enum_value">0</span>
<span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FACE_PRIORITY</span>
+ <span class="entry_type_enum_name">FACE_PRIORITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
auto-exposure routines.<wbr/></p>
@@ -3891,91 +3891,91 @@
remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ACTION</span>
+ <span class="entry_type_enum_name">ACTION (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/></p>
<p>Similar to SPORTS.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PORTRAIT</span>
+ <span class="entry_type_enum_name">PORTRAIT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">LANDSCAPE</span>
+ <span class="entry_type_enum_name">LANDSCAPE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NIGHT</span>
+ <span class="entry_type_enum_name">NIGHT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
+ <span class="entry_type_enum_name">NIGHT_PORTRAIT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
settings.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">THEATRE</span>
+ <span class="entry_type_enum_name">THEATRE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
remain off.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BEACH</span>
+ <span class="entry_type_enum_name">BEACH (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SNOW</span>
+ <span class="entry_type_enum_name">SNOW (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SUNSET</span>
+ <span class="entry_type_enum_name">SUNSET (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">STEADYPHOTO</span>
+ <span class="entry_type_enum_name">STEADYPHOTO (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
device motion (for example: due to hand shake).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FIREWORKS</span>
+ <span class="entry_type_enum_name">FIREWORKS (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SPORTS</span>
+ <span class="entry_type_enum_name">SPORTS (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/></p>
<p>Similar to ACTION.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PARTY</span>
+ <span class="entry_type_enum_name">PARTY (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
people.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CANDLELIGHT</span>
+ <span class="entry_type_enum_name">CANDLELIGHT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
is a flame.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BARCODE</span>
+ <span class="entry_type_enum_name">BARCODE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
for use by camera applications that wish to read the
barcode value.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_SPEED_VIDEO</span>
+ <span class="entry_type_enum_name">HIGH_SPEED_VIDEO (v3.2)</span>
<span class="entry_type_enum_deprecated">[deprecated]</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>This is deprecated,<wbr/> please use <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createConstrainedHighSpeedCaptureSession">CameraDevice#createConstrainedHighSpeedCaptureSession</a>
@@ -4040,7 +4040,7 @@
the application avoids unnecessary scene mode switch as much as possible.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HDR</span>
+ <span class="entry_type_enum_name">HDR (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Turn on a device-specific high dynamic range (HDR) mode.<wbr/></p>
<p>In this scene mode,<wbr/> the camera device captures images
@@ -4085,7 +4085,7 @@
the SCENE_<wbr/>MODE was not enabled at all.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT</span>
+ <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_hidden">[hidden]</span>
<span class="entry_type_enum_notes"><p>Same as FACE_<wbr/>PRIORITY scene mode,<wbr/> except that the camera
@@ -4111,7 +4111,7 @@
remain active when FACE_<wbr/>PRIORITY_<wbr/>LOW_<wbr/>LIGHT is set.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DEVICE_CUSTOM_START</span>
+ <span class="entry_type_enum_name">DEVICE_CUSTOM_START (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_hidden">[hidden]</span>
<span class="entry_type_enum_value">100</span>
@@ -4120,7 +4120,7 @@
customized scene modes.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DEVICE_CUSTOM_END</span>
+ <span class="entry_type_enum_name">DEVICE_CUSTOM_END (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_hidden">[hidden]</span>
<span class="entry_type_enum_value">127</span>
@@ -4214,11 +4214,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Video stabilization is disabled.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Video stabilization is enabled.<wbr/></p></span>
</li>
</ul>
@@ -4367,12 +4367,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE must be captured
after previous requests.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE may or may not be
captured before previous requests.<wbr/></p></span>
</li>
@@ -5621,10 +5621,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
</li>
</ul>
@@ -5683,10 +5683,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
</li>
</ul>
@@ -5961,23 +5961,23 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
avoid banding problems.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">50HZ</span>
+ <span class="entry_type_enum_name">50HZ (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">60HZ</span>
+ <span class="entry_type_enum_name">60HZ (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
avoid banding problems with 60Hz illumination
sources.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
antibanding routine to the current illumination
condition.<wbr/> This is the default mode if AUTO is
@@ -6154,12 +6154,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-exposure lock is disabled; the AE algorithm
is free to update its parameters.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-exposure lock is enabled; the AE algorithm
must not update the exposure and sensitivity parameters
while the lock is active.<wbr/></p>
@@ -6258,7 +6258,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled.<wbr/></p>
<p>The application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
@@ -6277,7 +6277,7 @@
override attempts to use this value to ON.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
with no flash control.<wbr/></p>
<p>The application's values for
@@ -6288,7 +6288,7 @@
android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
+ <span class="entry_type_enum_name">ON_AUTO_FLASH (v3.2)</span>
<span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
the camera's flash unit,<wbr/> firing it in low-light
conditions.<wbr/></p>
@@ -6299,7 +6299,7 @@
STILL_<wbr/>CAPTURE</p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
+ <span class="entry_type_enum_name">ON_ALWAYS_FLASH (v3.2)</span>
<span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
the camera's flash unit,<wbr/> always firing it for still
captures.<wbr/></p>
@@ -6310,7 +6310,7 @@
STILL_<wbr/>CAPTURE</p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
+ <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
reduction.<wbr/></p>
<p>If deemed necessary by the camera device,<wbr/> a red eye
@@ -6550,18 +6550,18 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">IDLE</span>
+ <span class="entry_type_enum_name">IDLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">START</span>
+ <span class="entry_type_enum_name">START (v3.2)</span>
<span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
by the camera device.<wbr/></p>
<p>The exact effect of the precapture trigger depends on
the current AE mode and state.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CANCEL</span>
+ <span class="entry_type_enum_name">CANCEL (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device will cancel any currently active or completed
precapture metering sequence,<wbr/> the auto-exposure routine will return to its
initial state.<wbr/></p></span>
@@ -6680,36 +6680,36 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">INACTIVE</span>
+ <span class="entry_type_enum_name">INACTIVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>AE is off or recently reset.<wbr/></p>
<p>When a camera device is opened,<wbr/> it starts in
this state.<wbr/> This is a transient state,<wbr/> the camera device may skip reporting
this state in capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SEARCHING</span>
+ <span class="entry_type_enum_name">SEARCHING (v3.2)</span>
<span class="entry_type_enum_notes"><p>AE doesn't yet have a good set of control values
for the current scene.<wbr/></p>
<p>This is a transient state,<wbr/> the camera device may skip
reporting this state in capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONVERGED</span>
+ <span class="entry_type_enum_name">CONVERGED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AE has a good set of control values for the
current scene.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">LOCKED</span>
+ <span class="entry_type_enum_name">LOCKED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FLASH_REQUIRED</span>
+ <span class="entry_type_enum_name">FLASH_REQUIRED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
needs to be fired for good quality still
capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PRECAPTURE</span>
+ <span class="entry_type_enum_name">PRECAPTURE (v3.2)</span>
<span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
and is currently executing it.<wbr/></p>
<p>Precapture can be triggered through setting
@@ -6984,13 +6984,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
application.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>Basic automatic focus mode.<wbr/></p>
<p>In this mode,<wbr/> the lens does not move unless
the autofocus trigger action is called.<wbr/> When that trigger
@@ -7003,7 +7003,7 @@
and sets the AF state to INACTIVE.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MACRO</span>
+ <span class="entry_type_enum_name">MACRO (v3.2)</span>
<span class="entry_type_enum_notes"><p>Close-up focusing mode.<wbr/></p>
<p>In this mode,<wbr/> the lens does not move unless the
autofocus trigger action is called.<wbr/> When that trigger is
@@ -7018,7 +7018,7 @@
INACTIVE.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
+ <span class="entry_type_enum_name">CONTINUOUS_VIDEO (v3.2)</span>
<span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
position continually to attempt to provide a
constantly-in-focus image stream.<wbr/></p>
@@ -7038,7 +7038,7 @@
canceled.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
+ <span class="entry_type_enum_name">CONTINUOUS_PICTURE (v3.2)</span>
<span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
position continually to attempt to provide a
constantly-in-focus image stream.<wbr/></p>
@@ -7057,7 +7057,7 @@
has just been started.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">EDOF</span>
+ <span class="entry_type_enum_name">EDOF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Extended depth of field (digital focus) mode.<wbr/></p>
<p>The camera device will produce images with an extended
depth of field automatically; no special focusing
@@ -7252,15 +7252,15 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">IDLE</span>
+ <span class="entry_type_enum_name">IDLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">START</span>
+ <span class="entry_type_enum_name">START (v3.2)</span>
<span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CANCEL</span>
+ <span class="entry_type_enum_name">CANCEL (v3.2)</span>
<span class="entry_type_enum_notes"><p>Autofocus will return to its initial
state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
</li>
@@ -7348,7 +7348,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">INACTIVE</span>
+ <span class="entry_type_enum_name">INACTIVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF is off or has not yet tried to scan/<wbr/>been asked
to scan.<wbr/></p>
<p>When a camera device is opened,<wbr/> it starts in this
@@ -7357,7 +7357,7 @@
result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PASSIVE_SCAN</span>
+ <span class="entry_type_enum_name">PASSIVE_SCAN (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF is currently performing an AF scan initiated the
camera device in a continuous autofocus mode.<wbr/></p>
<p>Only used by CONTINUOUS_<wbr/>* AF modes.<wbr/> This is a transient
@@ -7365,7 +7365,7 @@
capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
+ <span class="entry_type_enum_name">PASSIVE_FOCUSED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF currently believes it is in focus,<wbr/> but may
restart scanning at any time.<wbr/></p>
<p>Only used by CONTINUOUS_<wbr/>* AF modes.<wbr/> This is a transient
@@ -7373,7 +7373,7 @@
capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ACTIVE_SCAN</span>
+ <span class="entry_type_enum_name">ACTIVE_SCAN (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF is performing an AF scan because it was
triggered by AF trigger.<wbr/></p>
<p>Only used by AUTO or MACRO AF modes.<wbr/> This is a transient
@@ -7381,7 +7381,7 @@
capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
+ <span class="entry_type_enum_name">FOCUSED_LOCKED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF believes it is focused correctly and has locked
focus.<wbr/></p>
<p>This state is reached only after an explicit START AF trigger has been
@@ -7390,7 +7390,7 @@
a new AF trigger is sent to the camera device (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a>).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
+ <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF has failed to focus successfully and has locked
focus.<wbr/></p>
<p>This state is reached only after an explicit START AF trigger has been
@@ -7399,7 +7399,7 @@
a new AF trigger is sent to the camera device (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a>).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
+ <span class="entry_type_enum_name">PASSIVE_UNFOCUSED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AF finished a passive scan without finding focus,<wbr/>
and may restart scanning at any time.<wbr/></p>
<p>Only used by CONTINUOUS_<wbr/>* AF modes.<wbr/> This is a transient state,<wbr/> the camera
@@ -7894,13 +7894,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-white balance lock is disabled; the AWB
algorithm is free to update its parameters if in AUTO
mode.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Auto-white balance lock is enabled; the AWB
algorithm will not update its parameters while the lock
is active.<wbr/></p></span>
@@ -7980,7 +7980,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled.<wbr/></p>
<p>The application-selected color transform matrix
(<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
@@ -7988,7 +7988,7 @@
device for manual white balance control.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is active.<wbr/></p>
<p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
@@ -7997,7 +7997,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">INCANDESCENT</span>
+ <span class="entry_type_enum_name">INCANDESCENT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses incandescent light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8011,7 +8011,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FLUORESCENT</span>
+ <span class="entry_type_enum_name">FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses fluorescent light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8025,7 +8025,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
+ <span class="entry_type_enum_name">WARM_FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses warm fluorescent light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8039,7 +8039,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DAYLIGHT</span>
+ <span class="entry_type_enum_name">DAYLIGHT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses daylight light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8053,7 +8053,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
+ <span class="entry_type_enum_name">CLOUDY_DAYLIGHT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses cloudy daylight light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8064,7 +8064,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">TWILIGHT</span>
+ <span class="entry_type_enum_name">TWILIGHT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses twilight light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8075,7 +8075,7 @@
will be available in the capture result for this request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SHADE</span>
+ <span class="entry_type_enum_name">SHADE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
the camera device uses shade light as the assumed scene
illumination for white balance.<wbr/></p>
@@ -8258,30 +8258,30 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CUSTOM</span>
+ <span class="entry_type_enum_name">CUSTOM (v3.2)</span>
<span class="entry_type_enum_notes"><p>The goal of this request doesn't fall into the other
categories.<wbr/> The camera device will default to preview-like
behavior.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PREVIEW</span>
+ <span class="entry_type_enum_name">PREVIEW (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a preview-like use case.<wbr/></p>
<p>The precapture trigger may be used to start off a metering
w/<wbr/>flash sequence.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">STILL_CAPTURE</span>
+ <span class="entry_type_enum_name">STILL_CAPTURE (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a still capture-type
use case.<wbr/></p>
<p>If the flash unit is under automatic control,<wbr/> it may fire as needed.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">VIDEO_RECORD</span>
+ <span class="entry_type_enum_name">VIDEO_RECORD (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a video recording
use case.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
+ <span class="entry_type_enum_name">VIDEO_SNAPSHOT (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
image while recording video) use case.<wbr/></p>
<p>The camera device should take the highest-quality image
@@ -8289,14 +8289,14 @@
frame rate of video recording.<wbr/> </p></span>
</li>
<li>
- <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+ <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
application will stream full-resolution images and
reprocess one or several later for a final
capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MANUAL</span>
+ <span class="entry_type_enum_name">MANUAL (v3.2)</span>
<span class="entry_type_enum_notes"><p>This request is for manual capture use case where
the applications want to directly control the capture parameters.<wbr/></p>
<p>For example,<wbr/> the application may wish to manually control
@@ -8366,7 +8366,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">INACTIVE</span>
+ <span class="entry_type_enum_name">INACTIVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>AWB is not in auto mode,<wbr/> or has not yet started metering.<wbr/></p>
<p>When a camera device is opened,<wbr/> it starts in this
state.<wbr/> This is a transient state,<wbr/> the camera device may
@@ -8374,19 +8374,19 @@
result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SEARCHING</span>
+ <span class="entry_type_enum_name">SEARCHING (v3.2)</span>
<span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
values for the current scene.<wbr/></p>
<p>This is a transient state,<wbr/> the camera device
may skip reporting this state in capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONVERGED</span>
+ <span class="entry_type_enum_name">CONVERGED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
current scene.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">LOCKED</span>
+ <span class="entry_type_enum_name">LOCKED (v3.2)</span>
<span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
</li>
</ul>
@@ -8556,56 +8556,56 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MONO</span>
+ <span class="entry_type_enum_name">MONO (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
a single color.<wbr/></p>
<p>This will typically be grayscale.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NEGATIVE</span>
+ <span class="entry_type_enum_name">NEGATIVE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
are inverted.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SOLARIZE</span>
+ <span class="entry_type_enum_name">SOLARIZE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
image is wholly or partially reversed in
tone.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SEPIA</span>
+ <span class="entry_type_enum_name">SEPIA (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">POSTERIZE</span>
+ <span class="entry_type_enum_name">POSTERIZE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
discrete regions of tone rather than a continuous
gradient of tones.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">WHITEBOARD</span>
+ <span class="entry_type_enum_name">WHITEBOARD (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BLACKBOARD</span>
+ <span class="entry_type_enum_name">BLACKBOARD (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AQUA</span>
+ <span class="entry_type_enum_name">AQUA (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
</li>
@@ -8671,7 +8671,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/></p>
<p>All control by the device's metering and focusing (3A)
routines is disabled,<wbr/> and no other settings in
@@ -8686,14 +8686,14 @@
can be immediately applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">AUTO</span>
+ <span class="entry_type_enum_name">AUTO (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/></p>
<p>Manual control of capture parameters is disabled.<wbr/> All
controls in android.<wbr/>control.<wbr/>* besides sceneMode take
effect.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">USE_SCENE_MODE</span>
+ <span class="entry_type_enum_name">USE_SCENE_MODE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Use a specific scene mode.<wbr/></p>
<p>Enabling this disables control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and
@@ -8705,7 +8705,7 @@
contain some modes other than DISABLED).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">OFF_KEEP_STATE</span>
+ <span class="entry_type_enum_name">OFF_KEEP_STATE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Same as OFF mode,<wbr/> except that this capture will not be
used by camera device background auto-exposure,<wbr/> auto-white balance and
@@ -8788,12 +8788,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">DISABLED</span>
+ <span class="entry_type_enum_name">DISABLED (v3.2)</span>
<span class="entry_type_enum_value">0</span>
<span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FACE_PRIORITY</span>
+ <span class="entry_type_enum_name">FACE_PRIORITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
auto-exposure routines.<wbr/></p>
@@ -8806,91 +8806,91 @@
remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ACTION</span>
+ <span class="entry_type_enum_name">ACTION (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/></p>
<p>Similar to SPORTS.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PORTRAIT</span>
+ <span class="entry_type_enum_name">PORTRAIT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">LANDSCAPE</span>
+ <span class="entry_type_enum_name">LANDSCAPE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NIGHT</span>
+ <span class="entry_type_enum_name">NIGHT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
+ <span class="entry_type_enum_name">NIGHT_PORTRAIT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
settings.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">THEATRE</span>
+ <span class="entry_type_enum_name">THEATRE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
remain off.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BEACH</span>
+ <span class="entry_type_enum_name">BEACH (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SNOW</span>
+ <span class="entry_type_enum_name">SNOW (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SUNSET</span>
+ <span class="entry_type_enum_name">SUNSET (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">STEADYPHOTO</span>
+ <span class="entry_type_enum_name">STEADYPHOTO (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
device motion (for example: due to hand shake).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FIREWORKS</span>
+ <span class="entry_type_enum_name">FIREWORKS (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SPORTS</span>
+ <span class="entry_type_enum_name">SPORTS (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/></p>
<p>Similar to ACTION.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PARTY</span>
+ <span class="entry_type_enum_name">PARTY (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
people.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CANDLELIGHT</span>
+ <span class="entry_type_enum_name">CANDLELIGHT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
is a flame.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BARCODE</span>
+ <span class="entry_type_enum_name">BARCODE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
for use by camera applications that wish to read the
barcode value.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_SPEED_VIDEO</span>
+ <span class="entry_type_enum_name">HIGH_SPEED_VIDEO (v3.2)</span>
<span class="entry_type_enum_deprecated">[deprecated]</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>This is deprecated,<wbr/> please use <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createConstrainedHighSpeedCaptureSession">CameraDevice#createConstrainedHighSpeedCaptureSession</a>
@@ -8955,7 +8955,7 @@
the application avoids unnecessary scene mode switch as much as possible.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HDR</span>
+ <span class="entry_type_enum_name">HDR (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Turn on a device-specific high dynamic range (HDR) mode.<wbr/></p>
<p>In this scene mode,<wbr/> the camera device captures images
@@ -9000,7 +9000,7 @@
the SCENE_<wbr/>MODE was not enabled at all.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT</span>
+ <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_hidden">[hidden]</span>
<span class="entry_type_enum_notes"><p>Same as FACE_<wbr/>PRIORITY scene mode,<wbr/> except that the camera
@@ -9026,7 +9026,7 @@
remain active when FACE_<wbr/>PRIORITY_<wbr/>LOW_<wbr/>LIGHT is set.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DEVICE_CUSTOM_START</span>
+ <span class="entry_type_enum_name">DEVICE_CUSTOM_START (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_hidden">[hidden]</span>
<span class="entry_type_enum_value">100</span>
@@ -9035,7 +9035,7 @@
customized scene modes.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DEVICE_CUSTOM_END</span>
+ <span class="entry_type_enum_name">DEVICE_CUSTOM_END (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_hidden">[hidden]</span>
<span class="entry_type_enum_value">127</span>
@@ -9129,11 +9129,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Video stabilization is disabled.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Video stabilization is enabled.<wbr/></p></span>
</li>
</ul>
@@ -9282,12 +9282,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE must be captured
after previous requests.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE may or may not be
captured before previous requests.<wbr/></p></span>
</li>
@@ -9373,11 +9373,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">NOT_DETECTED</span>
+ <span class="entry_type_enum_name">NOT_DETECTED (v3.3)</span>
<span class="entry_type_enum_notes"><p>Scene change is not detected within the AF region(s).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">DETECTED</span>
+ <span class="entry_type_enum_name">DETECTED (v3.3)</span>
<span class="entry_type_enum_notes"><p>Scene change is detected within the AF region(s).<wbr/></p></span>
</li>
</ul>
@@ -9473,12 +9473,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
Bayer RAW output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Improved processing quality but the frame rate might be slowed down
relative to raw output.<wbr/></p></span>
</li>
@@ -9564,21 +9564,21 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No edge enhancement is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply edge enhancement at a quality level that does not slow down frame rate
relative to sensor output.<wbr/> It may be the same as OFF if edge enhancement will
slow down frame rate relative to sensor.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply high-quality edge enhancement,<wbr/> at a cost of possibly reduced output frame rate.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+ <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Edge enhancement is applied at different
levels for different output streams,<wbr/> based on resolution.<wbr/> Streams at maximum recording
@@ -9863,21 +9863,21 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No edge enhancement is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply edge enhancement at a quality level that does not slow down frame rate
relative to sensor output.<wbr/> It may be the same as OFF if edge enhancement will
slow down frame rate relative to sensor.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply high-quality edge enhancement,<wbr/> at a cost of possibly reduced output frame rate.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+ <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Edge enhancement is applied at different
levels for different output streams,<wbr/> based on resolution.<wbr/> Streams at maximum recording
@@ -10131,16 +10131,16 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SINGLE</span>
+ <span class="entry_type_enum_name">SINGLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
for this capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">TORCH</span>
+ <span class="entry_type_enum_name">TORCH (v3.2)</span>
<span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
</li>
</ul>
@@ -10241,10 +10241,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
</li>
</ul>
@@ -10598,16 +10598,16 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SINGLE</span>
+ <span class="entry_type_enum_name">SINGLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
for this capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">TORCH</span>
+ <span class="entry_type_enum_name">TORCH (v3.2)</span>
<span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
</li>
</ul>
@@ -10678,23 +10678,23 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">UNAVAILABLE</span>
+ <span class="entry_type_enum_name">UNAVAILABLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>No flash on camera.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CHARGING</span>
+ <span class="entry_type_enum_name">CHARGING (v3.2)</span>
<span class="entry_type_enum_notes"><p>Flash is charging and cannot be fired.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">READY</span>
+ <span class="entry_type_enum_name">READY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Flash is ready to fire.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FIRED</span>
+ <span class="entry_type_enum_name">FIRED (v3.2)</span>
<span class="entry_type_enum_notes"><p>Flash fired for this capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PARTIAL</span>
+ <span class="entry_type_enum_name">PARTIAL (v3.2)</span>
<span class="entry_type_enum_notes"><p>Flash partially illuminated this frame.<wbr/></p>
<p>This is usually due to the next or previous frame having
the flash fire,<wbr/> and the flash spilling into this capture
@@ -10798,20 +10798,20 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No hot pixel correction is applied.<wbr/></p>
<p>The frame rate must not be reduced relative to sensor raw output
for this option.<wbr/></p>
<p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Hot pixel correction is applied,<wbr/> without reducing frame
rate relative to sensor raw output.<wbr/></p>
<p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>High-quality hot pixel correction is applied,<wbr/> at a cost
of possibly reduced frame rate relative to sensor raw output.<wbr/></p>
<p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
@@ -11004,20 +11004,20 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No hot pixel correction is applied.<wbr/></p>
<p>The frame rate must not be reduced relative to sensor raw output
for this option.<wbr/></p>
<p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Hot pixel correction is applied,<wbr/> without reducing frame
rate relative to sensor raw output.<wbr/></p>
<p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>High-quality hot pixel correction is applied,<wbr/> at a cost
of possibly reduced frame rate relative to sensor raw output.<wbr/></p>
<p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
@@ -12601,11 +12601,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Optical stabilization is unavailable.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optical stabilization is enabled.<wbr/></p></span>
</li>
@@ -13146,7 +13146,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">UNCALIBRATED</span>
+ <span class="entry_type_enum_name">UNCALIBRATED (v3.2)</span>
<span class="entry_type_enum_notes"><p>The lens focus distance is not accurate,<wbr/> and the units used for
<a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> do not correspond to any physical units.<wbr/></p>
<p>Setting the lens to the same focus distance on separate occasions may
@@ -13157,7 +13157,7 @@
represents the farthest focus.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">APPROXIMATE</span>
+ <span class="entry_type_enum_name">APPROXIMATE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The lens focus distance is measured in diopters.<wbr/></p>
<p>However,<wbr/> setting the lens to the same focus distance
on separate occasions may result in a different real
@@ -13166,7 +13166,7 @@
mechanism,<wbr/> and the device temperature.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CALIBRATED</span>
+ <span class="entry_type_enum_name">CALIBRATED (v3.2)</span>
<span class="entry_type_enum_notes"><p>The lens focus distance is measured in diopters,<wbr/> and
is calibrated.<wbr/></p>
<p>The lens mechanism is calibrated so that setting the
@@ -13260,15 +13260,15 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FRONT</span>
+ <span class="entry_type_enum_name">FRONT (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device faces the same direction as the device's screen.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BACK</span>
+ <span class="entry_type_enum_name">BACK (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device faces the opposite direction as the device's screen.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">EXTERNAL</span>
+ <span class="entry_type_enum_name">EXTERNAL (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device is an external camera,<wbr/> and has no fixed facing relative to the
device's screen.<wbr/></p></span>
</li>
@@ -14021,11 +14021,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Optical stabilization is unavailable.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Optical stabilization is enabled.<wbr/></p></span>
</li>
@@ -14103,12 +14103,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">STATIONARY</span>
+ <span class="entry_type_enum_name">STATIONARY (v3.2)</span>
<span class="entry_type_enum_notes"><p>The lens parameters (<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>,<wbr/> <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a>,<wbr/>
<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>) are not changing.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MOVING</span>
+ <span class="entry_type_enum_name">MOVING (v3.2)</span>
<span class="entry_type_enum_notes"><p>One or several of the lens parameters
(<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>,<wbr/> <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a>,<wbr/>
<a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> or <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>) is
@@ -14579,28 +14579,28 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No noise reduction is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Noise reduction is applied without reducing frame rate relative to sensor
output.<wbr/> It may be the same as OFF if noise reduction will reduce frame rate
relative to sensor.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>High-quality noise reduction is applied,<wbr/> at the cost of possibly reduced frame
rate relative to sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MINIMAL</span>
+ <span class="entry_type_enum_name">MINIMAL (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>MINIMAL noise reduction is applied without reducing frame rate relative to
sensor output.<wbr/> </p></span>
</li>
<li>
- <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+ <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Noise reduction is applied at different levels for different output streams,<wbr/>
based on resolution.<wbr/> Streams at maximum recording resolution (see <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">CameraDevice#createCaptureSession</a>)
@@ -14892,28 +14892,28 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No noise reduction is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Noise reduction is applied without reducing frame rate relative to sensor
output.<wbr/> It may be the same as OFF if noise reduction will reduce frame rate
relative to sensor.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>High-quality noise reduction is applied,<wbr/> at the cost of possibly reduced frame
rate relative to sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MINIMAL</span>
+ <span class="entry_type_enum_name">MINIMAL (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>MINIMAL noise reduction is applied without reducing frame rate relative to
sensor output.<wbr/> </p></span>
</li>
<li>
- <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+ <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Noise reduction is applied at different levels for different output streams,<wbr/>
based on resolution.<wbr/> Streams at maximum recording resolution (see <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">CameraDevice#createCaptureSession</a>)
@@ -15335,12 +15335,12 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FINAL</span>
+ <span class="entry_type_enum_name">FINAL (v3.2)</span>
<span class="entry_type_enum_notes"><p>The last or only metadata result buffer
for this capture.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PARTIAL</span>
+ <span class="entry_type_enum_name">PARTIAL (v3.2)</span>
<span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
capture.<wbr/> More result buffers for this capture will be sent
by the camera device,<wbr/> the last of which will be marked
@@ -15613,7 +15613,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">NONE</span>
+ <span class="entry_type_enum_name">NONE (v3.2)</span>
<span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
for application-bound buffer data.<wbr/> If no
application-bound streams exist,<wbr/> no frame should be
@@ -15624,7 +15624,7 @@
included with any output stream buffers</p></span>
</li>
<li>
- <span class="entry_type_enum_name">FULL</span>
+ <span class="entry_type_enum_name">FULL (v3.2)</span>
<span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
only be produced if they are separately
enabled</p></span>
@@ -15745,13 +15745,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CAPTURE</span>
+ <span class="entry_type_enum_name">CAPTURE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
and process it according to the
settings</p></span>
</li>
<li>
- <span class="entry_type_enum_name">REPROCESS</span>
+ <span class="entry_type_enum_name">REPROCESS (v3.2)</span>
<span class="entry_type_enum_notes"><p>Process previously captured data; the
<a href="#controls_android.request.inputStreams">android.<wbr/>request.<wbr/>input<wbr/>Streams</a> parameter determines the
source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
@@ -16393,7 +16393,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">BACKWARD_COMPATIBLE</span>
+ <span class="entry_type_enum_name">BACKWARD_COMPATIBLE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The minimal set of capabilities that every camera
device (regardless of <a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a>)
supports.<wbr/></p>
@@ -16406,7 +16406,7 @@
not standard color output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MANUAL_SENSOR</span>
+ <span class="entry_type_enum_name">MANUAL_SENSOR (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device can be manually controlled (3A algorithms such
as auto-exposure,<wbr/> and auto-focus can be bypassed).<wbr/>
@@ -16456,7 +16456,7 @@
zero for each supported size-format combination.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">MANUAL_POST_PROCESSING</span>
+ <span class="entry_type_enum_name">MANUAL_POST_PROCESSING (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device post-processing stages can be manually controlled.<wbr/>
The camera device supports basic manual control of the image post-processing
@@ -16502,7 +16502,7 @@
controls,<wbr/> but this capability only covers the above list of controls.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">RAW</span>
+ <span class="entry_type_enum_name">RAW (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device supports outputting RAW buffers and
metadata for interpreting them.<wbr/></p>
@@ -16520,7 +16520,7 @@
</ul></span>
</li>
<li>
- <span class="entry_type_enum_name">PRIVATE_REPROCESSING</span>
+ <span class="entry_type_enum_name">PRIVATE_REPROCESSING (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device supports the Zero Shutter Lag reprocessing use case.<wbr/></p>
<ul>
@@ -16553,7 +16553,7 @@
</ul></span>
</li>
<li>
- <span class="entry_type_enum_name">READ_SENSOR_SETTINGS</span>
+ <span class="entry_type_enum_name">READ_SENSOR_SETTINGS (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device supports accurately reporting the sensor settings for many of
the sensor controls while the built-in 3A algorithm is running.<wbr/> This allows
@@ -16579,7 +16579,7 @@
always be included if the MANUAL_<wbr/>SENSOR capability is available.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">BURST_CAPTURE</span>
+ <span class="entry_type_enum_name">BURST_CAPTURE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device supports capturing high-resolution images at >= 20 frames per
second,<wbr/> in at least the uncompressed YUV format,<wbr/> when post-processing settings are set
@@ -16588,7 +16588,7 @@
resolution of the device,<wbr/> whichever is smaller.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">YUV_REPROCESSING</span>
+ <span class="entry_type_enum_name">YUV_REPROCESSING (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device supports the YUV_<wbr/>420_<wbr/>888 reprocessing use case,<wbr/> similar as
PRIVATE_<wbr/>REPROCESSING,<wbr/> This capability requires the camera device to support the
@@ -16622,7 +16622,7 @@
</ul></span>
</li>
<li>
- <span class="entry_type_enum_name">DEPTH_OUTPUT</span>
+ <span class="entry_type_enum_name">DEPTH_OUTPUT (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The camera device can produce depth measurements from its field of view.<wbr/></p>
<p>This capability requires the camera device to support the following:</p>
@@ -16654,7 +16654,7 @@
rate,<wbr/> including depth stall time.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CONSTRAINED_HIGH_SPEED_VIDEO</span>
+ <span class="entry_type_enum_name">CONSTRAINED_HIGH_SPEED_VIDEO (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>The device supports constrained high speed video recording (frame rate >=120fps) use
case.<wbr/> The camera device will support high speed capture session created by <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createConstrainedHighSpeedCaptureSession">CameraDevice#createConstrainedHighSpeedCaptureSession</a>,<wbr/> which
@@ -17197,7 +17197,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">NONE</span>
+ <span class="entry_type_enum_name">NONE (v3.2)</span>
<span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
for application-bound buffer data.<wbr/> If no
application-bound streams exist,<wbr/> no frame should be
@@ -17208,7 +17208,7 @@
included with any output stream buffers</p></span>
</li>
<li>
- <span class="entry_type_enum_name">FULL</span>
+ <span class="entry_type_enum_name">FULL (v3.2)</span>
<span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
only be produced if they are separately
enabled</p></span>
@@ -17594,7 +17594,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">RAW16</span>
+ <span class="entry_type_enum_name">RAW16 (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_value">0x20</span>
<span class="entry_type_enum_notes"><p>RAW16 is a standard,<wbr/> cross-platform format for raw image
@@ -17622,7 +17622,7 @@
the full set of performance guarantees.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">RAW_OPAQUE</span>
+ <span class="entry_type_enum_name">RAW_OPAQUE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_value">0x24</span>
<span class="entry_type_enum_notes"><p>RAW_<wbr/>OPAQUE (or
@@ -17647,29 +17647,29 @@
performance guarantees.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">YV12</span>
+ <span class="entry_type_enum_name">YV12 (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_value">0x32315659</span>
<span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
</li>
<li>
- <span class="entry_type_enum_name">YCrCb_420_SP</span>
+ <span class="entry_type_enum_name">YCrCb_420_SP (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_value">0x11</span>
<span class="entry_type_enum_notes"><p>NV21</p></span>
</li>
<li>
- <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
+ <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED (v3.2)</span>
<span class="entry_type_enum_value">0x22</span>
<span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
</li>
<li>
- <span class="entry_type_enum_name">YCbCr_420_888</span>
+ <span class="entry_type_enum_name">YCbCr_420_888 (v3.2)</span>
<span class="entry_type_enum_value">0x23</span>
<span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
</li>
<li>
- <span class="entry_type_enum_name">BLOB</span>
+ <span class="entry_type_enum_name">BLOB (v3.2)</span>
<span class="entry_type_enum_value">0x21</span>
<span class="entry_type_enum_notes"><p>JPEG format</p></span>
</li>
@@ -18367,10 +18367,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OUTPUT</span>
+ <span class="entry_type_enum_name">OUTPUT (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">INPUT</span>
+ <span class="entry_type_enum_name">INPUT (v3.2)</span>
</li>
</ul>
@@ -18930,11 +18930,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CENTER_ONLY</span>
+ <span class="entry_type_enum_name">CENTER_ONLY (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device only supports centered crop regions.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FREEFORM</span>
+ <span class="entry_type_enum_name">FREEFORM (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device supports arbitrarily chosen crop regions.<wbr/></p></span>
</li>
</ul>
@@ -19519,13 +19519,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No test pattern mode is used,<wbr/> and the camera
device returns captures from the image sensor.<wbr/></p>
<p>This is the default if the key is not set.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SOLID_COLOR</span>
+ <span class="entry_type_enum_name">SOLID_COLOR (v3.2)</span>
<span class="entry_type_enum_notes"><p>Each pixel in <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> is replaced by its
respective color channel provided in
<a href="#controls_android.sensor.testPatternData">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data</a>.<wbr/></p>
@@ -19539,7 +19539,7 @@
are 100% green.<wbr/> All blue pixels are 100% black.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">COLOR_BARS</span>
+ <span class="entry_type_enum_name">COLOR_BARS (v3.2)</span>
<span class="entry_type_enum_notes"><p>All pixel data is replaced with an 8-bar color pattern.<wbr/></p>
<p>The vertical bars (left-to-right) are as follows:</p>
<ul>
@@ -19574,7 +19574,7 @@
0% intensity or 100% intensity.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY</span>
+ <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY (v3.2)</span>
<span class="entry_type_enum_notes"><p>The test pattern is similar to COLOR_<wbr/>BARS,<wbr/> except that
each bar should start at its specified color at the top,<wbr/>
and fade to gray at the bottom.<wbr/></p>
@@ -19590,7 +19590,7 @@
of the image.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PN9</span>
+ <span class="entry_type_enum_name">PN9 (v3.2)</span>
<span class="entry_type_enum_notes"><p>All pixel data is replaced by a pseudo-random sequence
generated from a PN9 512-bit sequence (typically implemented
in hardware with a linear feedback shift register).<wbr/></p>
@@ -19599,7 +19599,7 @@
be exactly the same as the last.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CUSTOM1</span>
+ <span class="entry_type_enum_name">CUSTOM1 (v3.2)</span>
<span class="entry_type_enum_value">256</span>
<span class="entry_type_enum_notes"><p>The first custom test pattern.<wbr/> All custom patterns that are
available only on this camera device are at least this numeric
@@ -19854,19 +19854,19 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">RGGB</span>
+ <span class="entry_type_enum_name">RGGB (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">GRBG</span>
+ <span class="entry_type_enum_name">GRBG (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">GBRG</span>
+ <span class="entry_type_enum_name">GBRG (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">BGGR</span>
+ <span class="entry_type_enum_name">BGGR (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">RGB</span>
+ <span class="entry_type_enum_name">RGB (v3.2)</span>
<span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
values for each pixel,<wbr/> instead of just 1 16-bit value
per pixel.<wbr/></p></span>
@@ -20284,7 +20284,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">UNKNOWN</span>
+ <span class="entry_type_enum_name">UNKNOWN (v3.2)</span>
<span class="entry_type_enum_notes"><p>Timestamps from <a href="#dynamic_android.sensor.timestamp">android.<wbr/>sensor.<wbr/>timestamp</a> are in nanoseconds and monotonic,<wbr/>
but can not be compared to timestamps from other subsystems
(e.<wbr/>g.<wbr/> accelerometer,<wbr/> gyro etc.<wbr/>),<wbr/> or other instances of the same or different
@@ -20293,7 +20293,7 @@
and the result metadata generated by a single capture are identical.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">REALTIME</span>
+ <span class="entry_type_enum_name">REALTIME (v3.2)</span>
<span class="entry_type_enum_notes"><p>Timestamps from <a href="#dynamic_android.sensor.timestamp">android.<wbr/>sensor.<wbr/>timestamp</a> are in the same timebase as
<a href="https://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtimeNanos">SystemClock#elapsedRealtimeNanos</a>,<wbr/>
and they can be compared to other timestamps using that base.<wbr/></p></span>
@@ -20371,10 +20371,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
</li>
</ul>
@@ -20559,84 +20559,84 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">DAYLIGHT</span>
+ <span class="entry_type_enum_name">DAYLIGHT (v3.2)</span>
<span class="entry_type_enum_value">1</span>
</li>
<li>
- <span class="entry_type_enum_name">FLUORESCENT</span>
+ <span class="entry_type_enum_name">FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_value">2</span>
</li>
<li>
- <span class="entry_type_enum_name">TUNGSTEN</span>
+ <span class="entry_type_enum_name">TUNGSTEN (v3.2)</span>
<span class="entry_type_enum_value">3</span>
<span class="entry_type_enum_notes"><p>Incandescent light</p></span>
</li>
<li>
- <span class="entry_type_enum_name">FLASH</span>
+ <span class="entry_type_enum_name">FLASH (v3.2)</span>
<span class="entry_type_enum_value">4</span>
</li>
<li>
- <span class="entry_type_enum_name">FINE_WEATHER</span>
+ <span class="entry_type_enum_name">FINE_WEATHER (v3.2)</span>
<span class="entry_type_enum_value">9</span>
</li>
<li>
- <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
+ <span class="entry_type_enum_name">CLOUDY_WEATHER (v3.2)</span>
<span class="entry_type_enum_value">10</span>
</li>
<li>
- <span class="entry_type_enum_name">SHADE</span>
+ <span class="entry_type_enum_name">SHADE (v3.2)</span>
<span class="entry_type_enum_value">11</span>
</li>
<li>
- <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
+ <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_value">12</span>
<span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
</li>
<li>
- <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
+ <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_value">13</span>
<span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
</li>
<li>
- <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
+ <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_value">14</span>
<span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
</li>
<li>
- <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
+ <span class="entry_type_enum_name">WHITE_FLUORESCENT (v3.2)</span>
<span class="entry_type_enum_value">15</span>
<span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
</li>
<li>
- <span class="entry_type_enum_name">STANDARD_A</span>
+ <span class="entry_type_enum_name">STANDARD_A (v3.2)</span>
<span class="entry_type_enum_value">17</span>
</li>
<li>
- <span class="entry_type_enum_name">STANDARD_B</span>
+ <span class="entry_type_enum_name">STANDARD_B (v3.2)</span>
<span class="entry_type_enum_value">18</span>
</li>
<li>
- <span class="entry_type_enum_name">STANDARD_C</span>
+ <span class="entry_type_enum_name">STANDARD_C (v3.2)</span>
<span class="entry_type_enum_value">19</span>
</li>
<li>
- <span class="entry_type_enum_name">D55</span>
+ <span class="entry_type_enum_name">D55 (v3.2)</span>
<span class="entry_type_enum_value">20</span>
</li>
<li>
- <span class="entry_type_enum_name">D65</span>
+ <span class="entry_type_enum_name">D65 (v3.2)</span>
<span class="entry_type_enum_value">21</span>
</li>
<li>
- <span class="entry_type_enum_name">D75</span>
+ <span class="entry_type_enum_name">D75 (v3.2)</span>
<span class="entry_type_enum_value">22</span>
</li>
<li>
- <span class="entry_type_enum_name">D50</span>
+ <span class="entry_type_enum_name">D50 (v3.2)</span>
<span class="entry_type_enum_value">23</span>
</li>
<li>
- <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
+ <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN (v3.2)</span>
<span class="entry_type_enum_value">24</span>
</li>
</ul>
@@ -22589,13 +22589,13 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No test pattern mode is used,<wbr/> and the camera
device returns captures from the image sensor.<wbr/></p>
<p>This is the default if the key is not set.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SOLID_COLOR</span>
+ <span class="entry_type_enum_name">SOLID_COLOR (v3.2)</span>
<span class="entry_type_enum_notes"><p>Each pixel in <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> is replaced by its
respective color channel provided in
<a href="#controls_android.sensor.testPatternData">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data</a>.<wbr/></p>
@@ -22609,7 +22609,7 @@
are 100% green.<wbr/> All blue pixels are 100% black.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">COLOR_BARS</span>
+ <span class="entry_type_enum_name">COLOR_BARS (v3.2)</span>
<span class="entry_type_enum_notes"><p>All pixel data is replaced with an 8-bar color pattern.<wbr/></p>
<p>The vertical bars (left-to-right) are as follows:</p>
<ul>
@@ -22644,7 +22644,7 @@
0% intensity or 100% intensity.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY</span>
+ <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY (v3.2)</span>
<span class="entry_type_enum_notes"><p>The test pattern is similar to COLOR_<wbr/>BARS,<wbr/> except that
each bar should start at its specified color at the top,<wbr/>
and fade to gray at the bottom.<wbr/></p>
@@ -22660,7 +22660,7 @@
of the image.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PN9</span>
+ <span class="entry_type_enum_name">PN9 (v3.2)</span>
<span class="entry_type_enum_notes"><p>All pixel data is replaced by a pseudo-random sequence
generated from a PN9 512-bit sequence (typically implemented
in hardware with a linear feedback shift register).<wbr/></p>
@@ -22669,7 +22669,7 @@
be exactly the same as the last.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">CUSTOM1</span>
+ <span class="entry_type_enum_name">CUSTOM1 (v3.2)</span>
<span class="entry_type_enum_value">256</span>
<span class="entry_type_enum_notes"><p>The first custom test pattern.<wbr/> All custom patterns that are
available only on this camera device are at least this numeric
@@ -23015,16 +23015,16 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No lens shading correction is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply lens shading corrections,<wbr/> without slowing
frame rate relative to sensor raw output</p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply high-quality lens shading correction,<wbr/> at the
cost of possibly reduced frame rate.<wbr/></p></span>
</li>
@@ -23180,16 +23180,16 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>No lens shading correction is applied.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply lens shading corrections,<wbr/> without slowing
frame rate relative to sensor raw output</p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>Apply high-quality lens shading correction,<wbr/> at the
cost of possibly reduced frame rate.<wbr/></p></span>
</li>
@@ -23401,17 +23401,17 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Do not include face detection statistics in capture
results.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SIMPLE</span>
+ <span class="entry_type_enum_name">SIMPLE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Return face rectangle and confidence values only.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FULL</span>
+ <span class="entry_type_enum_name">FULL (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Return all face
metadata.<wbr/></p>
@@ -23487,10 +23487,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -23540,10 +23540,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -23593,11 +23593,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Hot pixel map production is disabled.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Hot pixel map production is enabled.<wbr/></p></span>
</li>
</ul>
@@ -23659,11 +23659,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Do not include a lens shading map in the capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Include a lens shading map in the capture result.<wbr/></p></span>
</li>
</ul>
@@ -24202,17 +24202,17 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Do not include face detection statistics in capture
results.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">SIMPLE</span>
+ <span class="entry_type_enum_name">SIMPLE (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Return face rectangle and confidence values only.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FULL</span>
+ <span class="entry_type_enum_name">FULL (v3.2)</span>
<span class="entry_type_enum_optional">[optional]</span>
<span class="entry_type_enum_notes"><p>Return all face
metadata.<wbr/></p>
@@ -24655,10 +24655,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -24767,10 +24767,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -25188,17 +25188,17 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">NONE</span>
+ <span class="entry_type_enum_name">NONE (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device does not detect any flickering illumination
in the current scene.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">50HZ</span>
+ <span class="entry_type_enum_name">50HZ (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device detects illumination flickering at 50Hz
in the current scene.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">60HZ</span>
+ <span class="entry_type_enum_name">60HZ (v3.2)</span>
<span class="entry_type_enum_notes"><p>The camera device detects illumination flickering at 60Hz
in the current scene.<wbr/></p></span>
</li>
@@ -25267,11 +25267,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Hot pixel map production is disabled.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Hot pixel map production is enabled.<wbr/></p></span>
</li>
</ul>
@@ -25413,11 +25413,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
<span class="entry_type_enum_notes"><p>Do not include a lens shading map in the capture result.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
<span class="entry_type_enum_notes"><p>Include a lens shading map in the capture result.<wbr/></p></span>
</li>
</ul>
@@ -25840,7 +25840,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CONTRAST_CURVE</span>
+ <span class="entry_type_enum_name">CONTRAST_CURVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
the <a href="#controls_android.tonemap.curve">android.<wbr/>tonemap.<wbr/>curve</a>* entries.<wbr/></p>
<p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -25850,17 +25850,17 @@
sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied,<wbr/> without
reducing frame rate compared to raw sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>High-quality gamma mapping and color enhancement will be applied,<wbr/> at
the cost of possibly reduced frame rate compared to raw sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">GAMMA_VALUE</span>
+ <span class="entry_type_enum_name">GAMMA_VALUE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the gamma value specified in <a href="#controls_android.tonemap.gamma">android.<wbr/>tonemap.<wbr/>gamma</a> to peform
tonemapping.<wbr/></p>
<p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -25868,7 +25868,7 @@
<p>Must not slow down frame rate relative to raw sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PRESET_CURVE</span>
+ <span class="entry_type_enum_name">PRESET_CURVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the preset tonemapping curve specified in
<a href="#controls_android.tonemap.presetCurve">android.<wbr/>tonemap.<wbr/>preset<wbr/>Curve</a> to peform tonemapping.<wbr/></p>
<p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26005,11 +26005,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">SRGB</span>
+ <span class="entry_type_enum_name">SRGB (v3.2)</span>
<span class="entry_type_enum_notes"><p>Tonemapping curve is defined by sRGB</p></span>
</li>
<li>
- <span class="entry_type_enum_name">REC709</span>
+ <span class="entry_type_enum_name">REC709 (v3.2)</span>
<span class="entry_type_enum_notes"><p>Tonemapping curve is defined by ITU-R BT.<wbr/>709</p></span>
</li>
</ul>
@@ -26592,7 +26592,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CONTRAST_CURVE</span>
+ <span class="entry_type_enum_name">CONTRAST_CURVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
the <a href="#controls_android.tonemap.curve">android.<wbr/>tonemap.<wbr/>curve</a>* entries.<wbr/></p>
<p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26602,17 +26602,17 @@
sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FAST</span>
+ <span class="entry_type_enum_name">FAST (v3.2)</span>
<span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied,<wbr/> without
reducing frame rate compared to raw sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HIGH_QUALITY</span>
+ <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
<span class="entry_type_enum_notes"><p>High-quality gamma mapping and color enhancement will be applied,<wbr/> at
the cost of possibly reduced frame rate compared to raw sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">GAMMA_VALUE</span>
+ <span class="entry_type_enum_name">GAMMA_VALUE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the gamma value specified in <a href="#controls_android.tonemap.gamma">android.<wbr/>tonemap.<wbr/>gamma</a> to peform
tonemapping.<wbr/></p>
<p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26620,7 +26620,7 @@
<p>Must not slow down frame rate relative to raw sensor output.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">PRESET_CURVE</span>
+ <span class="entry_type_enum_name">PRESET_CURVE (v3.2)</span>
<span class="entry_type_enum_notes"><p>Use the preset tonemapping curve specified in
<a href="#controls_android.tonemap.presetCurve">android.<wbr/>tonemap.<wbr/>preset<wbr/>Curve</a> to peform tonemapping.<wbr/></p>
<p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26757,11 +26757,11 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">SRGB</span>
+ <span class="entry_type_enum_name">SRGB (v3.2)</span>
<span class="entry_type_enum_notes"><p>Tonemapping curve is defined by sRGB</p></span>
</li>
<li>
- <span class="entry_type_enum_name">REC709</span>
+ <span class="entry_type_enum_name">REC709 (v3.2)</span>
<span class="entry_type_enum_notes"><p>Tonemapping curve is defined by ITU-R BT.<wbr/>709</p></span>
</li>
</ul>
@@ -26856,10 +26856,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -26942,10 +26942,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -27032,7 +27032,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">TRANSMIT</span>
+ <span class="entry_type_enum_name">TRANSMIT (v3.2)</span>
<span class="entry_type_enum_notes"><p><a href="#controls_android.led.transmit">android.<wbr/>led.<wbr/>transmit</a> control is used.<wbr/></p></span>
</li>
</ul>
@@ -27113,7 +27113,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">LIMITED</span>
+ <span class="entry_type_enum_name">LIMITED (v3.2)</span>
<span class="entry_type_enum_notes"><p>This camera device does not have enough capabilities to qualify as a <code>FULL</code> device or
better.<wbr/></p>
<p>Only the stream configurations listed in the <code>LEGACY</code> and <code>LIMITED</code> tables in the
@@ -27133,7 +27133,7 @@
can be checked for in <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">FULL</span>
+ <span class="entry_type_enum_name">FULL (v3.2)</span>
<span class="entry_type_enum_notes"><p>This camera device is capable of supporting advanced imaging applications.<wbr/></p>
<p>The stream configurations listed in the <code>FULL</code>,<wbr/> <code>LEGACY</code> and <code>LIMITED</code> tables in the
<a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">createCaptureSession</a> documentation are guaranteed to be supported.<wbr/></p>
@@ -27154,7 +27154,7 @@
23,<wbr/> and <code>FULL</code> devices may only support <code>CENTERED</code> cropping.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">LEGACY</span>
+ <span class="entry_type_enum_name">LEGACY (v3.2)</span>
<span class="entry_type_enum_notes"><p>This camera device is running in backward compatibility mode.<wbr/></p>
<p>Only the stream configurations listed in the <code>LEGACY</code> table in the <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">createCaptureSession</a> documentation are supported.<wbr/></p>
<p>A <code>LEGACY</code> device does not support per-frame control,<wbr/> manual sensor control,<wbr/> manual
@@ -27169,7 +27169,7 @@
enable the flash.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">3</span>
+ <span class="entry_type_enum_name">3 (v3.2)</span>
<span class="entry_type_enum_notes"><p>This camera device is capable of YUV reprocessing and RAW data capture,<wbr/> in addition to
FULL-level capabilities.<wbr/></p>
<p>The stream configurations listed in the <code>LEVEL_<wbr/>3</code>,<wbr/> <code>RAW</code>,<wbr/> <code>FULL</code>,<wbr/> <code>LEGACY</code> and
@@ -27327,10 +27327,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -27464,10 +27464,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OFF</span>
+ <span class="entry_type_enum_name">OFF (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">ON</span>
+ <span class="entry_type_enum_name">ON (v3.2)</span>
</li>
</ul>
@@ -27575,7 +27575,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">CONVERGING</span>
+ <span class="entry_type_enum_name">CONVERGING (v3.2)</span>
<span class="entry_type_enum_value">-1</span>
<span class="entry_type_enum_notes"><p>The current result is not yet fully synchronized to any request.<wbr/></p>
<p>Synchronization is in progress,<wbr/> and reading metadata from this
@@ -27587,7 +27587,7 @@
request settings remain constant).<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">UNKNOWN</span>
+ <span class="entry_type_enum_name">UNKNOWN (v3.2)</span>
<span class="entry_type_enum_value">-2</span>
<span class="entry_type_enum_notes"><p>The current result's synchronization status is unknown.<wbr/></p>
<p>The result may have already converged,<wbr/> or it may be in
@@ -27747,7 +27747,7 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">PER_FRAME_CONTROL</span>
+ <span class="entry_type_enum_name">PER_FRAME_CONTROL (v3.2)</span>
<span class="entry_type_enum_value">0</span>
<span class="entry_type_enum_notes"><p>Every frame has the requests immediately applied.<wbr/></p>
<p>Changing controls over multiple requests one after another will
@@ -27756,7 +27756,7 @@
<p>All FULL capability devices will have this as their maxLatency.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">UNKNOWN</span>
+ <span class="entry_type_enum_name">UNKNOWN (v3.2)</span>
<span class="entry_type_enum_value">-1</span>
<span class="entry_type_enum_notes"><p>Each new frame has some subset (potentially the entire set)
of the past requests applied to the camera settings.<wbr/></p>
@@ -28290,10 +28290,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">OUTPUT</span>
+ <span class="entry_type_enum_name">OUTPUT (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">INPUT</span>
+ <span class="entry_type_enum_name">INPUT (v3.2)</span>
</li>
</ul>
@@ -28497,10 +28497,10 @@
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">FALSE</span>
+ <span class="entry_type_enum_name">FALSE (v3.2)</span>
</li>
<li>
- <span class="entry_type_enum_name">TRUE</span>
+ <span class="entry_type_enum_name">TRUE (v3.2)</span>
</li>
</ul>
diff --git a/camera/docs/html.mako b/camera/docs/html.mako
index 2074daa..3ba191b 100644
--- a/camera/docs/html.mako
+++ b/camera/docs/html.mako
@@ -301,7 +301,7 @@
<ul class="entry_type_enum">
% for value in prop.enum.values:
<li>
- <span class="entry_type_enum_name">${value.name}</span>
+ <span class="entry_type_enum_name">${value.name} (v${value.hal_major_version}.${value.hal_minor_version})</span>
% if value.deprecated:
<span class="entry_type_enum_deprecated">[deprecated]</span>
% endif:
diff --git a/camera/docs/metadata-generate b/camera/docs/metadata-generate
index 58b5565..6999da9 100755
--- a/camera/docs/metadata-generate
+++ b/camera/docs/metadata-generate
@@ -202,9 +202,8 @@
# Generate HIDL metadata modules - new versions need to be added here manually
mkdir -p "${hidldir}/3.2"
gen_file_abs HidlMetadata.mako "$hidldir/3.2/types.hal" yes 3.2 || exit 1
-# Uncomment below to generate 3.3 HIDL module
-#mkdir -p "${hidldir}/3.3"
-#gen_file_abs HidlMetadata.mako "$hidldir/3.3/types.hal" yes 3.3 || exit 1
+mkdir -p "${hidldir}/3.3"
+gen_file_abs HidlMetadata.mako "$hidldir/3.3/types.hal" yes 3.3 || exit 1
#Generate NDK header
gen_file_abs ndk_camera_metadata_tags.mako "$ndk_header_dir/NdkCameraMetadataTags.h" yes || exit 1
diff --git a/camera/docs/metadata_definitions.xsd b/camera/docs/metadata_definitions.xsd
index ad6ac8d..d8c15ab 100644
--- a/camera/docs/metadata_definitions.xsd
+++ b/camera/docs/metadata_definitions.xsd
@@ -301,6 +301,7 @@
</simpleType>
</attribute>
<attribute name="id" type="string" />
+ <attribute name="hal_version" type="decimal" default="3.2" />
</complexType>
<complexType name="CloneType">
diff --git a/camera/docs/metadata_helpers.py b/camera/docs/metadata_helpers.py
index 7cde49b..210d2b9 100644
--- a/camera/docs/metadata_helpers.py
+++ b/camera/docs/metadata_helpers.py
@@ -788,7 +788,7 @@
javadoc comment section, given a set of metadata
Args:
- metadata: A Metadata instance, representing the the top-level root
+ metadata: A Metadata instance, representing the top-level root
of the metadata for cross-referencing
indent: baseline level of indentation for javadoc block
Returns:
@@ -877,7 +877,7 @@
NDK camera API C/C++ comment section, given a set of metadata
Args:
- metadata: A Metadata instance, representing the the top-level root
+ metadata: A Metadata instance, representing the top-level root
of the metadata for cross-referencing
indent: baseline level of indentation for comment block
Returns:
@@ -970,6 +970,98 @@
return ndkdoc_formatter
+def hidldoc(metadata, indent = 4):
+ """
+ Returns a function to format a markdown syntax text block as a
+ HIDL camera HAL module C/C++ comment section, given a set of metadata
+
+ Args:
+ metadata: A Metadata instance, representing the top-level root
+ of the metadata for cross-referencing
+ indent: baseline level of indentation for comment block
+ Returns:
+ A function that transforms a String text block as follows:
+ - Indent and * for insertion into a comment block
+ - Trailing whitespace removed
+ - Entire body rendered via markdown
+ - All tag names converted to appropriate HIDL tag name for each tag
+
+ Example:
+ "This is a comment for NDK\n" +
+ " with multiple lines, that should be \n" +
+ " formatted better\n" +
+ "\n" +
+ " That covers multiple lines as well\n"
+ " And references android.control.mode\n"
+
+ transforms to
+ " * This is a comment for NDK\n" +
+ " * with multiple lines, that should be\n" +
+ " * formatted better\n" +
+ " * That covers multiple lines as well\n" +
+ " * and references ANDROID_CONTROL_MODE\n" +
+ " *\n" +
+ " * @see ANDROID_CONTROL_MODE\n"
+ """
+ def hidldoc_formatter(text):
+ # render with markdown => HTML
+ # Turn off the table plugin since doxygen doesn't recognize generated <thead> <tbody> tags
+ hidltext = md(text, NDKDOC_IMAGE_SRC_METADATA, False)
+
+ # Simple transform for hidl doc links
+ def hidldoc_link_filter(target, target_ndk, shortname):
+ if target_ndk is not None:
+ return '{@link %s %s}' % (target_ndk, shortname)
+
+ # Create HTML link to Javadoc
+ if shortname == '':
+ lastdot = target.rfind('.')
+ if lastdot == -1:
+ shortname = target
+ else:
+ shortname = target[lastdot + 1:]
+
+ target = target.replace('.','/')
+ if target.find('#') != -1:
+ target = target.replace('#','.html#')
+ else:
+ target = target + '.html'
+
+ return '<a href="https://developer.android.com/reference/%s">%s</a>' % (target, shortname)
+
+ hidltext = filter_links(hidltext, hidldoc_link_filter)
+
+ # Convert metadata entry "android.x.y.z" to form
+ # HIDL tag format of "ANDROID_X_Y_Z"
+ def hidldoc_crossref_filter(node):
+ return csym(node.name)
+
+ # For each public tag "android.x.y.z" referenced, add a
+ # "@see ANDROID_X_Y_Z"
+ def hidldoc_crossref_see_filter(node_set):
+ text = '\n'
+ for node in node_set:
+ text = text + '\n@see %s' % (csym(node.name))
+
+ return text if text != '\n' else ''
+
+ hidltext = filter_tags(hidltext, metadata, hidldoc_crossref_filter, hidldoc_crossref_see_filter)
+
+ comment_prefix = " " * indent + " * ";
+
+ def line_filter(line):
+ # Indent each line
+ # Add ' * ' to it for stylistic reasons
+ # Strip right side of trailing whitespace
+ return (comment_prefix + line).rstrip()
+
+ # Process each line with above filter
+ hidltext = "\n".join(line_filter(i) for i in hidltext.split("\n")) + "\n"
+
+ return hidltext
+
+ return hidldoc_formatter
+
def dedent(text):
"""
Remove all common indentation from every line but the 0th.
@@ -1272,6 +1364,20 @@
"""
return (e for e in entries if e.hal_major_version == hal_major_version and e.hal_minor_version == hal_minor_version)
+def filter_has_enum_values_added_in_hal_version(entries, hal_major_version, hal_minor_version):
+ """
+ Filter the given entries to those that have a new enum value added in the given HIDL HAL version
+
+ Args:
+ entries: An iterable of Entry nodes
+ hal_major_version: Major HIDL version to filter for
+ hal_minor_version: Minor HIDL version to filter for
+
+ Yields:
+ An iterable of Entry nodes
+ """
+ return (e for e in entries if e.has_new_values_added_in_hal_version(hal_major_version, hal_minor_version))
+
def filter_ndk_visible(entries):
"""
Filter the given entries by removing those that are not NDK visible.
diff --git a/camera/docs/metadata_model.py b/camera/docs/metadata_model.py
index 648e44b..4485ad8 100644
--- a/camera/docs/metadata_model.py
+++ b/camera/docs/metadata_model.py
@@ -986,9 +986,11 @@
sdk_notes: A string describing extra notes for public SDK only
ndk_notes: A string describing extra notes for public NDK only
parent: An edge to the parent, always an Enum instance.
+ hal_major_version: The major HIDL HAL version this value was first added in
+ hal_minor_version: The minor HIDL HAL version this value was first added in
"""
def __init__(self, name, parent,
- id=None, deprecated=False, optional=False, hidden=False, notes=None, sdk_notes=None, ndk_notes=None, ndk_hidden=False):
+ id=None, deprecated=False, optional=False, hidden=False, notes=None, sdk_notes=None, ndk_notes=None, ndk_hidden=False, hal_version='3.2'):
self._name = name # str, e.g. 'ON' or 'OFF'
self._id = id # int, e.g. '0'
self._deprecated = deprecated # bool
@@ -999,6 +1001,16 @@
self._sdk_notes = sdk_notes # None or str
self._ndk_notes = ndk_notes # None or str
self._parent = parent
+ if hal_version is None:
+ if parent is not None and parent.parent is not None:
+ self._hal_major_version = parent.parent.hal_major_version
+ self._hal_minor_version = parent.parent.hal_minor_version
+ else:
+ self._hal_major_version = 3
+ self._hal_minor_version = 2
+ else:
+ self._hal_major_version = int(hal_version.partition('.')[0])
+ self._hal_minor_version = int(hal_version.partition('.')[2])
@property
def id(self):
@@ -1032,6 +1044,14 @@
def ndk_notes(self):
return self._ndk_notes
+ @property
+ def hal_major_version(self):
+ return self._hal_major_version
+
+ @property
+ def hal_minor_version(self):
+ return self._hal_minor_version
+
def _get_children(self):
return None
@@ -1046,14 +1066,13 @@
non-empty id property.
"""
def __init__(self, parent, values, ids={}, deprecateds=[],
- optionals=[], hiddens=[], notes={}, sdk_notes={}, ndk_notes={}, ndk_hiddens=[]):
- self._values = \
- [ EnumValue(val, self, ids.get(val), val in deprecateds, val in optionals, val in hiddens, \
- notes.get(val), sdk_notes.get(val), ndk_notes.get(val), val in ndk_hiddens) \
- for val in values ]
-
+ optionals=[], hiddens=[], notes={}, sdk_notes={}, ndk_notes={}, ndk_hiddens=[], hal_versions={}):
self._parent = parent
self._name = None
+ self._values = \
+ [ EnumValue(val, self, ids.get(val), val in deprecateds, val in optionals, val in hiddens, \
+ notes.get(val), sdk_notes.get(val), ndk_notes.get(val), val in ndk_hiddens, hal_versions.get(val)) \
+ for val in values ]
@property
def values(self):
@@ -1063,6 +1082,9 @@
def has_values_with_id(self):
return bool(any(i for i in self.values if i.id))
+ def has_new_values_added_in_hal_version(self, hal_major_version, hal_minor_version):
+ return bool(any(i for i in self.values if i.hal_major_version == hal_major_version and i.hal_minor_version == hal_minor_version))
+
def _get_children(self):
return (i for i in self._values)
@@ -1147,6 +1169,7 @@
enum_optionals: A list of optional enum values, e.g. ['OFF']
enum_notes: A dictionary of value->notes strings.
enum_ids: A dictionary of value->id strings.
+ enum_hal_versions: A dictionary of value->hal version strings
Args (optional):
description: A string with a description of the entry.
@@ -1301,6 +1324,12 @@
def enum(self):
return self._enum
+ def has_new_values_added_in_hal_version(self, hal_major_version, hal_minor_version):
+ if self._enum is not None:
+ return self._enum.has_new_values_added_in_hal_version(hal_major_version,hal_minor_version)
+ else:
+ return False
+
def _get_children(self):
if self.enum:
yield self.enum
@@ -1342,6 +1371,8 @@
enum_sdk_notes = kwargs.get('enum_sdk_notes') # { value => sdk_notes }
enum_ndk_notes = kwargs.get('enum_ndk_notes') # { value => ndk_notes }
enum_ids = kwargs.get('enum_ids') # { value => notes }
+ enum_hal_versions = kwargs.get('enum_hal_versions') # { value => hal_versions }
+
self._tuple_values = kwargs.get('tuple_values')
self._description = kwargs.get('description')
@@ -1360,7 +1391,7 @@
if kwargs.get('enum', False):
self._enum = Enum(self, enum_values, enum_ids, enum_deprecateds, enum_optionals,
- enum_hiddens, enum_notes, enum_sdk_notes, enum_ndk_notes, enum_ndk_hiddens)
+ enum_hiddens, enum_notes, enum_sdk_notes, enum_ndk_notes, enum_ndk_hiddens, enum_hal_versions)
else:
self._enum = None
diff --git a/camera/docs/metadata_parser_xml.py b/camera/docs/metadata_parser_xml.py
index 81a7ec9..1daf02b 100755
--- a/camera/docs/metadata_parser_xml.py
+++ b/camera/docs/metadata_parser_xml.py
@@ -217,6 +217,7 @@
enum_sdk_notes = {}
enum_ndk_notes = {}
enum_ids = {}
+ enum_hal_versions = {}
for value in entry.enum.find_all('value'):
value_body = self._strings_no_nl(value)
@@ -249,6 +250,9 @@
if value.attrs.get('id') is not None:
enum_ids[value_body] = value['id']
+ if value.attrs.get('hal_version') is not None:
+ enum_hal_versions[value_body] = value['hal_version']
+
d['enum_values'] = enum_values
d['enum_deprecateds'] = enum_deprecateds
d['enum_optionals'] = enum_optionals
@@ -258,6 +262,7 @@
d['enum_sdk_notes'] = enum_sdk_notes
d['enum_ndk_notes'] = enum_ndk_notes
d['enum_ids'] = enum_ids
+ d['enum_hal_versions'] = enum_hal_versions
d['enum'] = True
#
diff --git a/camera/docs/metadata_template.mako b/camera/docs/metadata_template.mako
index f45bfba..fc909c1 100644
--- a/camera/docs/metadata_template.mako
+++ b/camera/docs/metadata_template.mako
@@ -157,6 +157,9 @@
% if value.id is not None:
id="${value.id}"
% endif
+ % if not (value.hal_major_version == prop.hal_major_version and value.hal_minor_version == prop.hal_minor_version):
+ hal_version=${"%d.%d" % (value.hal_major_version, value.hal_minor_version)}
+ % endif
>${value.name}
% if value.notes is not None:
<notes>${value.notes}</notes>
diff --git a/camera/include/system/camera_metadata_tags.h b/camera/include/system/camera_metadata_tags.h
index 4776b5e..4c8e8df 100644
--- a/camera/include/system/camera_metadata_tags.h
+++ b/camera/include/system/camera_metadata_tags.h
@@ -423,520 +423,521 @@
// ANDROID_COLOR_CORRECTION_MODE
typedef enum camera_metadata_enum_android_color_correction_mode {
- ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX,
- ANDROID_COLOR_CORRECTION_MODE_FAST,
- ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY,
+ ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX , // HIDL v3.2
+ ANDROID_COLOR_CORRECTION_MODE_FAST , // HIDL v3.2
+ ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY , // HIDL v3.2
} camera_metadata_enum_android_color_correction_mode_t;
// ANDROID_COLOR_CORRECTION_ABERRATION_MODE
typedef enum camera_metadata_enum_android_color_correction_aberration_mode {
- ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF,
- ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST,
- ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY,
+ ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF , // HIDL v3.2
+ ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST , // HIDL v3.2
+ ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY , // HIDL v3.2
} camera_metadata_enum_android_color_correction_aberration_mode_t;
// ANDROID_CONTROL_AE_ANTIBANDING_MODE
typedef enum camera_metadata_enum_android_control_ae_antibanding_mode {
- ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF,
- ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ,
- ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ,
- ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO,
+ ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ , // HIDL v3.2
+ ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ , // HIDL v3.2
+ ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO , // HIDL v3.2
} camera_metadata_enum_android_control_ae_antibanding_mode_t;
// ANDROID_CONTROL_AE_LOCK
typedef enum camera_metadata_enum_android_control_ae_lock {
- ANDROID_CONTROL_AE_LOCK_OFF,
- ANDROID_CONTROL_AE_LOCK_ON,
+ ANDROID_CONTROL_AE_LOCK_OFF , // HIDL v3.2
+ ANDROID_CONTROL_AE_LOCK_ON , // HIDL v3.2
} camera_metadata_enum_android_control_ae_lock_t;
// ANDROID_CONTROL_AE_MODE
typedef enum camera_metadata_enum_android_control_ae_mode {
- ANDROID_CONTROL_AE_MODE_OFF,
- ANDROID_CONTROL_AE_MODE_ON,
- ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH,
- ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH,
- ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE,
+ ANDROID_CONTROL_AE_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_AE_MODE_ON , // HIDL v3.2
+ ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH , // HIDL v3.2
+ ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH , // HIDL v3.2
+ ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE , // HIDL v3.2
} camera_metadata_enum_android_control_ae_mode_t;
// ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER
typedef enum camera_metadata_enum_android_control_ae_precapture_trigger {
- ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE,
- ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START,
- ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL,
+ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE , // HIDL v3.2
+ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START , // HIDL v3.2
+ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL , // HIDL v3.2
} camera_metadata_enum_android_control_ae_precapture_trigger_t;
// ANDROID_CONTROL_AF_MODE
typedef enum camera_metadata_enum_android_control_af_mode {
- ANDROID_CONTROL_AF_MODE_OFF,
- ANDROID_CONTROL_AF_MODE_AUTO,
- ANDROID_CONTROL_AF_MODE_MACRO,
- ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO,
- ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE,
- ANDROID_CONTROL_AF_MODE_EDOF,
+ ANDROID_CONTROL_AF_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_AF_MODE_AUTO , // HIDL v3.2
+ ANDROID_CONTROL_AF_MODE_MACRO , // HIDL v3.2
+ ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO , // HIDL v3.2
+ ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE , // HIDL v3.2
+ ANDROID_CONTROL_AF_MODE_EDOF , // HIDL v3.2
} camera_metadata_enum_android_control_af_mode_t;
// ANDROID_CONTROL_AF_TRIGGER
typedef enum camera_metadata_enum_android_control_af_trigger {
- ANDROID_CONTROL_AF_TRIGGER_IDLE,
- ANDROID_CONTROL_AF_TRIGGER_START,
- ANDROID_CONTROL_AF_TRIGGER_CANCEL,
+ ANDROID_CONTROL_AF_TRIGGER_IDLE , // HIDL v3.2
+ ANDROID_CONTROL_AF_TRIGGER_START , // HIDL v3.2
+ ANDROID_CONTROL_AF_TRIGGER_CANCEL , // HIDL v3.2
} camera_metadata_enum_android_control_af_trigger_t;
// ANDROID_CONTROL_AWB_LOCK
typedef enum camera_metadata_enum_android_control_awb_lock {
- ANDROID_CONTROL_AWB_LOCK_OFF,
- ANDROID_CONTROL_AWB_LOCK_ON,
+ ANDROID_CONTROL_AWB_LOCK_OFF , // HIDL v3.2
+ ANDROID_CONTROL_AWB_LOCK_ON , // HIDL v3.2
} camera_metadata_enum_android_control_awb_lock_t;
// ANDROID_CONTROL_AWB_MODE
typedef enum camera_metadata_enum_android_control_awb_mode {
- ANDROID_CONTROL_AWB_MODE_OFF,
- ANDROID_CONTROL_AWB_MODE_AUTO,
- ANDROID_CONTROL_AWB_MODE_INCANDESCENT,
- ANDROID_CONTROL_AWB_MODE_FLUORESCENT,
- ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT,
- ANDROID_CONTROL_AWB_MODE_DAYLIGHT,
- ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT,
- ANDROID_CONTROL_AWB_MODE_TWILIGHT,
- ANDROID_CONTROL_AWB_MODE_SHADE,
+ ANDROID_CONTROL_AWB_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_AUTO , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_INCANDESCENT , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_FLUORESCENT , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_DAYLIGHT , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_TWILIGHT , // HIDL v3.2
+ ANDROID_CONTROL_AWB_MODE_SHADE , // HIDL v3.2
} camera_metadata_enum_android_control_awb_mode_t;
// ANDROID_CONTROL_CAPTURE_INTENT
typedef enum camera_metadata_enum_android_control_capture_intent {
- ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM,
- ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW,
- ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE,
- ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD,
- ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT,
- ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG,
- ANDROID_CONTROL_CAPTURE_INTENT_MANUAL,
+ ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM , // HIDL v3.2
+ ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW , // HIDL v3.2
+ ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE , // HIDL v3.2
+ ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD , // HIDL v3.2
+ ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT , // HIDL v3.2
+ ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG , // HIDL v3.2
+ ANDROID_CONTROL_CAPTURE_INTENT_MANUAL , // HIDL v3.2
} camera_metadata_enum_android_control_capture_intent_t;
// ANDROID_CONTROL_EFFECT_MODE
typedef enum camera_metadata_enum_android_control_effect_mode {
- ANDROID_CONTROL_EFFECT_MODE_OFF,
- ANDROID_CONTROL_EFFECT_MODE_MONO,
- ANDROID_CONTROL_EFFECT_MODE_NEGATIVE,
- ANDROID_CONTROL_EFFECT_MODE_SOLARIZE,
- ANDROID_CONTROL_EFFECT_MODE_SEPIA,
- ANDROID_CONTROL_EFFECT_MODE_POSTERIZE,
- ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD,
- ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD,
- ANDROID_CONTROL_EFFECT_MODE_AQUA,
+ ANDROID_CONTROL_EFFECT_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_MONO , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_NEGATIVE , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_SOLARIZE , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_SEPIA , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_POSTERIZE , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD , // HIDL v3.2
+ ANDROID_CONTROL_EFFECT_MODE_AQUA , // HIDL v3.2
} camera_metadata_enum_android_control_effect_mode_t;
// ANDROID_CONTROL_MODE
typedef enum camera_metadata_enum_android_control_mode {
- ANDROID_CONTROL_MODE_OFF,
- ANDROID_CONTROL_MODE_AUTO,
- ANDROID_CONTROL_MODE_USE_SCENE_MODE,
- ANDROID_CONTROL_MODE_OFF_KEEP_STATE,
+ ANDROID_CONTROL_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_MODE_AUTO , // HIDL v3.2
+ ANDROID_CONTROL_MODE_USE_SCENE_MODE , // HIDL v3.2
+ ANDROID_CONTROL_MODE_OFF_KEEP_STATE , // HIDL v3.2
} camera_metadata_enum_android_control_mode_t;
// ANDROID_CONTROL_SCENE_MODE
typedef enum camera_metadata_enum_android_control_scene_mode {
- ANDROID_CONTROL_SCENE_MODE_DISABLED = 0,
- ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY,
- ANDROID_CONTROL_SCENE_MODE_ACTION,
- ANDROID_CONTROL_SCENE_MODE_PORTRAIT,
- ANDROID_CONTROL_SCENE_MODE_LANDSCAPE,
- ANDROID_CONTROL_SCENE_MODE_NIGHT,
- ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT,
- ANDROID_CONTROL_SCENE_MODE_THEATRE,
- ANDROID_CONTROL_SCENE_MODE_BEACH,
- ANDROID_CONTROL_SCENE_MODE_SNOW,
- ANDROID_CONTROL_SCENE_MODE_SUNSET,
- ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO,
- ANDROID_CONTROL_SCENE_MODE_FIREWORKS,
- ANDROID_CONTROL_SCENE_MODE_SPORTS,
- ANDROID_CONTROL_SCENE_MODE_PARTY,
- ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT,
- ANDROID_CONTROL_SCENE_MODE_BARCODE,
- ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO,
- ANDROID_CONTROL_SCENE_MODE_HDR,
- ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT,
- ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START = 100,
- ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END = 127,
+ ANDROID_CONTROL_SCENE_MODE_DISABLED = 0, // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_ACTION , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_PORTRAIT , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_LANDSCAPE , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_NIGHT , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_THEATRE , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_BEACH , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_SNOW , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_SUNSET , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_FIREWORKS , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_SPORTS , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_PARTY , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_BARCODE , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_HDR , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT , // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START = 100, // HIDL v3.2
+ ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END = 127, // HIDL v3.2
} camera_metadata_enum_android_control_scene_mode_t;
// ANDROID_CONTROL_VIDEO_STABILIZATION_MODE
typedef enum camera_metadata_enum_android_control_video_stabilization_mode {
- ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF,
- ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON,
+ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF , // HIDL v3.2
+ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON , // HIDL v3.2
} camera_metadata_enum_android_control_video_stabilization_mode_t;
// ANDROID_CONTROL_AE_STATE
typedef enum camera_metadata_enum_android_control_ae_state {
- ANDROID_CONTROL_AE_STATE_INACTIVE,
- ANDROID_CONTROL_AE_STATE_SEARCHING,
- ANDROID_CONTROL_AE_STATE_CONVERGED,
- ANDROID_CONTROL_AE_STATE_LOCKED,
- ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED,
- ANDROID_CONTROL_AE_STATE_PRECAPTURE,
+ ANDROID_CONTROL_AE_STATE_INACTIVE , // HIDL v3.2
+ ANDROID_CONTROL_AE_STATE_SEARCHING , // HIDL v3.2
+ ANDROID_CONTROL_AE_STATE_CONVERGED , // HIDL v3.2
+ ANDROID_CONTROL_AE_STATE_LOCKED , // HIDL v3.2
+ ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED , // HIDL v3.2
+ ANDROID_CONTROL_AE_STATE_PRECAPTURE , // HIDL v3.2
} camera_metadata_enum_android_control_ae_state_t;
// ANDROID_CONTROL_AF_STATE
typedef enum camera_metadata_enum_android_control_af_state {
- ANDROID_CONTROL_AF_STATE_INACTIVE,
- ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN,
- ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED,
- ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN,
- ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED,
- ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED,
- ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED,
+ ANDROID_CONTROL_AF_STATE_INACTIVE , // HIDL v3.2
+ ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN , // HIDL v3.2
+ ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED , // HIDL v3.2
+ ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN , // HIDL v3.2
+ ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED , // HIDL v3.2
+ ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED , // HIDL v3.2
+ ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED , // HIDL v3.2
} camera_metadata_enum_android_control_af_state_t;
// ANDROID_CONTROL_AWB_STATE
typedef enum camera_metadata_enum_android_control_awb_state {
- ANDROID_CONTROL_AWB_STATE_INACTIVE,
- ANDROID_CONTROL_AWB_STATE_SEARCHING,
- ANDROID_CONTROL_AWB_STATE_CONVERGED,
- ANDROID_CONTROL_AWB_STATE_LOCKED,
+ ANDROID_CONTROL_AWB_STATE_INACTIVE , // HIDL v3.2
+ ANDROID_CONTROL_AWB_STATE_SEARCHING , // HIDL v3.2
+ ANDROID_CONTROL_AWB_STATE_CONVERGED , // HIDL v3.2
+ ANDROID_CONTROL_AWB_STATE_LOCKED , // HIDL v3.2
} camera_metadata_enum_android_control_awb_state_t;
// ANDROID_CONTROL_AE_LOCK_AVAILABLE
typedef enum camera_metadata_enum_android_control_ae_lock_available {
- ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE,
- ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE,
+ ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE , // HIDL v3.2
+ ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE , // HIDL v3.2
} camera_metadata_enum_android_control_ae_lock_available_t;
// ANDROID_CONTROL_AWB_LOCK_AVAILABLE
typedef enum camera_metadata_enum_android_control_awb_lock_available {
- ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE,
- ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE,
+ ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE , // HIDL v3.2
+ ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE , // HIDL v3.2
} camera_metadata_enum_android_control_awb_lock_available_t;
// ANDROID_CONTROL_ENABLE_ZSL
typedef enum camera_metadata_enum_android_control_enable_zsl {
- ANDROID_CONTROL_ENABLE_ZSL_FALSE,
- ANDROID_CONTROL_ENABLE_ZSL_TRUE,
+ ANDROID_CONTROL_ENABLE_ZSL_FALSE , // HIDL v3.2
+ ANDROID_CONTROL_ENABLE_ZSL_TRUE , // HIDL v3.2
} camera_metadata_enum_android_control_enable_zsl_t;
// ANDROID_CONTROL_AF_SCENE_CHANGE
typedef enum camera_metadata_enum_android_control_af_scene_change {
- ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED,
- ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED,
+ ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED , // HIDL v3.3
+ ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED , // HIDL v3.3
} camera_metadata_enum_android_control_af_scene_change_t;
// ANDROID_DEMOSAIC_MODE
typedef enum camera_metadata_enum_android_demosaic_mode {
- ANDROID_DEMOSAIC_MODE_FAST,
- ANDROID_DEMOSAIC_MODE_HIGH_QUALITY,
+ ANDROID_DEMOSAIC_MODE_FAST , // HIDL v3.2
+ ANDROID_DEMOSAIC_MODE_HIGH_QUALITY , // HIDL v3.2
} camera_metadata_enum_android_demosaic_mode_t;
// ANDROID_EDGE_MODE
typedef enum camera_metadata_enum_android_edge_mode {
- ANDROID_EDGE_MODE_OFF,
- ANDROID_EDGE_MODE_FAST,
- ANDROID_EDGE_MODE_HIGH_QUALITY,
- ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG,
+ ANDROID_EDGE_MODE_OFF , // HIDL v3.2
+ ANDROID_EDGE_MODE_FAST , // HIDL v3.2
+ ANDROID_EDGE_MODE_HIGH_QUALITY , // HIDL v3.2
+ ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG , // HIDL v3.2
} camera_metadata_enum_android_edge_mode_t;
// ANDROID_FLASH_MODE
typedef enum camera_metadata_enum_android_flash_mode {
- ANDROID_FLASH_MODE_OFF,
- ANDROID_FLASH_MODE_SINGLE,
- ANDROID_FLASH_MODE_TORCH,
+ ANDROID_FLASH_MODE_OFF , // HIDL v3.2
+ ANDROID_FLASH_MODE_SINGLE , // HIDL v3.2
+ ANDROID_FLASH_MODE_TORCH , // HIDL v3.2
} camera_metadata_enum_android_flash_mode_t;
// ANDROID_FLASH_STATE
typedef enum camera_metadata_enum_android_flash_state {
- ANDROID_FLASH_STATE_UNAVAILABLE,
- ANDROID_FLASH_STATE_CHARGING,
- ANDROID_FLASH_STATE_READY,
- ANDROID_FLASH_STATE_FIRED,
- ANDROID_FLASH_STATE_PARTIAL,
+ ANDROID_FLASH_STATE_UNAVAILABLE , // HIDL v3.2
+ ANDROID_FLASH_STATE_CHARGING , // HIDL v3.2
+ ANDROID_FLASH_STATE_READY , // HIDL v3.2
+ ANDROID_FLASH_STATE_FIRED , // HIDL v3.2
+ ANDROID_FLASH_STATE_PARTIAL , // HIDL v3.2
} camera_metadata_enum_android_flash_state_t;
// ANDROID_FLASH_INFO_AVAILABLE
typedef enum camera_metadata_enum_android_flash_info_available {
- ANDROID_FLASH_INFO_AVAILABLE_FALSE,
- ANDROID_FLASH_INFO_AVAILABLE_TRUE,
+ ANDROID_FLASH_INFO_AVAILABLE_FALSE , // HIDL v3.2
+ ANDROID_FLASH_INFO_AVAILABLE_TRUE , // HIDL v3.2
} camera_metadata_enum_android_flash_info_available_t;
// ANDROID_HOT_PIXEL_MODE
typedef enum camera_metadata_enum_android_hot_pixel_mode {
- ANDROID_HOT_PIXEL_MODE_OFF,
- ANDROID_HOT_PIXEL_MODE_FAST,
- ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY,
+ ANDROID_HOT_PIXEL_MODE_OFF , // HIDL v3.2
+ ANDROID_HOT_PIXEL_MODE_FAST , // HIDL v3.2
+ ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY , // HIDL v3.2
} camera_metadata_enum_android_hot_pixel_mode_t;
// ANDROID_LENS_OPTICAL_STABILIZATION_MODE
typedef enum camera_metadata_enum_android_lens_optical_stabilization_mode {
- ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF,
- ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON,
+ ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF , // HIDL v3.2
+ ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON , // HIDL v3.2
} camera_metadata_enum_android_lens_optical_stabilization_mode_t;
// ANDROID_LENS_FACING
typedef enum camera_metadata_enum_android_lens_facing {
- ANDROID_LENS_FACING_FRONT,
- ANDROID_LENS_FACING_BACK,
- ANDROID_LENS_FACING_EXTERNAL,
+ ANDROID_LENS_FACING_FRONT , // HIDL v3.2
+ ANDROID_LENS_FACING_BACK , // HIDL v3.2
+ ANDROID_LENS_FACING_EXTERNAL , // HIDL v3.2
} camera_metadata_enum_android_lens_facing_t;
// ANDROID_LENS_STATE
typedef enum camera_metadata_enum_android_lens_state {
- ANDROID_LENS_STATE_STATIONARY,
- ANDROID_LENS_STATE_MOVING,
+ ANDROID_LENS_STATE_STATIONARY , // HIDL v3.2
+ ANDROID_LENS_STATE_MOVING , // HIDL v3.2
} camera_metadata_enum_android_lens_state_t;
// ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION
typedef enum camera_metadata_enum_android_lens_info_focus_distance_calibration {
- ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED,
- ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE,
- ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED,
+ ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED , // HIDL v3.2
+ ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE , // HIDL v3.2
+ ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED , // HIDL v3.2
} camera_metadata_enum_android_lens_info_focus_distance_calibration_t;
// ANDROID_NOISE_REDUCTION_MODE
typedef enum camera_metadata_enum_android_noise_reduction_mode {
- ANDROID_NOISE_REDUCTION_MODE_OFF,
- ANDROID_NOISE_REDUCTION_MODE_FAST,
- ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY,
- ANDROID_NOISE_REDUCTION_MODE_MINIMAL,
- ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG,
+ ANDROID_NOISE_REDUCTION_MODE_OFF , // HIDL v3.2
+ ANDROID_NOISE_REDUCTION_MODE_FAST , // HIDL v3.2
+ ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY , // HIDL v3.2
+ ANDROID_NOISE_REDUCTION_MODE_MINIMAL , // HIDL v3.2
+ ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG , // HIDL v3.2
} camera_metadata_enum_android_noise_reduction_mode_t;
// ANDROID_QUIRKS_PARTIAL_RESULT
typedef enum camera_metadata_enum_android_quirks_partial_result {
- ANDROID_QUIRKS_PARTIAL_RESULT_FINAL,
- ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL,
+ ANDROID_QUIRKS_PARTIAL_RESULT_FINAL , // HIDL v3.2
+ ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL , // HIDL v3.2
} camera_metadata_enum_android_quirks_partial_result_t;
// ANDROID_REQUEST_METADATA_MODE
typedef enum camera_metadata_enum_android_request_metadata_mode {
- ANDROID_REQUEST_METADATA_MODE_NONE,
- ANDROID_REQUEST_METADATA_MODE_FULL,
+ ANDROID_REQUEST_METADATA_MODE_NONE , // HIDL v3.2
+ ANDROID_REQUEST_METADATA_MODE_FULL , // HIDL v3.2
} camera_metadata_enum_android_request_metadata_mode_t;
// ANDROID_REQUEST_TYPE
typedef enum camera_metadata_enum_android_request_type {
- ANDROID_REQUEST_TYPE_CAPTURE,
- ANDROID_REQUEST_TYPE_REPROCESS,
+ ANDROID_REQUEST_TYPE_CAPTURE , // HIDL v3.2
+ ANDROID_REQUEST_TYPE_REPROCESS , // HIDL v3.2
} camera_metadata_enum_android_request_type_t;
// ANDROID_REQUEST_AVAILABLE_CAPABILITIES
typedef enum camera_metadata_enum_android_request_available_capabilities {
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT,
- ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO,
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT , // HIDL v3.2
+ ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
+ , // HIDL v3.2
} camera_metadata_enum_android_request_available_capabilities_t;
// ANDROID_SCALER_AVAILABLE_FORMATS
typedef enum camera_metadata_enum_android_scaler_available_formats {
- ANDROID_SCALER_AVAILABLE_FORMATS_RAW16 = 0x20,
- ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE = 0x24,
- ANDROID_SCALER_AVAILABLE_FORMATS_YV12 = 0x32315659,
- ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP = 0x11,
- ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED = 0x22,
- ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 = 0x23,
- ANDROID_SCALER_AVAILABLE_FORMATS_BLOB = 0x21,
+ ANDROID_SCALER_AVAILABLE_FORMATS_RAW16 = 0x20, // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE = 0x24, // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_FORMATS_YV12 = 0x32315659, // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP = 0x11, // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED = 0x22, // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 = 0x23, // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_FORMATS_BLOB = 0x21, // HIDL v3.2
} camera_metadata_enum_android_scaler_available_formats_t;
// ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS
typedef enum camera_metadata_enum_android_scaler_available_stream_configurations {
- ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT,
- ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT,
+ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT , // HIDL v3.2
+ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT , // HIDL v3.2
} camera_metadata_enum_android_scaler_available_stream_configurations_t;
// ANDROID_SCALER_CROPPING_TYPE
typedef enum camera_metadata_enum_android_scaler_cropping_type {
- ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY,
- ANDROID_SCALER_CROPPING_TYPE_FREEFORM,
+ ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY , // HIDL v3.2
+ ANDROID_SCALER_CROPPING_TYPE_FREEFORM , // HIDL v3.2
} camera_metadata_enum_android_scaler_cropping_type_t;
// ANDROID_SENSOR_REFERENCE_ILLUMINANT1
typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55 = 20,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65 = 21,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75 = 22,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50 = 23,
- ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24,
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55 = 20, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65 = 21, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75 = 22, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50 = 23, // HIDL v3.2
+ ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24, // HIDL v3.2
} camera_metadata_enum_android_sensor_reference_illuminant1_t;
// ANDROID_SENSOR_TEST_PATTERN_MODE
typedef enum camera_metadata_enum_android_sensor_test_pattern_mode {
- ANDROID_SENSOR_TEST_PATTERN_MODE_OFF,
- ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR,
- ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS,
- ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY,
- ANDROID_SENSOR_TEST_PATTERN_MODE_PN9,
- ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256,
+ ANDROID_SENSOR_TEST_PATTERN_MODE_OFF , // HIDL v3.2
+ ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR , // HIDL v3.2
+ ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS , // HIDL v3.2
+ ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY , // HIDL v3.2
+ ANDROID_SENSOR_TEST_PATTERN_MODE_PN9 , // HIDL v3.2
+ ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256, // HIDL v3.2
} camera_metadata_enum_android_sensor_test_pattern_mode_t;
// ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
typedef enum camera_metadata_enum_android_sensor_info_color_filter_arrangement {
- ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB,
- ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG,
- ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG,
- ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR,
- ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB,
+ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB , // HIDL v3.2
+ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG , // HIDL v3.2
+ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG , // HIDL v3.2
+ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR , // HIDL v3.2
+ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB , // HIDL v3.2
} camera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
// ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE
typedef enum camera_metadata_enum_android_sensor_info_timestamp_source {
- ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN,
- ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME,
+ ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN , // HIDL v3.2
+ ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME , // HIDL v3.2
} camera_metadata_enum_android_sensor_info_timestamp_source_t;
// ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED
typedef enum camera_metadata_enum_android_sensor_info_lens_shading_applied {
- ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE,
- ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE,
+ ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE , // HIDL v3.2
+ ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE , // HIDL v3.2
} camera_metadata_enum_android_sensor_info_lens_shading_applied_t;
// ANDROID_SHADING_MODE
typedef enum camera_metadata_enum_android_shading_mode {
- ANDROID_SHADING_MODE_OFF,
- ANDROID_SHADING_MODE_FAST,
- ANDROID_SHADING_MODE_HIGH_QUALITY,
+ ANDROID_SHADING_MODE_OFF , // HIDL v3.2
+ ANDROID_SHADING_MODE_FAST , // HIDL v3.2
+ ANDROID_SHADING_MODE_HIGH_QUALITY , // HIDL v3.2
} camera_metadata_enum_android_shading_mode_t;
// ANDROID_STATISTICS_FACE_DETECT_MODE
typedef enum camera_metadata_enum_android_statistics_face_detect_mode {
- ANDROID_STATISTICS_FACE_DETECT_MODE_OFF,
- ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE,
- ANDROID_STATISTICS_FACE_DETECT_MODE_FULL,
+ ANDROID_STATISTICS_FACE_DETECT_MODE_OFF , // HIDL v3.2
+ ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE , // HIDL v3.2
+ ANDROID_STATISTICS_FACE_DETECT_MODE_FULL , // HIDL v3.2
} camera_metadata_enum_android_statistics_face_detect_mode_t;
// ANDROID_STATISTICS_HISTOGRAM_MODE
typedef enum camera_metadata_enum_android_statistics_histogram_mode {
- ANDROID_STATISTICS_HISTOGRAM_MODE_OFF,
- ANDROID_STATISTICS_HISTOGRAM_MODE_ON,
+ ANDROID_STATISTICS_HISTOGRAM_MODE_OFF , // HIDL v3.2
+ ANDROID_STATISTICS_HISTOGRAM_MODE_ON , // HIDL v3.2
} camera_metadata_enum_android_statistics_histogram_mode_t;
// ANDROID_STATISTICS_SHARPNESS_MAP_MODE
typedef enum camera_metadata_enum_android_statistics_sharpness_map_mode {
- ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF,
- ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON,
+ ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF , // HIDL v3.2
+ ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON , // HIDL v3.2
} camera_metadata_enum_android_statistics_sharpness_map_mode_t;
// ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE
typedef enum camera_metadata_enum_android_statistics_hot_pixel_map_mode {
- ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF,
- ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON,
+ ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF , // HIDL v3.2
+ ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON , // HIDL v3.2
} camera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
// ANDROID_STATISTICS_SCENE_FLICKER
typedef enum camera_metadata_enum_android_statistics_scene_flicker {
- ANDROID_STATISTICS_SCENE_FLICKER_NONE,
- ANDROID_STATISTICS_SCENE_FLICKER_50HZ,
- ANDROID_STATISTICS_SCENE_FLICKER_60HZ,
+ ANDROID_STATISTICS_SCENE_FLICKER_NONE , // HIDL v3.2
+ ANDROID_STATISTICS_SCENE_FLICKER_50HZ , // HIDL v3.2
+ ANDROID_STATISTICS_SCENE_FLICKER_60HZ , // HIDL v3.2
} camera_metadata_enum_android_statistics_scene_flicker_t;
// ANDROID_STATISTICS_LENS_SHADING_MAP_MODE
typedef enum camera_metadata_enum_android_statistics_lens_shading_map_mode {
- ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF,
- ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON,
+ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF , // HIDL v3.2
+ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON , // HIDL v3.2
} camera_metadata_enum_android_statistics_lens_shading_map_mode_t;
// ANDROID_TONEMAP_MODE
typedef enum camera_metadata_enum_android_tonemap_mode {
- ANDROID_TONEMAP_MODE_CONTRAST_CURVE,
- ANDROID_TONEMAP_MODE_FAST,
- ANDROID_TONEMAP_MODE_HIGH_QUALITY,
- ANDROID_TONEMAP_MODE_GAMMA_VALUE,
- ANDROID_TONEMAP_MODE_PRESET_CURVE,
+ ANDROID_TONEMAP_MODE_CONTRAST_CURVE , // HIDL v3.2
+ ANDROID_TONEMAP_MODE_FAST , // HIDL v3.2
+ ANDROID_TONEMAP_MODE_HIGH_QUALITY , // HIDL v3.2
+ ANDROID_TONEMAP_MODE_GAMMA_VALUE , // HIDL v3.2
+ ANDROID_TONEMAP_MODE_PRESET_CURVE , // HIDL v3.2
} camera_metadata_enum_android_tonemap_mode_t;
// ANDROID_TONEMAP_PRESET_CURVE
typedef enum camera_metadata_enum_android_tonemap_preset_curve {
- ANDROID_TONEMAP_PRESET_CURVE_SRGB,
- ANDROID_TONEMAP_PRESET_CURVE_REC709,
+ ANDROID_TONEMAP_PRESET_CURVE_SRGB , // HIDL v3.2
+ ANDROID_TONEMAP_PRESET_CURVE_REC709 , // HIDL v3.2
} camera_metadata_enum_android_tonemap_preset_curve_t;
// ANDROID_LED_TRANSMIT
typedef enum camera_metadata_enum_android_led_transmit {
- ANDROID_LED_TRANSMIT_OFF,
- ANDROID_LED_TRANSMIT_ON,
+ ANDROID_LED_TRANSMIT_OFF , // HIDL v3.2
+ ANDROID_LED_TRANSMIT_ON , // HIDL v3.2
} camera_metadata_enum_android_led_transmit_t;
// ANDROID_LED_AVAILABLE_LEDS
typedef enum camera_metadata_enum_android_led_available_leds {
- ANDROID_LED_AVAILABLE_LEDS_TRANSMIT,
+ ANDROID_LED_AVAILABLE_LEDS_TRANSMIT , // HIDL v3.2
} camera_metadata_enum_android_led_available_leds_t;
// ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL
typedef enum camera_metadata_enum_android_info_supported_hardware_level {
- ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
- ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
- ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY,
- ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3,
+ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED , // HIDL v3.2
+ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL , // HIDL v3.2
+ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY , // HIDL v3.2
+ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3 , // HIDL v3.2
} camera_metadata_enum_android_info_supported_hardware_level_t;
// ANDROID_BLACK_LEVEL_LOCK
typedef enum camera_metadata_enum_android_black_level_lock {
- ANDROID_BLACK_LEVEL_LOCK_OFF,
- ANDROID_BLACK_LEVEL_LOCK_ON,
+ ANDROID_BLACK_LEVEL_LOCK_OFF , // HIDL v3.2
+ ANDROID_BLACK_LEVEL_LOCK_ON , // HIDL v3.2
} camera_metadata_enum_android_black_level_lock_t;
// ANDROID_SYNC_FRAME_NUMBER
typedef enum camera_metadata_enum_android_sync_frame_number {
- ANDROID_SYNC_FRAME_NUMBER_CONVERGING = -1,
- ANDROID_SYNC_FRAME_NUMBER_UNKNOWN = -2,
+ ANDROID_SYNC_FRAME_NUMBER_CONVERGING = -1, // HIDL v3.2
+ ANDROID_SYNC_FRAME_NUMBER_UNKNOWN = -2, // HIDL v3.2
} camera_metadata_enum_android_sync_frame_number_t;
// ANDROID_SYNC_MAX_LATENCY
typedef enum camera_metadata_enum_android_sync_max_latency {
- ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0,
- ANDROID_SYNC_MAX_LATENCY_UNKNOWN = -1,
+ ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0, // HIDL v3.2
+ ANDROID_SYNC_MAX_LATENCY_UNKNOWN = -1, // HIDL v3.2
} camera_metadata_enum_android_sync_max_latency_t;
// ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS
typedef enum camera_metadata_enum_android_depth_available_depth_stream_configurations {
- ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT,
- ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT,
+ ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT , // HIDL v3.2
+ ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT , // HIDL v3.2
} camera_metadata_enum_android_depth_available_depth_stream_configurations_t;
// ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE
typedef enum camera_metadata_enum_android_depth_depth_is_exclusive {
- ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE,
- ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE,
+ ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE , // HIDL v3.2
+ ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE , // HIDL v3.2
} camera_metadata_enum_android_depth_depth_is_exclusive_t;