camera_metadata: Add visibility support, and a HAL2 tag
- Add a visibility property which controls whether a tag is available
only to the system, hidden in managed code, or public in managed code.
- Add a HAL2 tag to indicate HAL2.x-only tags
- Fix output/inputStream tags to be arrays.
Change-Id: I856d0b1bf413eefd58914e5b85b08331a4bf4536
diff --git a/camera/docs/CameraMetadataKeys.mako b/camera/docs/CameraMetadataKeys.mako
index 18af316..1c8d47c 100644
--- a/camera/docs/CameraMetadataKeys.mako
+++ b/camera/docs/CameraMetadataKeys.mako
@@ -42,6 +42,11 @@
##
## Function to generate an enum
<%def name="generate_enum(entry)">
+ % if entry.applied_visibility == 'hidden':
+ /**
+ * @hide
+ */
+ %endif
public static final class ${entry.get_name_minimal() | pascal_case}Key extends Key<${jtype(entry)}> {
public enum Enum {
% for value,last in enumerate_with_last(entry.enum.values):
@@ -75,37 +80,65 @@
public final class ${java_name}Keys {
% for outer_namespace in metadata.outer_namespaces: ## assumes single 'android' namespace
% for section in outer_namespace.sections:
- % if section.find_first(lambda x: isinstance(x, metadata_model.Entry) and x.kind == xml_name):
+ % if section.find_first(lambda x: isinstance(x, metadata_model.Entry) and x.kind == xml_name) and \
+ any_visible(section, xml_name, ('public','hidden') ):
+ % if not any_visible(section, xml_name, ('public')):
+ /**
+ * @hide
+ */
+ %endif
public static final class ${section.name | pascal_case} {
% for inner_namespace in get_children_by_filtering_kind(section, xml_name, 'namespaces'):
## We only support 1 level of inner namespace, i.e. android.a.b and android.a.b.c works, but not android.a.b.c.d
## If we need to support more, we should use a recursive function here instead.. but the indentation gets trickier.
public static final class ${inner_namespace.name| pascal_case} {
- % for entry in inner_namespace.merged_entries:
+ % for entry in filter_visibility(inner_namespace.merged_entries, ('hidden','public')):
% if entry.enum:
${generate_enum(entry)}
+ % if entry.applied_visibility == 'hidden':
+ /**
+ * @hide
+ */
+ %endif
public static final Key<${jtype(entry)}> ${entry.get_name_minimal() | csym} =
new ${entry.get_name_minimal() | pascal_case}Key("${entry.name}");
% else:
+ % if entry.applied_visibility == 'hidden':
+ /**
+ * @hide
+ */
+ %endif
public static final Key<${jtype(entry)}> ${entry.get_name_minimal() | csym} =
new Key<${jtype(entry)}>("${entry.name}", ${jclass(entry)});
% endif
% endfor
}
% endfor
-
- % for entry in get_children_by_filtering_kind(section, xml_name, 'merged_entries'):
+ % for entry in filter_visibility( \
+ get_children_by_filtering_kind(section, xml_name, 'merged_entries'), \
+ ('hidden', 'public')):
% if entry.enum:
${generate_enum(entry)}
+ % if entry.applied_visibility == 'hidden':
+ /**
+ * @hide
+ */
+ %endif
public static final Key<${jtype(entry)}> ${entry.get_name_minimal() | csym} =
new ${entry.get_name_minimal() | pascal_case}Key("${entry.name}");
% else:
+ % if entry.applied_visibility == 'hidden':
+ /**
+ * @hide
+ */
+ %endif
public static final Key<${jtype(entry)}> ${entry.get_name_minimal() | csym} =
new Key<${jtype(entry)}>("${entry.name}", ${jclass(entry)});
% endif
% endfor
}
+
% endif
% endfor
% endfor
diff --git a/camera/docs/camera_metadata_tags.mako b/camera/docs/camera_metadata_tags.mako
index 2bffe40..105f7e1 100644
--- a/camera/docs/camera_metadata_tags.mako
+++ b/camera/docs/camera_metadata_tags.mako
@@ -27,6 +27,18 @@
* Generated automatically from camera_metadata_tags.mako
*/
+<%!
+ def annotated_type(entry):
+ if entry.enum:
+ type = 'enum'
+ else:
+ type = entry.type
+ if entry.container == 'array':
+ type += '[]'
+
+ return type
+%>\
+\
/** TODO: Nearly every enum in this file needs a description */
/**
@@ -65,9 +77,10 @@
% for sec in find_all_sections(metadata):
% for idx,entry in enumerate(find_unique_entries(sec)):
% if idx == 0:
- ${entry.name | csym,ljust(30)} = ${path_name(find_parent_section(entry)) | csym}_START,
+ ${entry.name + " = " | csym,ljust(50)}// ${annotated_type(entry) | ljust(12)} | ${entry.applied_visibility}
+ ${path_name(find_parent_section(entry)) | csym}_START,
% else:
- ${entry.name | csym},
+ ${entry.name + "," | csym,ljust(50)}// ${annotated_type(entry) | ljust(12)} | ${entry.applied_visibility}
% endif
% endfor
${path_name(sec) | csym}_END,
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 210e9d8..c270b61 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -17,7 +17,7 @@
<head>
<!-- automatically generated from html.mako. do NOT edit directly -->
<meta charset="utf-8" />
- <title>Android Camera HAL2.0 Properties</title>
+ <title>Android Camera HAL3.0 Properties</title>
<style type="text/css">
.section { font-size: 1.5em; font-weight: bold; background-color: beige; padding: 0.5em 0em 0.5em 0.1em }
.kind { font-size: 1.2em; font-weight: bold; padding-left: 0.5em; background-color: gray }
@@ -31,6 +31,7 @@
.th_tags { width: 5% }
.th_notes { width: 30% }
.th_type { width: 20% }
+ .th_visibility { width: 10% }
td { font-size: 0.9em; }
/* hide the first thead, we need it there only to enforce column sizes */
@@ -38,6 +39,7 @@
/* Entry flair */
.entry_name { font-family: monospace; font-style: italic; }
+ .entry_visibility { text-align: center; }
/* Entry type flair */
.entry_type_name { color: darkgreen; font-weight: bold; }
@@ -75,7 +77,7 @@
<body>
- <h1>Android Camera HAL2.0 Properties</h1>
+ <h1>Android Camera HAL3.0 Properties</h1>
<h2>Table of Contents</h2>
<ul class="toc">
@@ -363,6 +365,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibilty">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -381,6 +384,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -427,6 +431,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
</td>
@@ -460,6 +466,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
A transform matrix to chromatically adapt
pixels in the CIE XYZ (1931) color space from the scene
@@ -497,6 +505,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -543,6 +552,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
</td>
@@ -575,6 +586,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -618,6 +630,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Enum for controlling
antibanding
@@ -650,6 +664,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Adjustment to AE target image
brightness
@@ -700,6 +716,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AE is currently locked to its latest
calculated values
@@ -769,6 +787,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AE is currently updating the sensor
exposure and sensitivity fields
@@ -809,6 +829,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of areas to use for
metering
@@ -859,6 +881,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Range over which fps can be adjusted to
maintain exposure
@@ -908,6 +932,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether the HAL must trigger precapture
metering.<wbr>
@@ -1022,6 +1048,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AF is currently enabled,<wbr> and what
mode it is set to
@@ -1059,6 +1087,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of areas to use for focus
estimation
@@ -1120,6 +1150,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether the HAL must trigger autofocus.<wbr>
</td>
@@ -1173,6 +1205,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AWB is currently locked to its
latest calculated values
@@ -1238,6 +1272,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AWB is currently setting the color
transform fields,<wbr> and what its illumination target
@@ -1278,6 +1314,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of areas to use for illuminant
estimation
@@ -1360,6 +1398,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Information to 3A routines about the purpose
of this capture,<wbr> to help decide optimal 3A
@@ -1433,6 +1473,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether any special color effect is in use.<wbr>
Only used if android.<wbr>control.<wbr>mode != OFF
@@ -1492,6 +1534,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Overall mode of 3A control
routines
@@ -1603,6 +1647,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Which scene mode is active when
android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
@@ -1645,6 +1691,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether video stabilization is
active
@@ -1680,6 +1728,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -1714,6 +1763,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Which set of antibanding modes are
supported
@@ -1749,6 +1800,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Which subset of AE modes is
supported
@@ -1787,6 +1840,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of frame rate ranges supported by the
AE algorithm/<wbr>hardware
@@ -1821,6 +1876,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Maximum and minimum exposure compensation
setting,<wbr> in counts of
@@ -1857,6 +1914,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Smallest step by which exposure compensation
can be changed
@@ -1896,6 +1955,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of AF modes that can be
selected
@@ -1936,6 +1997,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
what subset of the full color effect enum
list is supported
@@ -1975,6 +2038,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
what subset of the scene mode enum list is
supported.<wbr>
@@ -2015,6 +2080,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of video stabilization modes that can
be supported
@@ -2054,6 +2121,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
</td>
@@ -2086,6 +2155,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
regions can be listed for metering?
@@ -2124,6 +2195,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
List of AE,<wbr> AWB,<wbr> and AF modes to use for
each available scene mode
@@ -2177,6 +2250,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -2206,6 +2280,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
The ID sent with the latest
CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
@@ -2244,6 +2320,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of areas to use for
metering
@@ -2327,6 +2405,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Current state of AE algorithm
</td>
@@ -2434,6 +2514,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AF is currently enabled,<wbr> and what
mode it is set to
@@ -2471,6 +2553,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of areas to use for focus
estimation
@@ -2555,6 +2639,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Current state of AF algorithm
</td>
@@ -2587,6 +2673,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
The ID sent with the latest
CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
@@ -2649,6 +2737,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether AWB is currently setting the color
transform fields,<wbr> and what its illumination target
@@ -2689,6 +2779,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of areas to use for illuminant
estimation
@@ -2757,6 +2849,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Current state of AWB algorithm
</td>
@@ -2814,6 +2908,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Overall mode of 3A control
routines
@@ -2852,6 +2948,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -2893,6 +2990,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Controls the quality of the demosaicing
processing
@@ -2930,6 +3029,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -2975,6 +3075,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Operation mode for edge
enhancement
@@ -3005,6 +3107,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Control the amount of edge enhancement
applied to the images
@@ -3035,6 +3139,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3080,6 +3185,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Operation mode for edge
enhancement
@@ -3114,6 +3221,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3143,6 +3251,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Power for flash firing/<wbr>torch
</td>
@@ -3180,6 +3290,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Firing time of flash relative to start of
exposure
@@ -3236,6 +3348,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Select flash operation mode
</td>
@@ -3267,6 +3381,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3298,6 +3413,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether this camera has a
flash
@@ -3334,6 +3451,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Time taken before flash can fire
again
@@ -3374,6 +3493,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
The x,<wbr>y whitepoint of the
flash
@@ -3409,6 +3530,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Max energy output of the flash for a full
power single flash
@@ -3443,6 +3566,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3472,6 +3596,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Power for flash firing/<wbr>torch
</td>
@@ -3509,6 +3635,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Firing time of flash relative to start of
exposure
@@ -3565,6 +3693,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Select flash operation mode
</td>
@@ -3618,6 +3748,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Current state of the flash
unit
@@ -3652,6 +3784,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3698,6 +3831,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Operating mode of geometric
correction
@@ -3728,6 +3863,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Control the amount of shading correction
applied to the images
@@ -3767,6 +3904,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3813,6 +3951,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Set operational mode for hot pixel
correction
@@ -3845,6 +3985,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3881,6 +4022,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Location of hot/<wbr>defective pixels on
sensor
@@ -3916,6 +4059,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -3962,6 +4106,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Set operational mode for hot pixel
correction
@@ -3999,6 +4145,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -4033,6 +4180,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
GPS coordinates to include in output JPEG
EXIF
@@ -4067,6 +4216,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
32 characters describing GPS algorithm to
include in EXIF
@@ -4101,6 +4252,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Time GPS fix was made to include in
EXIF
@@ -4135,6 +4288,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Orientation of JPEG image to
write
@@ -4170,6 +4325,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Compression quality of the final JPEG
image
@@ -4205,6 +4362,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Compression quality of JPEG
thumbnail
@@ -4243,6 +4402,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Resolution of embedded JPEG
thumbnail
@@ -4276,6 +4437,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -4310,6 +4472,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Supported resolutions for the JPEG
thumbnail
@@ -4345,6 +4509,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Maximum size in bytes for the compressed
JPEG buffer
@@ -4378,6 +4544,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -4412,6 +4579,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
GPS coordinates to include in output JPEG
EXIF
@@ -4446,6 +4615,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
32 characters describing GPS algorithm to
include in EXIF
@@ -4480,6 +4651,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Time GPS fix was made to include in
EXIF
@@ -4514,6 +4687,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Orientation of JPEG image to
write
@@ -4549,6 +4724,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Compression quality of the final JPEG
image
@@ -4584,6 +4761,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
The size of the compressed JPEG image,<wbr> in
bytes
@@ -4623,6 +4802,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Compression quality of JPEG
thumbnail
@@ -4661,6 +4842,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Resolution of embedded JPEG
thumbnail
@@ -4699,6 +4882,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -4728,6 +4912,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Size of the lens aperture
</td>
@@ -4764,6 +4950,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
State of lens neutral density
filter(s)
@@ -4801,6 +4989,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Lens optical zoom setting
</td>
@@ -4836,6 +5026,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Distance to plane of sharpest focus,<wbr>
measured from frontmost surface of the lens
@@ -4883,6 +5075,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether optical image stabilization is
enabled.<wbr>
@@ -4917,6 +5111,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -4952,6 +5147,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of supported aperture
values
@@ -4992,6 +5189,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of supported ND filter
values
@@ -5035,6 +5234,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
If fitted with optical zoom,<wbr> what focal
lengths are available.<wbr> If not,<wbr> the static focal
@@ -5078,6 +5279,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of supported optical image
stabilization modes
@@ -5116,6 +5319,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
A low-resolution map for correction of
geometric distortions and chromatic aberrations,<wbr> per
@@ -5161,6 +5366,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Dimensions of geometric correction
map
@@ -5195,6 +5402,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Hyperfocal distance for this lens; set to
0 if fixed focus
@@ -5232,6 +5441,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Shortest distance from frontmost surface
of the lens that can be focused correctly
@@ -5274,6 +5485,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
A low-resolution map of lens shading,<wbr> per
color channel
@@ -5317,6 +5530,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Dimensions of lens shading
map
@@ -5362,6 +5577,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Direction the camera faces relative to
device screen
@@ -5397,6 +5614,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Relative angle of camera optical axis to the
perpendicular axis from the display
@@ -5443,6 +5662,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Coordinates of camera optical axis on
device
@@ -5475,6 +5696,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -5504,6 +5726,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Size of the lens aperture
</td>
@@ -5540,6 +5764,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
State of lens neutral density
filter(s)
@@ -5577,6 +5803,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Lens optical zoom setting
</td>
@@ -5612,6 +5840,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Distance to plane of sharpest focus,<wbr>
measured from frontmost surface of the lens
@@ -5648,6 +5878,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The range of scene distances that are in
sharp focus (depth of field)
@@ -5695,6 +5927,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Whether optical image stabilization is
enabled.<wbr>
@@ -5735,6 +5969,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Current lens status
</td>
@@ -5771,6 +6007,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -5816,6 +6053,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Mode of operation for the noise reduction
algorithm
@@ -5850,6 +6089,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Control the amount of noise reduction
applied to the images
@@ -5881,6 +6122,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -5926,6 +6168,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Mode of operation for the noise reduction
algorithm
@@ -5964,6 +6208,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -5993,6 +6238,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
If set to 1,<wbr> the camera service does not
scale 'normalized' coordinates with respect to the crop
@@ -6032,6 +6279,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
If set to 1,<wbr> then the camera service always
switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
@@ -6068,6 +6317,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
If set to 1,<wbr> the camera service uses
CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
@@ -6110,6 +6361,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -6139,6 +6391,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
A frame counter set by the framework.<wbr> Must
be maintained unchanged in output frame
@@ -6171,6 +6425,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
An application-specified ID for the current
request.<wbr> Must be maintained unchanged in output
@@ -6201,12 +6457,18 @@
<td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
<td class="entry_type">
<span class="entry_type_name">byte</span>
+ <span class="entry_type_container">x</span>
+ <span class="entry_type_array">
+ n
+ </span>
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
List which camera reprocess stream is used
for the source of reprocessing data.<wbr>
@@ -6230,6 +6492,9 @@
</td>
<td class="entry_tags">
+ <ul class="entry_tags">
+ <li><a href="#tag_HAL2">HAL2</a></li>
+ </ul>
</td>
</tr> <!-- end of entry -->
@@ -6264,6 +6529,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
How much metadata to produce on
output
@@ -6288,12 +6555,18 @@
<td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
<td class="entry_type">
<span class="entry_type_name">byte</span>
+ <span class="entry_type_container">x</span>
+ <span class="entry_type_array">
+ n
+ </span>
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Lists which camera output streams image data
from this capture must be sent to
@@ -6316,6 +6589,9 @@
</td>
<td class="entry_tags">
+ <ul class="entry_tags">
+ <li><a href="#tag_HAL2">HAL2</a></li>
+ </ul>
</td>
</tr> <!-- end of entry -->
@@ -6346,9 +6622,11 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
The type of the request; either CAPTURE or
- REPROCESS
+ REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
</td>
<td class="entry_units">
@@ -6361,6 +6639,9 @@
</td>
<td class="entry_tags">
+ <ul class="entry_tags">
+ <li><a href="#tag_HAL2">HAL2</a></li>
+ </ul>
</td>
</tr> <!-- end of entry -->
@@ -6375,6 +6656,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -6408,6 +6690,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
How many output streams can be allocated at
the same time for each type of stream
@@ -6453,6 +6737,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
How many reprocessing streams of any type
can be allocated at the same time
@@ -6483,6 +6769,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -6512,6 +6799,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Number of frames captured since
open()
@@ -6545,6 +6834,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
An application-specified ID for the current
request.<wbr> Must be maintained unchanged in output
@@ -6600,6 +6891,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
How much metadata to produce on
output
@@ -6624,12 +6917,18 @@
<td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
<td class="entry_type">
<span class="entry_type_name">byte</span>
+ <span class="entry_type_container">x</span>
+ <span class="entry_type_array">
+ n
+ </span>
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Lists which camera output streams image data
from this capture must be sent to
@@ -6652,6 +6951,9 @@
</td>
<td class="entry_tags">
+ <ul class="entry_tags">
+ <li><a href="#tag_HAL2">HAL2</a></li>
+ </ul>
</td>
</tr> <!-- end of entry -->
@@ -6671,6 +6973,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -6704,6 +7007,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
(x,<wbr> y,<wbr> width,<wbr> height).<wbr>
<br>
@@ -6773,6 +7078,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -6838,6 +7144,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of app-visible formats
</td>
@@ -6874,6 +7182,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The minimum frame duration that is supported
for each resolution in availableJpegSizes.<wbr> Should
@@ -6917,6 +7227,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The resolutions available for output from
the JPEG block.<wbr> Listed as width x height
@@ -6952,6 +7264,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The maximum ratio between active area width
and crop region width,<wbr> or between active area height and
@@ -6992,6 +7306,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The minimum frame duration that is supported
for each resolution in availableProcessedSizes.<wbr> Should
@@ -7035,6 +7351,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The resolutions available for use with
processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
@@ -7077,6 +7395,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
The minimum frame duration that is supported
for each raw resolution in availableRawSizes.<wbr> Should
@@ -7119,6 +7439,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
The resolutions available for use with raw
sensor output streams,<wbr> listed as width,<wbr>
@@ -7150,6 +7472,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -7183,6 +7506,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
(x,<wbr> y,<wbr> width,<wbr> height).<wbr>
<br>
@@ -7257,6 +7582,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -7286,6 +7612,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Duration each pixel is exposed to
light
@@ -7322,6 +7650,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Duration from start of frame exposure to
start of next frame exposure
@@ -7361,6 +7691,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Gain applied to image data.<wbr> Must be
implemented through analog gain only if set to values
@@ -7397,6 +7729,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -7433,6 +7766,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Area of raw data which corresponds to only
active pixels; smaller or equal to
@@ -7474,6 +7809,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Range of valid sensitivities
</td>
@@ -7529,6 +7866,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Arrangement of color filters on sensor;
represents the colors in the top-left 2x2 section of
@@ -7568,6 +7907,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Range of valid exposure
times
@@ -7603,6 +7944,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Maximum frame duration (minimum frame
rate)
@@ -7647,6 +7990,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The physical dimensions of the full pixel
array
@@ -7686,6 +8031,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Dimensions of full pixel array,<wbr> possibly
including black calibration pixels
@@ -7723,6 +8070,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Maximum raw value output by
sensor
@@ -7762,6 +8111,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Gain factor from electrons to raw units when
ISO=100
@@ -7800,6 +8151,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
A fixed black level offset for each of the
Bayer mosaic channels
@@ -7841,6 +8194,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Per-device calibration on top of color space
transform 1
@@ -7879,6 +8234,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Per-device calibration on top of color space
transform 2
@@ -7917,6 +8274,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Linear mapping from XYZ (D50) color space to
reference linear sensor color,<wbr> for first reference
@@ -7959,6 +8318,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Linear mapping from XYZ (D50) color space to
reference linear sensor color,<wbr> for second reference
@@ -7998,6 +8359,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Used by DNG for better WB
adaptation
@@ -8036,6 +8399,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Used by DNG for better WB
adaptation
@@ -8069,6 +8434,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Maximum sensitivity that is implemented
purely through analog gain
@@ -8111,6 +8478,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Estimation of sensor noise
characteristics
@@ -8152,6 +8521,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Clockwise angle through which the output
image needs to be rotated to be upright on the device
@@ -8274,6 +8645,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Light source used to define transform
1
@@ -8310,6 +8683,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Light source used to define transform
2
@@ -8340,6 +8715,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -8369,6 +8745,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Duration each pixel is exposed to
light
@@ -8405,6 +8783,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Duration from start of frame exposure to
start of next frame exposure
@@ -8444,6 +8824,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Gain applied to image data.<wbr> Must be
implemented through analog gain only if set to values
@@ -8481,6 +8863,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Time at start of exposure of first
row
@@ -8522,6 +8906,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -8567,6 +8952,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Quality of lens shading correction applied
to the image data
@@ -8597,6 +8984,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Control the amount of shading correction
applied to the images
@@ -8631,6 +9020,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -8676,6 +9066,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Quality of lens shading correction applied
to the image data
@@ -8710,6 +9102,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -8754,6 +9147,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
State of the face detector
unit
@@ -8797,6 +9192,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Operating mode for histogram
generation
@@ -8838,6 +9235,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Operating mode for sharpness map
generation
@@ -8870,6 +9269,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -8906,6 +9306,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Which face detection modes are available,<wbr>
if any
@@ -8937,6 +9339,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Number of histogram buckets
supported
@@ -8968,6 +9372,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
If face detection is supported,<wbr> how many
faces can be detected at once
@@ -9000,6 +9406,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Maximum value possible for a histogram
bucket
@@ -9030,6 +9438,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Maximum value possible for a sharpness map
region.<wbr>
@@ -9065,6 +9475,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Dimensions of the sharpness
map
@@ -9098,6 +9510,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -9142,6 +9555,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
State of the face detector
unit
@@ -9181,6 +9596,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of unique IDs for detected
faces
@@ -9220,6 +9637,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of landmarks for detected
faces
@@ -9259,6 +9678,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of the bounding rectangles for detected
faces
@@ -9297,6 +9718,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
List of the face confidence scores for
detected faces
@@ -9337,6 +9760,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
A 3-channel histogram based on the raw
sensor data
@@ -9382,6 +9807,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Operating mode for histogram
generation
@@ -9420,6 +9847,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
A 3-channel sharpness map,<wbr> based on the raw
sensor data
@@ -9463,6 +9892,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">system</td>
+
<td class="entry_description">
Operating mode for sharpness map
generation
@@ -9500,6 +9931,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -9529,6 +9961,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Table mapping blue input values to output
values
@@ -9561,6 +9995,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Table mapping green input values to output
values
@@ -9598,6 +10034,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Table mapping red input values to output
values
@@ -9656,6 +10094,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
</td>
@@ -9683,6 +10123,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -9712,6 +10153,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Maximum number of supported points in the
tonemap curve
@@ -9742,6 +10185,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -9771,6 +10215,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Table mapping blue input values to output
values
@@ -9803,6 +10249,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Table mapping green input values to output
values
@@ -9840,6 +10288,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
Table mapping red input values to output
values
@@ -9898,6 +10348,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
</td>
@@ -9930,6 +10382,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -9967,6 +10420,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
This LED is nominally used to indicate to the user
that the camera is powered on and may be streaming images back to the
@@ -10007,6 +10462,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -10044,6 +10500,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
This LED is nominally used to indicate to the user
that the camera is powered on and may be streaming images back to the
@@ -10084,6 +10542,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -10123,6 +10582,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">hidden</td>
+
<td class="entry_description">
A list of camera LEDs that are available on this system.<wbr>
@@ -10157,6 +10618,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -10194,6 +10656,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">public</td>
+
<td class="entry_description">
The camera 3 HAL device can implement one of two possible operational modes;
@@ -10391,6 +10855,15 @@
<li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
</ul>
</li> <!-- tag_EXIF -->
+ <li id="tag_HAL2">HAL2 -
+ Tag only used by camera device HAL 2.x
+
+ <ul class="tags_entries">
+ <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
+ <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
+ <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
+ </ul>
+ </li> <!-- tag_HAL2 -->
</ul>
</div>
diff --git a/camera/docs/html.mako b/camera/docs/html.mako
index b1b9759..3368894 100644
--- a/camera/docs/html.mako
+++ b/camera/docs/html.mako
@@ -18,7 +18,7 @@
<head>
<!-- automatically generated from html.mako. do NOT edit directly -->
<meta charset="utf-8" />
- <title>Android Camera HAL2.0 Properties</title>
+ <title>Android Camera HAL3.0 Properties</title>
<style type="text/css">
.section { font-size: 1.5em; font-weight: bold; background-color: beige; padding: 0.5em 0em 0.5em 0.1em }
.kind { font-size: 1.2em; font-weight: bold; padding-left: 0.5em; background-color: gray }
@@ -32,6 +32,7 @@
.th_tags { width: 5% }
.th_notes { width: 30% }
.th_type { width: 20% }
+ .th_visibility { width: 10% }
td { font-size: 0.9em; }
/* hide the first thead, we need it there only to enforce column sizes */
@@ -39,6 +40,7 @@
/* Entry flair */
.entry_name { font-family: monospace; font-style: italic; }
+ .entry_visibility { text-align: center; }
/* Entry type flair */
.entry_type_name { color: darkgreen; font-weight: bold; }
@@ -101,7 +103,7 @@
<body>
- <h1>Android Camera HAL2.0 Properties</h1>
+ <h1>Android Camera HAL3.0 Properties</h1>
<h2>Table of Contents</h2>
<ul class="toc">
@@ -126,6 +128,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibilty">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -150,6 +153,7 @@
<tr>
<th class="th_name">Property Name</th>
<th class="th_type">Type</th>
+ <th class="th_visibility">Visibility</th>
<th class="th_description">Description</th>
<th class="th_units">Units</th>
<th class="th_range">Range</th>
@@ -237,6 +241,8 @@
</td> <!-- entry_type -->
+ <td class="entry_visibility">${prop.applied_visibility | wbr}</td>
+
<td class="entry_description">
% if prop.description is not None:
${prop.description | wbr, br}
diff --git a/camera/docs/metadata_helpers.py b/camera/docs/metadata_helpers.py
index 7d109e9..97a9451 100644
--- a/camera/docs/metadata_helpers.py
+++ b/camera/docs/metadata_helpers.py
@@ -532,3 +532,39 @@
return jenum_name
+def any_visible(section, kind_name, visibilities):
+ """
+ Determine if entries in this section have an applied visibility that's in
+ the list of given visibilities.
+
+ Args:
+ section: A section of metadata
+ kind_name: A name of the kind, i.e. 'dynamic' or 'static' or 'controls'
+ visibilities: An iterable of visibilities to match against
+
+ Returns:
+ True if the section has any entries with any of the given visibilities. False otherwise.
+ """
+
+ for inner_namespace in get_children_by_filtering_kind(section, kind_name,
+ 'namespaces'):
+ if any(filter_visibility(inner_namespace.merged_entries, visibilities)):
+ return True
+
+ return any(filter_visibility(get_children_by_filtering_kind(section, kind_name,
+ 'merged_entries'),
+ visibilities))
+
+
+def filter_visibility(entries, visibilities):
+ """
+ Remove entries whose applied visibility is not in the supplied visibilities.
+
+ Args:
+ entries: An iterable of Entry nodes
+ visibilities: An iterable of visibilities to filter against
+
+ Yields:
+ An iterable of Entry nodes
+ """
+ return (e for e in entries if e.applied_visibility in visibilities)
diff --git a/camera/docs/metadata_model.py b/camera/docs/metadata_model.py
index daf171c..6b70288 100644
--- a/camera/docs/metadata_model.py
+++ b/camera/docs/metadata_model.py
@@ -936,6 +936,12 @@
container: The container attribute from <entry container="array">, or None.
container_sizes: A sequence of size strings or None if container is None.
enum: An Enum instance if the enum attribute is true, None otherwise.
+ visibility: The visibility of this entry ('system', 'hidden', 'public')
+ across the system. System entries are only visible in native code
+ headers. Hidden entries are marked @hide in managed code, while
+ public entries are visible in the Android SDK.
+ applied_visibility: As visibility, but always valid, defaulting to 'system'
+ if no visibility is given for an entry.
tuple_values: A sequence of strings describing the tuple values,
None if container is not 'tuple'.
description: A string description, or None.
@@ -981,6 +987,8 @@
notes: A string with the notes for the entry
tag_ids: A list of tag ID strings, e.g. ['BC', 'V1']
type_notes: A string with the notes for the type
+ visibility: A string describing the visibility, eg 'system', 'hidden',
+ 'public'
"""
if kwargs.get('type') is None:
@@ -1005,6 +1013,14 @@
return self._kind
@property
+ def visibility(self):
+ return self._visibility
+
+ @property
+ def applied_visibility(self):
+ return self._visibility or 'system'
+
+ @property
def name_short(self):
return self.get_name_minimal()
@@ -1102,6 +1118,8 @@
else:
self._enum = None
+ self._visibility = kwargs.get('visibility')
+
self._property_keys = kwargs
def merge(self):
@@ -1294,6 +1312,7 @@
'tuple_values',
'type',
'type_notes',
+ 'visibility'
]
for p in props_common:
diff --git a/camera/docs/metadata_parser_xml.py b/camera/docs/metadata_parser_xml.py
index 7b55273..4e5c35f 100755
--- a/camera/docs/metadata_parser_xml.py
+++ b/camera/docs/metadata_parser_xml.py
@@ -144,6 +144,11 @@
d = {}
#
+ # Visibility
+ #
+ d['visibility'] = entry.get('visibility')
+
+ #
# Enum
#
if entry.get('enum', 'false') == 'true':
diff --git a/camera/docs/metadata_properties.xml b/camera/docs/metadata_properties.xml
index 2980c8d..8eedd54 100644
--- a/camera/docs/metadata_properties.xml
+++ b/camera/docs/metadata_properties.xml
@@ -36,11 +36,14 @@
<tag id="EXIF">
<!-- TODO: fill the tag description -->
</tag>
+ <tag id="HAL2">
+ Tag only used by camera device HAL 2.x
+ </tag>
</tags>
<namespace name="android">
<section name="colorCorrection">
<controls>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="public" enum="true">
<enum>
<value>TRANSFORM_MATRIX
<notes>Use the android.colorCorrection.transform matrix
@@ -56,9 +59,9 @@
</value>
</enum>
</entry>
- <entry name="transform" type="float"
- type_notes="3x3 float matrix in row-major order"
- container="array">
+ <entry name="transform" type="float" visibility="public"
+ type_notes="3x3 float matrix in row-major order"
+ container="array">
<array>
<size>3</size>
<size>3</size>
@@ -82,7 +85,8 @@
</section>
<section name="control">
<controls>
- <entry name="aeAntibandingMode" type="byte" enum="true">
+ <entry name="aeAntibandingMode" type="byte" visibility="public"
+ enum="true" >
<enum>
<value>OFF</value>
<value>50HZ</value>
@@ -94,7 +98,7 @@
<range>
android.control.aeAvailableAntibandingModes</range>
</entry>
- <entry name="aeExposureCompensation" type="int32">
+ <entry name="aeExposureCompensation" type="int32" visibility="public">
<description>Adjustment to AE target image
brightness</description>
<units>count of positive/negative EV steps</units>
@@ -103,7 +107,7 @@
compensation of -1</notes>
<tag id="BC" />
</entry>
- <entry name="aeLock" type="byte" enum="true">
+ <entry name="aeLock" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>Autoexposure lock is disabled; the AE algorithm
@@ -120,7 +124,7 @@
ON_AUTO_FLASH_REDEYE.</notes>
<tag id="BC" />
</entry>
- <entry name="aeMode" type="byte" enum="true">
+ <entry name="aeMode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>Autoexposure is disabled; sensor.exposureTime
@@ -153,7 +157,8 @@
AUTO</notes>
<tag id="BC" />
</entry>
- <entry name="aeRegions" type="int32" container="array">
+ <entry name="aeRegions" type="int32" visibility="public"
+ container="array">
<array>
<size>5</size>
<size>area_count</size>
@@ -175,8 +180,8 @@
in the frame metadata</notes>
<tag id="BC" />
</entry>
- <entry name="aeTargetFpsRange" type="int32"
- container="array">
+ <entry name="aeTargetFpsRange" type="int32" visibility="public"
+ container="array">
<array>
<size>2</size>
</array>
@@ -187,7 +192,8 @@
of android.sensor.exposureTime</notes>
<tag id="BC" />
</entry>
- <entry name="aePrecaptureTrigger" type="byte" enum="true">
+ <entry name="aePrecaptureTrigger" type="byte" visibility="public"
+ enum="true">
<enum>
<value>IDLE
<notes>The trigger is idle.</notes>
@@ -209,7 +215,7 @@
camera HAL device v3 header for details.</notes>
<tag id="BC" />
</entry>
- <entry name="afMode" type="byte" enum="true">
+ <entry name="afMode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>The 3A routines do not control the lens;
@@ -277,7 +283,8 @@
mode it is set to</description>
<tag id="BC" />
</entry>
- <entry name="afRegions" type="int32" container="array">
+ <entry name="afRegions" type="int32" visibility="public"
+ container="array">
<array>
<size>5</size>
<size>area_count</size>
@@ -299,7 +306,7 @@
in the frame metadata</notes>
<tag id="BC" />
</entry>
- <entry name="afTrigger" type="byte" enum="true">
+ <entry name="afTrigger" type="byte" visibility="public" enum="true">
<enum>
<value>IDLE
<notes>The trigger is idle.</notes>
@@ -322,7 +329,7 @@
trigger, and return to initial AF state.</notes>
<tag id="BC" />
</entry>
- <entry name="awbLock" type="byte" enum="true">
+ <entry name="awbLock" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>Auto-whitebalance lock is disabled; the AWB
@@ -340,7 +347,7 @@
setting</notes>
<tag id="BC" />
</entry>
- <entry name="awbMode" type="byte" enum="true">
+ <entry name="awbMode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF</value>
<value>AUTO</value>
@@ -359,7 +366,8 @@
<tag id="BC" />
<tag id="AWB" />
</entry>
- <entry name="awbRegions" type="int32" container="array">
+ <entry name="awbRegions" type="int32" visibility="public"
+ container="array">
<array>
<size>5</size>
<size>area_count</size>
@@ -381,7 +389,7 @@
in the frame metadata</notes>
<tag id="BC" />
</entry>
- <entry name="captureIntent" type="byte" enum="true">
+ <entry name="captureIntent" type="byte" visibility="public" enum="true">
<enum>
<value>CUSTOM
<notes>This request doesn't fall into the other
@@ -413,7 +421,7 @@
<notes>Only used if android.control.mode != OFF.</notes>
<tag id="BC" />
</entry>
- <entry name="effectMode" type="byte" enum="true">
+ <entry name="effectMode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF</value>
<value optional="true">MONO</value>
@@ -430,7 +438,7 @@
<range>android.control.availableEffects</range>
<tag id="BC" />
</entry>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>Full application control of pipeline. All 3A
@@ -455,7 +463,7 @@
<range>all must be supported</range>
<tag id="BC" />
</entry>
- <entry name="sceneMode" type="byte" enum="true">
+ <entry name="sceneMode" type="byte" visibility="public" enum="true">
<enum>
<value id="0">UNSUPPORTED</value>
<value>FACE_PRIORITY
@@ -488,7 +496,8 @@
<range>android.control.availableSceneModes</range>
<tag id="BC" />
</entry>
- <entry name="videoStabilizationMode" type="byte" enum="true">
+ <entry name="videoStabilizationMode" type="byte" visibility="public"
+ enum="true">
<enum>
<value>OFF</value>
<value>ON</value>
@@ -502,8 +511,8 @@
</entry>
</controls>
<static>
- <entry name="aeAvailableAntibandingModes" type="byte"
- type_notes="list of enums" container="array">
+ <entry name="aeAvailableAntibandingModes" type="byte" visibility="public"
+ type_notes="list of enums" container="array">
<array>
<size>n</size>
</array>
@@ -521,9 +530,9 @@
ON_AUTO_FLASH/ON_ALWAYS_FLASH must be supported if flash
unit is available</range>
</entry>
- <entry name="aeAvailableTargetFpsRanges" type="int32"
- type_notes="list of pairs of frame rates"
- container="array">
+ <entry name="aeAvailableTargetFpsRanges" type="int32" visibility="public"
+ type_notes="list of pairs of frame rates"
+ container="array">
<array>
<size>2</size>
<size>n</size>
@@ -531,8 +540,8 @@
<description>List of frame rate ranges supported by the
AE algorithm/hardware</description>
</entry>
- <entry name="aeCompensationRange" type="int32"
- container="array">
+ <entry name="aeCompensationRange" type="int32" visibility="public"
+ container="array">
<array>
<size>2</size>
</array>
@@ -543,13 +552,13 @@
size)</range>
<tag id="BC" />
</entry>
- <entry name="aeCompensationStep" type="rational">
+ <entry name="aeCompensationStep" type="rational" visibility="public">
<description>Smallest step by which exposure compensation
can be changed</description>
<range><= 1/2</range>
<tag id="BC" />
</entry>
- <entry name="afAvailableModes" type="byte"
+ <entry name="afAvailableModes" type="byte" visibility="public"
type_notes="List of enums" container="array">
<array>
<size>n</size>
@@ -560,8 +569,8 @@
lens allows for changing focus</range>
<tag id="BC" />
</entry>
- <entry name="availableEffects" type="byte"
- type_notes="list of enums" container="array">
+ <entry name="availableEffects" type="byte" visibility="public"
+ type_notes="list of enums" container="array">
<array>
<size>n</size>
</array>
@@ -570,9 +579,9 @@
<range>OFF must be listed</range>
<tag id="BC" />
</entry>
- <entry name="availableSceneModes" type="byte"
- type_notes="list of enums from android.control.sceneMode, plus UNSUPPORTED to indicate no scene modes are supported"
- container="array">
+ <entry name="availableSceneModes" type="byte" visibility="public"
+ type_notes="list of enums from android.control.sceneMode, plus UNSUPPORTED to indicate no scene modes are supported"
+ container="array">
<array>
<size>n</size>
</array>
@@ -583,7 +592,7 @@
<tag id="BC" />
</entry>
<entry name="availableVideoStabilizationModes" type="byte"
- type_notes="List of enums." container="array">
+ visibility="public" type_notes="List of enums." container="array">
<array>
<size>n</size>
</array>
@@ -592,23 +601,23 @@
<range>OFF must be included</range>
<tag id="BC" />
</entry>
- <entry name="awbAvailableModes" type="byte"
- type_notes="List of enums (android.control.awbMode)"
- container="array">
+ <entry name="awbAvailableModes" type="byte" visibility="public"
+ type_notes="List of enums (android.control.awbMode)"
+ container="array">
<array>
<size>n</size>
</array>
<range>OFF, AUTO must be included</range>
<tag id="BC" />
</entry>
- <entry name="maxRegions" type="int32">
+ <entry name="maxRegions" type="int32" visibility="public">
<description>For AE, AWB, and AF, how many individual
regions can be listed for metering?</description>
<range>>= 1</range>
<tag id="BC" />
</entry>
- <entry name="sceneModeOverrides" type="byte"
- container="array">
+ <entry name="sceneModeOverrides" type="byte" visibility="system"
+ container="array">
<array>
<size>3</size>
<size>lengthavailablescenemodes</size>
@@ -640,7 +649,7 @@
</entry>
</static>
<dynamic>
- <entry name="aePrecaptureId" type="int32">
+ <entry name="aePrecaptureId" type="int32" visibility="hidden">
<description>The ID sent with the latest
CAMERA2_TRIGGER_PRECAPTURE_METERING call</description>
<notes>Must be 0 if no
@@ -650,7 +659,7 @@
</entry>
<clone entry="android.control.aeRegions" kind="controls">
</clone>
- <entry name="aeState" type="byte" enum="true">
+ <entry name="aeState" type="byte" visibility="public" enum="true">
<enum>
<value>INACTIVE
<notes>AE is off. When a camera device is opened, it starts in
@@ -685,7 +694,7 @@
</clone>
<clone entry="android.control.afRegions" kind="controls">
</clone>
- <entry name="afState" type="byte" enum="true">
+ <entry name="afState" type="byte" visibility="public" enum="true">
<enum>
<value>INACTIVE
<notes>AF off or has not yet tried to scan/been asked
@@ -717,7 +726,7 @@
MSG_AUTOFOCUS notification must be send if a notification
callback is registered.</notes>
</entry>
- <entry name="afTriggerId" type="int32">
+ <entry name="afTriggerId" type="int32" visibility="hidden">
<description>The ID sent with the latest
CAMERA2_TRIGGER_AUTOFOCUS call</description>
<notes>Must be 0 if no CAMERA2_TRIGGER_AUTOFOCUS trigger
@@ -728,7 +737,7 @@
</clone>
<clone entry="android.control.awbRegions" kind="controls">
</clone>
- <entry name="awbState" type="byte" enum="true">
+ <entry name="awbState" type="byte" visibility="public" enum="true">
<enum>
<value>INACTIVE
<notes>AWB is not in auto mode. When a camera device is opened, it
@@ -771,7 +780,7 @@
</section>
<section name="edge">
<controls>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>No edge enhancement is applied</notes></value>
@@ -815,7 +824,7 @@
duration).</notes>
<tag id="V1" />
</entry>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>Do not fire the flash for this
@@ -835,7 +844,7 @@
</controls>
<static>
<namespace name="info">
- <entry name="available" type="byte">
+ <entry name="available" type="byte" visibility="public">
<description>Whether this camera has a
flash</description>
<units>boolean (0 = false, otherwise true)</units>
@@ -874,7 +883,7 @@
<clone entry="android.flash.firingTime" kind="controls">
</clone>
<clone entry="android.flash.mode" kind="controls"></clone>
- <entry name="state" type="byte" enum="true">
+ <entry name="state" type="byte" visibility="public" enum="true">
<enum>
<value>UNAVAILABLE
<notes>No flash on camera</notes></value>
@@ -961,7 +970,7 @@
</section>
<section name="jpeg">
<controls>
- <entry name="gpsCoordinates" type="double"
+ <entry name="gpsCoordinates" type="double" visibility="public"
type_notes="latitude, longitude, altitude. First two in degrees, the third in meters"
container="array">
<array>
@@ -972,39 +981,40 @@
<range>(-180 - 180], [-90,90], [-inf, inf]</range>
<tag id="BC" />
</entry>
- <entry name="gpsProcessingMethod" type="byte">
+ <entry name="gpsProcessingMethod" type="byte" visibility="public">
<description>32 characters describing GPS algorithm to
include in EXIF</description>
<units>UTF-8 null-terminated string</units>
<tag id="BC" />
</entry>
- <entry name="gpsTimestamp" type="int64">
+ <entry name="gpsTimestamp" type="int64" visibility="public">
<description>Time GPS fix was made to include in
EXIF</description>
<units>UTC in seconds since January 1, 1970</units>
<tag id="BC" />
</entry>
- <entry name="orientation" type="int32">
+ <entry name="orientation" type="int32" visibility="public">
<description>Orientation of JPEG image to
write</description>
<units>Degrees in multiples of 90</units>
<range>0, 90, 180, 270</range>
<tag id="BC" />
</entry>
- <entry name="quality" type="byte">
+ <entry name="quality" type="byte" visibility="public">
<description>Compression quality of the final JPEG
image</description>
<range>1-100; larger is higher quality</range>
<notes>85-95 is typical usage range</notes>
<tag id="BC" />
</entry>
- <entry name="thumbnailQuality" type="byte">
+ <entry name="thumbnailQuality" type="byte" visibility="public">
<description>Compression quality of JPEG
thumbnail</description>
<range>1-100; larger is higher quality</range>
<tag id="BC" />
</entry>
- <entry name="thumbnailSize" type="int32" container="array">
+ <entry name="thumbnailSize" type="int32" visibility="public"
+ container="array">
<array>
<size>2</size>
</array>
@@ -1015,7 +1025,7 @@
</entry>
</controls>
<static>
- <entry name="availableThumbnailSizes" type="int32"
+ <entry name="availableThumbnailSizes" type="int32" visibility="public"
type_notes="list of resolution pairs" container="array">
<array>
<size>2</size>
@@ -1027,7 +1037,7 @@
(0,0) for no thumbnail generation</range>
<tag id="BC" />
</entry>
- <entry name="maxSize" type="int32">
+ <entry name="maxSize" type="int32" visibility="system">
<description>Maximum size in bytes for the compressed
JPEG buffer</description>
<range>Must be large enough to fit any JPEG produced by
@@ -1068,7 +1078,7 @@
</section>
<section name="lens">
<controls>
- <entry name="aperture" type="float">
+ <entry name="aperture" type="float" visibility="public">
<description>Size of the lens aperture</description>
<units>f-number (f/NNN)</units>
<range>android.lens.info.availableApertures</range>
@@ -1076,7 +1086,7 @@
pick from supported list</notes>
<tag id="V1" />
</entry>
- <entry name="filterDensity" type="float">
+ <entry name="filterDensity" type="float" visibility="public">
<description>State of lens neutral density
filter(s)</description>
<units>number of stops of filtering</units>
@@ -1085,14 +1095,14 @@
pick from supported list</notes>
<tag id="V1" />
</entry>
- <entry name="focalLength" type="float">
+ <entry name="focalLength" type="float" visibility="public">
<description>Lens optical zoom setting</description>
<units>focal length in mm</units>
<range>> 0</range>
<notes>Will not be supported on most devices.</notes>
<tag id="V1" />
</entry>
- <entry name="focusDistance" type="float">
+ <entry name="focusDistance" type="float" visibility="public">
<description>Distance to plane of sharpest focus,
measured from frontmost surface of the lens</description>
<units>diopters (1/m)</units>
@@ -1102,7 +1112,8 @@
<tag id="BC" />
<tag id="V1" />
</entry>
- <entry name="opticalStabilizationMode" type="byte" enum="true">
+ <entry name="opticalStabilizationMode" type="byte" visibility="public"
+ enum="true">
<enum>
<value>OFF</value>
<value optional="true">ON</value>
@@ -1116,7 +1127,7 @@
</controls>
<static>
<namespace name="info">
- <entry name="availableApertures" type="float"
+ <entry name="availableApertures" type="float" visibility="public"
container="array">
<array>
<size>n</size>
@@ -1128,7 +1139,7 @@
should be for the fixed aperture</notes>
<tag id="V1" />
</entry>
- <entry name="availableFilterDensities" type="float"
+ <entry name="availableFilterDensities" type="float" visibility="public"
container="array">
<array>
<size>n</size>
@@ -1142,7 +1153,7 @@
light by two stops)</notes>
<tag id="V1" />
</entry>
- <entry name="availableFocalLengths" type="float"
+ <entry name="availableFocalLengths" type="float" visibility="public"
type_notes="the list of available focal lengths"
container="array">
<array>
@@ -1158,7 +1169,7 @@
<tag id="V1" />
</entry>
<entry name="availableOpticalStabilization" type="byte"
- type_notes="list of enums" container="array">
+ visibility="public" type_notes="list of enums" container="array">
<array>
<size>n</size>
</array>
@@ -1197,7 +1208,7 @@
<range>Both values >= 2</range>
<tag id="V1" />
</entry>
- <entry name="hyperfocalDistance" type="float">
+ <entry name="hyperfocalDistance" type="float" visibility="public">
<description>Hyperfocal distance for this lens; set to
0 if fixed focus</description>
<units>diopters</units>
@@ -1206,7 +1217,7 @@
API's 'fixed' setting</notes>
<tag id="BC" />
</entry>
- <entry name="minimumFocusDistance" type="float">
+ <entry name="minimumFocusDistance" type="float" visibility="public">
<description>Shortest distance from frontmost surface
of the lens that can be focused correctly</description>
<units>diopters</units>
@@ -1232,7 +1243,7 @@
1.</notes>
<tag id="DNG" />
</entry>
- <entry name="shadingMapSize" type="int32"
+ <entry name="shadingMapSize" type="int32" visibility="public"
type_notes="width and height of lens shading map"
container="array">
<array>
@@ -1244,7 +1255,7 @@
<tag id="V1" />
</entry>
</namespace>
- <entry name="facing" type="byte" enum="true">
+ <entry name="facing" type="byte" visibility="public" enum="true">
<enum>
<value>FRONT</value>
<value>BACK</value>
@@ -1294,7 +1305,7 @@
<notes>Should be zero for fixed-focus cameras</notes>
<tag id="BC" />
</clone>
- <entry name="focusRange" type="float">
+ <entry name="focusRange" type="float" visibility="public">
<description>The range of scene distances that are in
sharp focus (depth of field)</description>
<units>pair of focus distances in diopters: (near,
@@ -1308,7 +1319,7 @@
kind="controls">
<tag id="V1" />
</clone>
- <entry name="state" type="byte" enum="true">
+ <entry name="state" type="byte" visibility="public" enum="true">
<enum>
<value>STATIONARY</value>
</enum>
@@ -1319,7 +1330,7 @@
</section>
<section name="noiseReduction">
<controls>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF
<notes>No noise reduction is applied</notes></value>
@@ -1349,7 +1360,7 @@
</section>
<section name="quirks">
<static>
- <entry name="meteringCropRegion" type="byte">
+ <entry name="meteringCropRegion" type="byte" visibility="system">
<description>If set to 1, the camera service does not
scale 'normalized' coordinates with respect to the crop
region. This applies to metering input (a{e,f,wb}Region
@@ -1362,7 +1373,7 @@
listed in static metadata. Support will be removed in
future versions of camera service.</notes>
</entry>
- <entry name="triggerAfWithAuto" type="byte">
+ <entry name="triggerAfWithAuto" type="byte" visibility="system">
<description>If set to 1, then the camera service always
switches to FOCUS_MODE_AUTO before issuing a AF
trigger.</description>
@@ -1372,7 +1383,7 @@
not need to be listed in static metadata. Support will be
removed in future versions of camera service</notes>
</entry>
- <entry name="useZslFormat" type="byte">
+ <entry name="useZslFormat" type="byte" visibility="system">
<description>If set to 1, the camera service uses
CAMERA2_PIXEL_FORMAT_ZSL instead of
HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED for the zero
@@ -1388,13 +1399,13 @@
</section>
<section name="request">
<controls>
- <entry name="frameCount" type="int32">
+ <entry name="frameCount" type="int32" visibility="system">
<description>A frame counter set by the framework. Must
be maintained unchanged in output frame</description>
<units>incrementing integer</units>
<range>Any int</range>
</entry>
- <entry name="id" type="int32">
+ <entry name="id" type="int32" visibility="hidden">
<description>An application-specified ID for the current
request. Must be maintained unchanged in output
frame</description>
@@ -1402,7 +1413,11 @@
<range>Any int</range>
<tag id="V1" />
</entry>
- <entry name="inputStreams" type="byte">
+ <entry name="inputStreams" type="byte" visibility="system"
+ container="array">
+ <array>
+ <size>n</size>
+ </array>
<description>List which camera reprocess stream is used
for the source of reprocessing data.</description>
<units>List of camera reprocess stream IDs</units>
@@ -1413,8 +1428,10 @@
the same image.</range>
<notes>Only meaningful when android.request.type ==
REPROCESS. Ignored otherwise</notes>
+ <tag id="HAL2" />
</entry>
- <entry name="metadataMode" type="byte" enum="true">
+ <entry name="metadataMode" type="byte" visibility="system"
+ enum="true">
<enum>
<value>NONE
<notes>No metadata should be produced on output, except
@@ -1433,7 +1450,11 @@
<description>How much metadata to produce on
output</description>
</entry>
- <entry name="outputStreams" type="byte">
+ <entry name="outputStreams" type="byte" visibility="system"
+ container="array">
+ <array>
+ <size>n</size>
+ </array>
<description>Lists which camera output streams image data
from this capture must be sent to</description>
<units>List of camera stream IDs</units>
@@ -1443,8 +1464,9 @@
data should simply be discarded. The image data must
still be captured for metadata and statistics production,
and the lens and flash must operate as requested.</notes>
+ <tag id="HAL2" />
</entry>
- <entry name="type" type="byte" enum="true">
+ <entry name="type" type="byte" visibility="system" enum="true">
<enum>
<value>CAPTURE
<notes>Capture a new image from the imaging hardware,
@@ -1457,11 +1479,12 @@
needed for reprocessing with [RP]</notes></value>
</enum>
<description>The type of the request; either CAPTURE or
- REPROCESS</description>
+ REPROCESS. For HAL3, this tag is redundant.</description>
+ <tag id="HAL2" />
</entry>
</controls>
<static>
- <entry name="maxNumOutputStreams" type="int32"
+ <entry name="maxNumOutputStreams" type="int32" visibility="public"
container="array">
<array>
<size>3</size>
@@ -1478,7 +1501,7 @@
one JPEG stream (snapshot)</notes>
<tag id="BC" />
</entry>
- <entry name="maxNumReprocessStreams" type="int32"
+ <entry name="maxNumReprocessStreams" type="int32" visibility="system"
container="array">
<array>
<size>1</size>
@@ -1489,7 +1512,7 @@
</entry>
</static>
<dynamic>
- <entry name="frameCount" type="int32">
+ <entry name="frameCount" type="int32" visibility="public">
<description>Number of frames captured since
open()</description>
<units>count of frames</units>
@@ -1505,7 +1528,8 @@
</section>
<section name="scaler">
<controls>
- <entry name="cropRegion" type="int32" container="array">
+ <entry name="cropRegion" type="int32" visibility="public"
+ container="array">
<array>
<size>4</size>
</array>
@@ -1552,7 +1576,8 @@
</entry>
</controls>
<static>
- <entry name="availableFormats" type="int32" enum="true"
+ <entry name="availableFormats" type="int32"
+ visibility="public" enum="true"
type_notes="values from HAL_PIXEL_FORMAT_* in /system/core/include/system/graphics.h"
container="array">
<array>
@@ -1583,7 +1608,7 @@
<description>List of app-visible formats</description>
<tag id="BC" />
</entry>
- <entry name="availableJpegMinDurations" type="int64"
+ <entry name="availableJpegMinDurations" type="int64" visibility="public"
container="array">
<array>
<size>n</size>
@@ -1598,7 +1623,7 @@
durations)</notes>
<tag id="BC" />
</entry>
- <entry name="availableJpegSizes" type="int32"
+ <entry name="availableJpegSizes" type="int32" visibility="public"
container="array">
<array>
<size>n</size>
@@ -1610,7 +1635,7 @@
include: - half/quarter max resolution</range>
<tag id="BC" />
</entry>
- <entry name="availableMaxDigitalZoom" type="float">
+ <entry name="availableMaxDigitalZoom" type="float" visibility="public">
<description>The maximum ratio between active area width
and crop region width, or between active area height and
crop region height, if the crop region height is larger
@@ -1618,7 +1643,7 @@
<range>>=1</range>
<tag id="BC" />
</entry>
- <entry name="availableProcessedMinDurations" type="int64"
+ <entry name="availableProcessedMinDurations" type="int64" visibility="public"
container="array">
<array>
<size>n</size>
@@ -1633,7 +1658,7 @@
durations)</notes>
<tag id="BC" />
</entry>
- <entry name="availableProcessedSizes" type="int32"
+ <entry name="availableProcessedSizes" type="int32" visibility="public"
container="array">
<array>
<size>n</size>
@@ -1681,7 +1706,7 @@
</section>
<section name="sensor">
<controls>
- <entry name="exposureTime" type="int64">
+ <entry name="exposureTime" type="int64" visibility="public">
<description>Duration each pixel is exposed to
light</description>
<units>nanoseconds</units>
@@ -1689,7 +1714,7 @@
<notes>1/10000 - 30 sec range. No bulb mode</notes>
<tag id="V1" />
</entry>
- <entry name="frameDuration" type="int64">
+ <entry name="frameDuration" type="int64" visibility="public">
<description>Duration from start of frame exposure to
start of next frame exposure</description>
<units>nanoseconds</units>
@@ -1700,7 +1725,7 @@
<tag id="V1" />
<tag id="BC" />
</entry>
- <entry name="sensitivity" type="int32">
+ <entry name="sensitivity" type="int32" visibility="public">
<description>Gain applied to image data. Must be
implemented through analog gain only if set to values
below 'maximum analog sensitivity'.</description>
@@ -1712,7 +1737,7 @@
</controls>
<static>
<namespace name="info">
- <entry name="activeArraySize" type="int32"
+ <entry name="activeArraySize" type="int32" visibility="public"
type_notes="Four ints defining the active pixel rectangle"
container="array">
<array>
@@ -1725,7 +1750,7 @@
pixel array is (0,0)</units>
<tag id="DNG" />
</entry>
- <entry name="availableSensitivities" type="int32"
+ <entry name="availableSensitivities" type="int32" visibility="public"
type_notes="List of supported sensitivity values"
container="array">
<array>
@@ -1753,7 +1778,7 @@
the sensor, in reading order</description>
<tag id="DNG" />
</entry>
- <entry name="exposureTimeRange" type="int64"
+ <entry name="exposureTimeRange" type="int64" visibility="public"
type_notes="nanoseconds" container="array">
<array>
<size>2</size>
@@ -1764,7 +1789,7 @@
sec)</range>
<tag id="V1" />
</entry>
- <entry name="maxFrameDuration" type="int64">
+ <entry name="maxFrameDuration" type="int64" visibility="public">
<description>Maximum frame duration (minimum frame
rate)</description>
<units>nanoseconds</units>
@@ -1775,7 +1800,7 @@
<tag id="BC" />
<tag id="V1" />
</entry>
- <entry name="physicalSize" type="float"
+ <entry name="physicalSize" type="float" visibility="public"
type_notes="width x height in millimeters"
container="array">
<array>
@@ -1809,7 +1834,7 @@
<tag id="DNG" />
</entry>
</namespace>
- <entry name="baseGainFactor" type="rational">
+ <entry name="baseGainFactor" type="rational" visibility="public">
<description>Gain factor from electrons to raw units when
ISO=100</description>
<tag id="V1" />
@@ -1891,7 +1916,7 @@
adaptation</description>
<tag id="DNG" />
</entry>
- <entry name="maxAnalogSensitivity" type="int32">
+ <entry name="maxAnalogSensitivity" type="int32" visibility="public">
<description>Maximum sensitivity that is implemented
purely through analog gain</description>
<notes>For android.sensor.sensitivity values less than or
@@ -1918,7 +1943,7 @@
across the sensor</notes>
<tag id="V1" />
</entry>
- <entry name="orientation" type="int32">
+ <entry name="orientation" type="int32" visibility="public">
<description>Clockwise angle through which the output
image needs to be rotated to be upright on the device
screen in its native orientation. Also defines the
@@ -1976,7 +2001,7 @@
kind="controls"></clone>
<clone entry="android.sensor.sensitivity" kind="controls">
</clone>
- <entry name="timestamp" type="int64">
+ <entry name="timestamp" type="int64" visibility="public">
<description>Time at start of exposure of first
row</description>
<units>nanoseconds</units>
@@ -2018,7 +2043,7 @@
</section>
<section name="statistics">
<controls>
- <entry name="faceDetectMode" type="byte" enum="true">
+ <entry name="faceDetectMode" type="byte" visibility="public" enum="true">
<enum>
<value>OFF</value>
<value>SIMPLE
@@ -2056,6 +2081,7 @@
<static>
<namespace name="info">
<entry name="availableFaceDetectModes" type="byte"
+ visibility="public"
type_notes="List of enums" container="array">
<array>
<size>n</size>
@@ -2069,7 +2095,7 @@
supported</description>
<range>>= 64</range>
</entry>
- <entry name="maxFaceCount" type="int32">
+ <entry name="maxFaceCount" type="int32" visibility="public" >
<description>If face detection is supported, how many
faces can be detected at once</description>
<range>>= 4 if availableFaceDetectionModes lists
@@ -2097,7 +2123,7 @@
<dynamic>
<clone entry="android.statistics.faceDetectMode"
kind="controls"></clone>
- <entry name="faceIds" type="int32" container="array">
+ <entry name="faceIds" type="int32" visibility="public" container="array">
<array>
<size>n</size>
</array>
@@ -2106,7 +2132,7 @@
<notes>Only available if faceDetectMode == FULL</notes>
<tag id="BC" />
</entry>
- <entry name="faceLandmarks" type="int32"
+ <entry name="faceLandmarks" type="int32" visibility="public"
type_notes="(leftEyeX, leftEyeY, rightEyeX, rightEyeY, mouthX, mouthY)"
container="array">
<array>
@@ -2118,7 +2144,7 @@
<notes>Only available if faceDetectMode == FULL</notes>
<tag id="BC" />
</entry>
- <entry name="faceRectangles" type="int32"
+ <entry name="faceRectangles" type="int32" visibility="public"
type_notes="(xmin, ymin, xmax, ymax). (0,0) is top-left of active pixel area"
container="array">
<array>
@@ -2130,7 +2156,7 @@
<notes>Only available if faceDetectMode != OFF</notes>
<tag id="BC" />
</entry>
- <entry name="faceScores" type="byte" container="array">
+ <entry name="faceScores" type="byte" visibility="public" container="array">
<array>
<size>n</size>
</array>
@@ -2177,19 +2203,19 @@
</section>
<section name="tonemap">
<controls>
- <entry name="curveBlue" type="float">
+ <entry name="curveBlue" type="float" visibility="public" >
<description>Table mapping blue input values to output
values</description>
<units>same as android.tonemap.curveRed</units>
<range>same as android.tonemap.curveRed</range>
</entry>
- <entry name="curveGreen" type="float">
+ <entry name="curveGreen" type="float" visibility="public" >
<description>Table mapping green input values to output
values</description>
<units>same as android.tonemap.curveRed</units>
<range>same as android.tonemap.curveRed</range>
</entry>
- <entry name="curveRed" type="float"
+ <entry name="curveRed" type="float" visibility="public"
type_notes="A 1D array of pairs of floats. mapping a 0-1 input range to a 0-1 output range."
container="array">
<array>
@@ -2208,7 +2234,7 @@
0.25, 0.3 -> 0.5, 0.5 -> 0.64</notes>
<tag id="DNG" />
</entry>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="public" enum="true">
<enum>
<value>CONTRAST_CURVE
<notes>Use the tone mapping curve specified in
@@ -2223,7 +2249,7 @@
</entry>
</controls>
<static>
- <entry name="maxCurvePoints" type="int32">
+ <entry name="maxCurvePoints" type="int32" visibility="public" >
<description>Maximum number of supported points in the
tonemap curve</description>
<range>>= 128</range>
@@ -2242,7 +2268,7 @@
</section>
<section name="led">
<controls>
- <entry name="transmit" type="byte" enum="true">
+ <entry name="transmit" type="byte" visibility="hidden" enum="true">
<enum>
<value>OFF</value>
<value>ON</value>
@@ -2266,7 +2292,8 @@
<clone entry="android.led.transmit" kind="controls"></clone>
</dynamic>
<static>
- <entry name="availableLeds" type="byte" enum="true" container="array">
+ <entry name="availableLeds" type="byte" visibility="hidden" enum="true"
+ container="array">
<array>
<size>n</size>
</array>
@@ -2282,7 +2309,8 @@
</section>
<section name="info">
<static>
- <entry name="supportedHardwareLevel" type="byte" enum="true">
+ <entry name="supportedHardwareLevel" type="byte" visibility="public"
+ enum="true" >
<enum>
<value>LIMITED</value>
<value>FULL</value>
diff --git a/camera/docs/metadata_properties.xsd b/camera/docs/metadata_properties.xsd
index 259aebf..f567333 100644
--- a/camera/docs/metadata_properties.xsd
+++ b/camera/docs/metadata_properties.xsd
@@ -146,6 +146,15 @@
</restriction>
</simpleType>
</attribute>
+ <attribute name="visibility">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="system" />
+ <enumeration value="hidden" />
+ <enumeration value="public" />
+ </restriction>
+ </simpleType>
+ </attribute>
</complexType>
<complexType name="EnumType">
diff --git a/camera/docs/metadata_template.mako b/camera/docs/metadata_template.mako
index 253db61..2fee0a1 100644
--- a/camera/docs/metadata_template.mako
+++ b/camera/docs/metadata_template.mako
@@ -72,6 +72,9 @@
</clone>
% else:
<entry name="${prop.name_short}" type="${prop.type}"
+ % if prop.visibility:
+ visibility="${prop.visibility}"
+ % endif
% if prop.enum:
enum="true"
% endif