From: Yin-Chia Yeh
Date: Sat, 2 Apr 2016 23:30:30 +0000 (-0700)
Subject: Camera: modify metadata visibility attributes
X-Git-Tag: android-x86-7.1-r1~26^2~2
X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c6c2416a812ddb8bcb32fdefce1eff3a7ded9b61;p=android-x86%2Fsystem-media.git
Camera: modify metadata visibility attributes
So we can better describe whether a key should present in java or
native API.
Here are all possbile visibility values:
public = visible in both Java/NDK public API
ndk_public = visible in NDK API, @hide in java API
(mostly source of synthethic keys)
java_public = visible in public java API, not present in NDK
(mostly synthetic keys or features not supported
in NDK)
hidden = @hide in java API, not visible in NDK
system = not defined in any API.
Bug: 27102995
Change-Id: Ib5163b0aba62126dfe3d72ec62a24136ce206b17
---
diff --git a/camera/docs/ACameraMetadata.mako b/camera/docs/ACameraMetadata.mako
index 7407603b..b65efc11 100644
--- a/camera/docs/ACameraMetadata.mako
+++ b/camera/docs/ACameraMetadata.mako
@@ -20,19 +20,21 @@
% 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 == kind_name) and \
- any_visible(section, kind_name, ('public','hidden') ):
+ any_visible(section, kind_name, ('public','ndk_public') ):
% for inner_namespace in get_children_by_filtering_kind(section, kind_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.
- % for entry in filter_visibility(inner_namespace.merged_entries, ('hidden','public')):
+ % for entry in filter_visibility(inner_namespace.merged_entries, ('public','ndk_public')):
% if not entry.synthetic:
case ${ndk(entry.name) | csym}:
+ % else:
+ assert(False),"A synthetic key should not present in NDK!"
% endif
% endfor
% endfor
% for entry in filter_visibility( \
get_children_by_filtering_kind(section, kind_name, 'merged_entries'), \
- ('hidden', 'public')):
+ ('public','ndk_public')):
% if not entry.synthetic:
case ${ndk(entry.name) | csym}:
% endif
diff --git a/camera/docs/CameraMetadataEnums.mako b/camera/docs/CameraMetadataEnums.mako
index eb4b1b00..b61fcc46 100644
--- a/camera/docs/CameraMetadataEnums.mako
+++ b/camera/docs/CameraMetadataEnums.mako
@@ -35,7 +35,7 @@
${value.notes | javadoc(metadata)}\
% endif
* @see ${target_class}#${entry.name | jkey_identifier}
- % if entry.applied_visibility == 'hidden' or value.hidden:
+ % if entry.applied_visibility in ('hidden', 'ndk_public') or value.hidden:
* @hide
%endif
% if value.deprecated:
@@ -52,11 +52,11 @@ ${value.notes | javadoc(metadata)}\
% 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) and \
- any_visible(section, xml_name, ('public','hidden') ):
+ any_visible(section, xml_name, ('public','hidden', 'ndk_public', 'java_public') ):
% 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.
- % for entry in filter_visibility(inner_namespace.entries, ('hidden','public')):
+ % for entry in filter_visibility(inner_namespace.entries, ('hidden','public', 'ndk_public', 'java_public')):
% if entry.enum \
and not (entry.typedef and entry.typedef.languages.get('java')) \
and not entry.is_clone():
@@ -66,7 +66,7 @@ ${generate_enum(entry, target_class)}\
% endfor
% for entry in filter_visibility( \
get_children_by_filtering_kind(section, xml_name, 'entries'), \
- ('hidden', 'public')):
+ ('hidden', 'public', 'ndk_public', 'java_public')):
% if entry.enum \
and not (entry.typedef and entry.typedef.languages.get('java')) \
and not entry.is_clone():
diff --git a/camera/docs/CameraMetadataKeys.mako b/camera/docs/CameraMetadataKeys.mako
index f9286fa7..f9ce15ee 100644
--- a/camera/docs/CameraMetadataKeys.mako
+++ b/camera/docs/CameraMetadataKeys.mako
@@ -53,14 +53,14 @@ ${concatenated_info | javadoc(metadata)}\
% if entry.deprecated:
* @deprecated
% endif
- % if entry.applied_visibility == 'hidden':
+ % if entry.applied_visibility in ('hidden', 'ndk_public'):
* @hide
% endif
*/
% if entry.deprecated:
@Deprecated
% endif
- % if entry.applied_visibility == 'public':
+ % if entry.applied_visibility in ('public', 'java_public'):
@PublicKey
% endif
% if entry.synthetic:
@@ -75,17 +75,17 @@ ${concatenated_info | javadoc(metadata)}\
% 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) and \
- any_visible(section, xml_name, ('public','hidden') ):
+ any_visible(section, xml_name, ('public','hidden','ndk_public','java_public') ):
% 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.
- % for entry in filter_visibility(inner_namespace.merged_entries, ('hidden','public')):
+ % for entry in filter_visibility(inner_namespace.merged_entries, ('hidden','public', 'ndk_public', 'java_public')):
${generate_key(entry)}
% endfor
% endfor
% for entry in filter_visibility( \
get_children_by_filtering_kind(section, xml_name, 'merged_entries'), \
- ('hidden', 'public')):
+ ('hidden', 'public', 'ndk_public', 'java_public')):
${generate_key(entry)}
% endfor
% endif
diff --git a/camera/docs/CaptureResultTest.mako b/camera/docs/CaptureResultTest.mako
index 6fb49057..4878fd70 100644
--- a/camera/docs/CaptureResultTest.mako
+++ b/camera/docs/CaptureResultTest.mako
@@ -24,7 +24,7 @@
ArrayList> resultKeys = new ArrayList>();
% for sec in find_all_sections(metadata):
% for entry in find_unique_entries(sec):
- % if entry.kind == 'dynamic' and entry.visibility == "public":
+ % if entry.kind == 'dynamic' and entry.visibility in ("public", "java_public"):
resultKeys.add(CaptureResult.${jkey_identifier(entry.name)});
% endif
% endfor
diff --git a/camera/docs/camera_device_info.mako b/camera/docs/camera_device_info.mako
index 2227adb1..92b7ef2d 100644
--- a/camera/docs/camera_device_info.mako
+++ b/camera/docs/camera_device_info.mako
@@ -84,7 +84,7 @@ message CameraDeviceInfo {
idx = section_idx * pow(2,16)
%>\
% for entry in find_unique_entries(sec):
-% if entry.kind == 'static' and entry.visibility == "public":
+% if entry.kind == 'static' and entry.visibility in ("public", "java_public"):
${protobuf_type(entry)} ${protobuf_name(entry)} = ${idx};
<%\
idx += 1
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 9ce6cf00..e8f5afc5 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -4893,7 +4893,7 @@ mode camera devices.
3
- [hidden]
+ [ndk_public]
[legacy]
@@ -4941,7 +4941,7 @@ this value must be >= 1 for AE and AF. The order of the elements is:
int32
- [public]
+ [java_public]
[synthetic]
@@ -5001,7 +5001,7 @@ maxRegions to have this entry be automatically populated.
|
int32
- [public]
+ [java_public]
[synthetic]
@@ -5060,7 +5060,7 @@ maxRegions to have this entry be automatically populated.
|
int32
- [public]
+ [java_public]
[synthetic]
@@ -10448,7 +10448,7 @@ are stuck at an arbitrary value or are oversensitive).
|
byte
- [public as location]
+ [java_public as location]
[synthetic]
@@ -10501,7 +10501,7 @@ viewed by anyone who receives the JPEG image.
3
- [hidden]
+ [ndk_public]
[legacy]
@@ -10545,7 +10545,7 @@ EXIF.
|
byte
- [hidden as string]
+ [ndk_public as string]
[legacy]
@@ -10588,7 +10588,7 @@ include in EXIF.
|
int64
- [hidden]
+ [ndk_public]
[legacy]
@@ -11060,7 +11060,7 @@ JPEG
|
byte
- [public as location]
+ [java_public as location]
[synthetic]
@@ -11113,7 +11113,7 @@ viewed by anyone who receives the JPEG image.
3
- [hidden]
+ [ndk_public]
[legacy]
@@ -11157,7 +11157,7 @@ EXIF.
|
byte
- [hidden as string]
+ [ndk_public as string]
[legacy]
@@ -11200,7 +11200,7 @@ include in EXIF.
|
int64
- [hidden]
+ [ndk_public]
[legacy]
@@ -12299,7 +12299,7 @@ the MANUAL_SENSOR capability.
2
- [hidden as size]
+ [ndk_public as size]
[full]
@@ -14908,7 +14908,7 @@ REPROCESS. For HAL3, this tag is redundant.
3
- [hidden]
+ [ndk_public]
[legacy]
@@ -14982,7 +14982,7 @@ into the 3 stream types as below:
|
int32
- [public]
+ [java_public]
[synthetic]
@@ -15045,7 +15045,7 @@ never support raw streams.
|
int32
- [public]
+ [java_public]
[synthetic]
@@ -15113,7 +15113,7 @@ processed format -- it will return 0 for a non-stalling stream.
|
int32
- [public]
+ [java_public]
[synthetic]
@@ -15896,7 +15896,7 @@ DEPTH).
n
- [hidden]
+ [ndk_public]
[legacy]
@@ -15969,7 +15969,7 @@ via
n
- [hidden]
+ [ndk_public]
[legacy]
@@ -16050,7 +16050,7 @@ here or in the vendor tag list.
n
- [hidden]
+ [ndk_public]
[legacy]
@@ -17356,7 +17356,7 @@ additional formats if it so chooses.
n x 4
- [hidden as streamConfiguration]
+ [ndk_public as streamConfiguration]
[legacy]
@@ -17543,7 +17543,7 @@ YUV_420_888 must also be available for IMPLEMENTATION_DEFINED.
4 x n
- [hidden as streamConfigurationDuration]
+ [ndk_public as streamConfigurationDuration]
[legacy]
@@ -17609,7 +17609,7 @@ calculating the max frame rate.
4 x n
- [hidden as streamConfigurationDuration]
+ [ndk_public as streamConfigurationDuration]
[legacy]
@@ -17725,7 +17725,7 @@ and IMPLEMENTATION_DEFINED must not have stall durations.
|
int32
- [public as streamConfigurationMap]
+ [java_public as streamConfigurationMap]
[synthetic]
@@ -22997,7 +22997,7 @@ FULL mode must also fill in androi
n
- [hidden]
+ [ndk_public]
[legacy]
@@ -23053,7 +23053,7 @@ assigned a new ID.
n x 6
- [hidden]
+ [ndk_public]
[legacy]
@@ -23110,7 +23110,7 @@ faces.
n x 4
- [hidden as rectangle]
+ [ndk_public as rectangle]
[legacy]
@@ -23167,7 +23167,7 @@ faces.
n
- [hidden]
+ [ndk_public]
[legacy]
@@ -23231,7 +23231,7 @@ all times is illegal).
n
- [public as face]
+ [java_public as face]
[synthetic]
@@ -23577,7 +23577,7 @@ image of a gray wall (using bicubic interpolation for visual quality) as capture
4 x n x m
- [hidden]
+ [ndk_public]
[full]
@@ -24131,7 +24131,7 @@ the output result metadata.
n x 2
- [hidden]
+ [ndk_public]
[full]
@@ -24184,7 +24184,7 @@ CONTRAST_CURVE.
n x 2
- [hidden]
+ [ndk_public]
[full]
@@ -24237,7 +24237,7 @@ CONTRAST_CURVE.
n x 2
- [hidden]
+ [ndk_public]
[full]
@@ -24338,7 +24338,7 @@ control points used as are available.
|
float
- [public as tonemapCurve]
+ [java_public as tonemapCurve]
[synthetic]
@@ -24845,7 +24845,7 @@ capture rate, then FAST and HIGH_QUALITY will generate the same outp
n x 2
- [hidden]
+ [ndk_public]
[full]
@@ -24898,7 +24898,7 @@ CONTRAST_CURVE.
n x 2
- [hidden]
+ [ndk_public]
[full]
@@ -24951,7 +24951,7 @@ CONTRAST_CURVE.
n x 2
- [hidden]
+ [ndk_public]
[full]
@@ -25052,7 +25052,7 @@ control points used as are available.
|
float
- [public as tonemapCurve]
+ [java_public as tonemapCurve]
[synthetic]
@@ -26093,7 +26093,7 @@ possible again.
|
int64
- [hidden]
+ [ndk_public]
[legacy]
@@ -26405,7 +26405,7 @@ to know when sensor settings have been applied.
|
float
- [public]
+ [java_public]
[limited]
@@ -26513,7 +26513,7 @@ Similarly, for edge enhancement reprocessing, it is only effective w
|
float
- [public]
+ [java_public]
[limited]
@@ -26621,7 +26621,7 @@ Similarly, for edge enhancement reprocessing, it is only effective w
|
int32
- [public]
+ [java_public]
[limited]
@@ -26779,7 +26779,7 @@ not be defined.
n x 4
- [hidden as streamConfiguration]
+ [ndk_public as streamConfiguration]
[limited]
@@ -26852,7 +26852,7 @@ the entries for HAL_PIXEL_FORMAT_Y16.
4 x n
- [hidden as streamConfigurationDuration]
+ [ndk_public as streamConfigurationDuration]
[limited]
@@ -26917,7 +26917,7 @@ calculating the max frame rate.
4 x n
- [hidden as streamConfigurationDuration]
+ [ndk_public as streamConfigurationDuration]
[limited]
diff --git a/camera/docs/metadata_helpers.py b/camera/docs/metadata_helpers.py
index 0e5855f2..c18b1745 100644
--- a/camera/docs/metadata_helpers.py
+++ b/camera/docs/metadata_helpers.py
@@ -834,7 +834,7 @@ def javadoc(metadata, indent = 4):
# Convert metadata entry "android.x.y.z" to form
# "{@link CaptureRequest#X_Y_Z android.x.y.z}"
def javadoc_crossref_filter(node):
- if node.applied_visibility == 'public':
+ if node.applied_visibility in ('public', 'java_public'):
return '{@link %s#%s %s}' % (kind_mapping[node.kind],
jkey_identifier(node.name),
node.name)
@@ -844,7 +844,7 @@ def javadoc(metadata, indent = 4):
# For each public tag "android.x.y.z" referenced, add a
# "@see CaptureRequest#X_Y_Z"
def javadoc_crossref_see_filter(node_set):
- node_set = (x for x in node_set if x.applied_visibility == 'public')
+ node_set = (x for x in node_set if x.applied_visibility in ('public', 'java_public'))
text = '\n'
for node in node_set:
@@ -1133,6 +1133,18 @@ def remove_synthetic(entries):
"""
return (e for e in entries if not e.synthetic)
+def filter_ndk_visible(entries):
+ """
+ Filter the given entries by removing those that are not NDK visible.
+
+ Args:
+ entries: An iterable of Entry nodes
+
+ Yields:
+ An iterable of Entry nodes
+ """
+ return (e for e in entries if e.applied_ndk_visible == 'true')
+
def wbr(text):
"""
Insert word break hints for the browser in the form of HTML tags.
diff --git a/camera/docs/metadata_model.py b/camera/docs/metadata_model.py
index 315c97c2..37689e5e 100644
--- a/camera/docs/metadata_model.py
+++ b/camera/docs/metadata_model.py
@@ -1031,6 +1031,9 @@ class Entry(Node):
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.
+ applied_ndk_visible: Always valid. Default is 'false'.
+ Set to 'true' when the visibility implied entry is visible
+ in NDK.
synthetic: The C-level visibility of this entry ('false', 'true').
Synthetic entries will not be generated into the native metadata
list of entries (in C code). In general a synthetic entry is
@@ -1137,6 +1140,12 @@ class Entry(Node):
return self._visibility or 'system'
@property
+ def applied_ndk_visible(self):
+ if self._visibility in ("public", "ndk_public"):
+ return "true"
+ return "false"
+
+ @property
def synthetic(self):
return self._synthetic
@@ -1274,6 +1283,7 @@ class Entry(Node):
self._hwlevel = kwargs.get('hwlevel')
self._deprecated = kwargs.get('deprecated', False)
self._optional = kwargs.get('optional')
+ self._ndk_visible = kwargs.get('ndk_visible')
self._property_keys = kwargs
@@ -1470,6 +1480,7 @@ class MergedEntry(Entry):
'type',
'type_notes',
'visibility',
+ 'ndk_visible',
'synthetic',
'hwlevel',
'deprecated',
diff --git a/camera/docs/metadata_properties.xml b/camera/docs/metadata_properties.xml
index 40c4cd18..25def219 100644
--- a/camera/docs/metadata_properties.xml
+++ b/camera/docs/metadata_properties.xml
@@ -2084,7 +2084,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
3
@@ -2102,7 +2102,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
`(AE, AWB, AF)`.
-
The maximum number of metering regions that can be used by the auto-exposure (AE)
@@ -2119,7 +2119,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
maxRegions to have this entry be automatically populated.
-
The maximum number of metering regions that can be used by the auto-white balance (AWB)
@@ -2135,7 +2135,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
maxRegions to have this entry be automatically populated.
-
The maximum number of metering regions that can be used by the auto-focus (AF) routine.
@@ -3140,7 +3140,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
A location object to use when generating image GPS metadata.
@@ -3151,7 +3151,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
viewed by anyone who receives the JPEG image.
-
@@ -3162,14 +3162,14 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
(-180 - 180], [-90,90], [-inf, inf]
-
32 characters describing GPS algorithm to
include in EXIF.
UTF-8 null-terminated string
-
+
Time GPS fix was made to include in
EXIF.
UTC in seconds since January 1, 1970
@@ -3577,7 +3577,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
the MANUAL_SENSOR capability.
-
@@ -4286,8 +4286,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
3
@@ -4329,7 +4329,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
The maximum numbers of different types of output streams
that can be configured and used simultaneously by a camera device
for any `RAW` formats.
@@ -4356,7 +4357,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
never support raw streams.
-
+
The maximum numbers of different types of output streams
that can be configured and used simultaneously by a camera device
for any processed (but not-stalling) formats.
@@ -4391,7 +4393,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
LEGACY devices will support at least 2 processing/non-stalling streams.
-
+
The maximum numbers of different types of output streams
that can be configured and used simultaneously by a camera device
for any processed (and stalling) formats.
@@ -4970,8 +4973,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
DEPTH).
-
+
n
@@ -5002,8 +5005,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
{@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys}.
-
+
n
@@ -5045,8 +5048,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
android.hardware.camera2.CameraCharacteristics#getAvailableCaptureResultKeys}.
-
+
n
@@ -5507,9 +5510,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
n
4
@@ -5609,9 +5611,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
* available[Processed,Raw,Jpeg]Sizes
-
+
4
n
@@ -5640,7 +5641,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
4
@@ -5724,7 +5725,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
The available stream configurations that this
@@ -7501,8 +7502,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
n
@@ -7515,9 +7516,9 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
Only available if android.statistics.faceDetectMode == FULL
-
+
n
6
@@ -7531,9 +7532,9 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
Only available if android.statistics.faceDetectMode == FULL
-
+
n
4
@@ -7547,8 +7548,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
Only available if android.statistics.faceDetectMode != OFF
-
+
n
@@ -7562,7 +7563,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
all times is illegal).
-
n
@@ -7659,7 +7660,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
![Image of a uniform white wall (inverse shading map)](android.statistics.lensShadingMap/inv_shading.png)
-
@@ -7896,7 +7897,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
@@ -7908,7 +7909,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
CONTRAST_CURVE.
See android.tonemap.curveRed for more details.
-
@@ -7920,7 +7921,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
CONTRAST_CURVE.
See android.tonemap.curveRed for more details.
-
@@ -7995,7 +7996,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
control points used as are available.
-
Tonemapping / contrast / gamma curve to use when android.tonemap.mode
@@ -8539,8 +8540,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
CONVERGING
@@ -8731,7 +8732,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
The amount of exposure time increase factor applied to the original output
frame by the application processing before sending for reprocessing.
@@ -8782,7 +8783,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
The maximal camera capture pipeline stall (in unit of frame count) introduced by a
reprocess capture request.
@@ -8831,9 +8832,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
n
4
@@ -8863,9 +8863,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
+
4
n
@@ -8894,7 +8893,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
-
4
diff --git a/camera/docs/metadata_properties.xsd b/camera/docs/metadata_properties.xsd
index a71a6c93..6401cd0d 100644
--- a/camera/docs/metadata_properties.xsd
+++ b/camera/docs/metadata_properties.xsd
@@ -194,9 +194,11 @@
-
-
-
+
+
+
+
+
diff --git a/camera/docs/ndk_camera_metadata_tags.mako b/camera/docs/ndk_camera_metadata_tags.mako
index 96123171..7b0294c1 100644
--- a/camera/docs/ndk_camera_metadata_tags.mako
+++ b/camera/docs/ndk_camera_metadata_tags.mako
@@ -65,12 +65,12 @@ typedef enum acamera_metadata_tag {
% for sec in find_all_sections(metadata):
<%
entries = remove_synthetic(find_unique_entries(sec))
- skip_sec = all(e.applied_visibility == "system" for e in entries)
+ skip_sec = all(e.applied_ndk_visible == "false" for e in entries)
if skip_sec:
continue
%>\
% for idx,entry in enumerate(remove_synthetic(find_unique_entries(sec))):
- % if entry.applied_visibility != "system":
+ % if entry.applied_ndk_visible == "true":
% if entry.deprecated:
${ndk(entry.name) + " = " | csym,ljust(60)}// Deprecated! DO NOT USE
% else:
@@ -93,7 +93,7 @@ typedef enum acamera_metadata_tag {
*/
% for sec in find_all_sections(metadata):
- % for entry in filter_visibility(remove_synthetic(find_unique_entries(sec)), ("public", "hidden")):
+ % for entry in filter_ndk_visible(remove_synthetic(find_unique_entries(sec))):
% if entry.enum:
// ${ndk(entry.name) | csym}
typedef enum acamera_metadata_enum_${csym(ndk(entry.name)).lower()} {
diff --git a/camera/include/system/camera_metadata_tags.h b/camera/include/system/camera_metadata_tags.h
index a8c4c2a5..443af403 100644
--- a/camera/include/system/camera_metadata_tags.h
+++ b/camera/include/system/camera_metadata_tags.h
@@ -146,7 +146,7 @@ typedef enum camera_metadata_tag {
ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
// byte[] | public
ANDROID_CONTROL_AWB_AVAILABLE_MODES, // byte[] | public
- ANDROID_CONTROL_MAX_REGIONS, // int32[] | hidden
+ ANDROID_CONTROL_MAX_REGIONS, // int32[] | ndk_public
ANDROID_CONTROL_SCENE_MODE_OVERRIDES, // byte[] | system
ANDROID_CONTROL_AE_PRECAPTURE_ID, // int32 | system
ANDROID_CONTROL_AE_STATE, // enum | public
@@ -191,10 +191,10 @@ typedef enum camera_metadata_tag {
ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES, // byte[] | public
ANDROID_HOT_PIXEL_END,
- ANDROID_JPEG_GPS_COORDINATES = // double[] | hidden
+ ANDROID_JPEG_GPS_COORDINATES = // double[] | ndk_public
ANDROID_JPEG_START,
- ANDROID_JPEG_GPS_PROCESSING_METHOD, // byte | hidden
- ANDROID_JPEG_GPS_TIMESTAMP, // int64 | hidden
+ ANDROID_JPEG_GPS_PROCESSING_METHOD, // byte | ndk_public
+ ANDROID_JPEG_GPS_TIMESTAMP, // int64 | ndk_public
ANDROID_JPEG_ORIENTATION, // int32 | public
ANDROID_JPEG_QUALITY, // byte | public
ANDROID_JPEG_THUMBNAIL_QUALITY, // byte | public
@@ -226,7 +226,7 @@ typedef enum camera_metadata_tag {
ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,// byte[] | public
ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE, // float | public
ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE, // float | public
- ANDROID_LENS_INFO_SHADING_MAP_SIZE, // int32[] | hidden
+ ANDROID_LENS_INFO_SHADING_MAP_SIZE, // int32[] | ndk_public
ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION, // enum | public
ANDROID_LENS_INFO_END,
@@ -252,16 +252,16 @@ typedef enum camera_metadata_tag {
ANDROID_REQUEST_METADATA_MODE, // enum | system
ANDROID_REQUEST_OUTPUT_STREAMS, // int32[] | system
ANDROID_REQUEST_TYPE, // enum | system
- ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS, // int32[] | hidden
+ ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS, // int32[] | ndk_public
ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS, // int32[] | system
ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS, // int32 | public
ANDROID_REQUEST_PIPELINE_DEPTH, // byte | public
ANDROID_REQUEST_PIPELINE_MAX_DEPTH, // byte | public
ANDROID_REQUEST_PARTIAL_RESULT_COUNT, // int32 | public
ANDROID_REQUEST_AVAILABLE_CAPABILITIES, // enum[] | public
- ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS, // int32[] | hidden
- ANDROID_REQUEST_AVAILABLE_RESULT_KEYS, // int32[] | hidden
- ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS, // int32[] | hidden
+ ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS, // int32[] | ndk_public
+ ANDROID_REQUEST_AVAILABLE_RESULT_KEYS, // int32[] | ndk_public
+ ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS, // int32[] | ndk_public
ANDROID_REQUEST_END,
ANDROID_SCALER_CROP_REGION = // int32[] | public
@@ -275,9 +275,9 @@ typedef enum camera_metadata_tag {
ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS, // int64[] | system
ANDROID_SCALER_AVAILABLE_RAW_SIZES, // int32[] | system
ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP,// int32 | hidden
- ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS, // enum[] | hidden
- ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS, // int64[] | hidden
- ANDROID_SCALER_AVAILABLE_STALL_DURATIONS, // int64[] | hidden
+ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS, // enum[] | ndk_public
+ ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS, // int64[] | ndk_public
+ ANDROID_SCALER_AVAILABLE_STALL_DURATIONS, // int64[] | ndk_public
ANDROID_SCALER_CROPPING_TYPE, // enum | public
ANDROID_SCALER_END,
@@ -341,14 +341,14 @@ typedef enum camera_metadata_tag {
ANDROID_STATISTICS_HISTOGRAM_MODE, // enum | system
ANDROID_STATISTICS_SHARPNESS_MAP_MODE, // enum | system
ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE, // enum | public
- ANDROID_STATISTICS_FACE_IDS, // int32[] | hidden
- ANDROID_STATISTICS_FACE_LANDMARKS, // int32[] | hidden
- ANDROID_STATISTICS_FACE_RECTANGLES, // int32[] | hidden
- ANDROID_STATISTICS_FACE_SCORES, // byte[] | hidden
+ ANDROID_STATISTICS_FACE_IDS, // int32[] | ndk_public
+ ANDROID_STATISTICS_FACE_LANDMARKS, // int32[] | ndk_public
+ ANDROID_STATISTICS_FACE_RECTANGLES, // int32[] | ndk_public
+ ANDROID_STATISTICS_FACE_SCORES, // byte[] | ndk_public
ANDROID_STATISTICS_HISTOGRAM, // int32[] | system
ANDROID_STATISTICS_SHARPNESS_MAP, // int32[] | system
ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP, // byte | public
- ANDROID_STATISTICS_LENS_SHADING_MAP, // float[] | hidden
+ ANDROID_STATISTICS_LENS_SHADING_MAP, // float[] | ndk_public
ANDROID_STATISTICS_PREDICTED_COLOR_GAINS, // float[] | hidden
ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM, // rational[] | hidden
ANDROID_STATISTICS_SCENE_FLICKER, // enum | public
@@ -370,10 +370,10 @@ typedef enum camera_metadata_tag {
// byte[] | public
ANDROID_STATISTICS_INFO_END,
- ANDROID_TONEMAP_CURVE_BLUE = // float[] | hidden
+ ANDROID_TONEMAP_CURVE_BLUE = // float[] | ndk_public
ANDROID_TONEMAP_START,
- ANDROID_TONEMAP_CURVE_GREEN, // float[] | hidden
- ANDROID_TONEMAP_CURVE_RED, // float[] | hidden
+ ANDROID_TONEMAP_CURVE_GREEN, // float[] | ndk_public
+ ANDROID_TONEMAP_CURVE_RED, // float[] | ndk_public
ANDROID_TONEMAP_MODE, // enum | public
ANDROID_TONEMAP_MAX_CURVE_POINTS, // int32 | public
ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES, // byte[] | public
@@ -394,22 +394,22 @@ typedef enum camera_metadata_tag {
ANDROID_BLACK_LEVEL_START,
ANDROID_BLACK_LEVEL_END,
- ANDROID_SYNC_FRAME_NUMBER = // enum | hidden
+ ANDROID_SYNC_FRAME_NUMBER = // enum | ndk_public
ANDROID_SYNC_START,
ANDROID_SYNC_MAX_LATENCY, // enum | public
ANDROID_SYNC_END,
- ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR = // float | public
+ ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR = // float | java_public
ANDROID_REPROCESS_START,
- ANDROID_REPROCESS_MAX_CAPTURE_STALL, // int32 | public
+ ANDROID_REPROCESS_MAX_CAPTURE_STALL, // int32 | java_public
ANDROID_REPROCESS_END,
ANDROID_DEPTH_MAX_DEPTH_SAMPLES = // int32 | system
ANDROID_DEPTH_START,
ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS,
- // enum[] | hidden
- ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS,// int64[] | hidden
- ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS, // int64[] | hidden
+ // enum[] | ndk_public
+ ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS,// int64[] | ndk_public
+ ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS, // int64[] | ndk_public
ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE, // enum | public
ANDROID_DEPTH_END,
|