diff options
author | Yin-Chia Yeh <yinchiayeh@google.com> | 2016-04-02 16:30:30 -0700 |
---|---|---|
committer | Yin-Chia Yeh <yinchiayeh@google.com> | 2016-04-07 15:25:12 -0700 |
commit | c6c2416a812ddb8bcb32fdefce1eff3a7ded9b61 (patch) | |
tree | a651f7797a84bd72d17952f46a9f82893489bf52 | |
parent | cf145ce63f52b730878339cd924170040aae4c13 (diff) | |
download | android_system_media-c6c2416a812ddb8bcb32fdefce1eff3a7ded9b61.tar.gz android_system_media-c6c2416a812ddb8bcb32fdefce1eff3a7ded9b61.tar.bz2 android_system_media-c6c2416a812ddb8bcb32fdefce1eff3a7ded9b61.zip |
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
-rw-r--r-- | camera/docs/ACameraMetadata.mako | 8 | ||||
-rw-r--r-- | camera/docs/CameraMetadataEnums.mako | 8 | ||||
-rw-r--r-- | camera/docs/CameraMetadataKeys.mako | 10 | ||||
-rw-r--r-- | camera/docs/CaptureResultTest.mako | 2 | ||||
-rw-r--r-- | camera/docs/camera_device_info.mako | 2 | ||||
-rw-r--r-- | camera/docs/docs.html | 90 | ||||
-rw-r--r-- | camera/docs/metadata_helpers.py | 16 | ||||
-rw-r--r-- | camera/docs/metadata_model.py | 11 | ||||
-rw-r--r-- | camera/docs/metadata_properties.xml | 109 | ||||
-rw-r--r-- | camera/docs/metadata_properties.xsd | 8 | ||||
-rw-r--r-- | camera/docs/ndk_camera_metadata_tags.mako | 6 | ||||
-rw-r--r-- | camera/include/system/camera_metadata_tags.h | 52 |
12 files changed, 174 insertions, 148 deletions
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<CaptureResult.Key<?>> resultKeys = new ArrayList<CaptureResult.Key<?>>(); % 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.<wbr/></p> <span class="entry_type_array"> 3 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -4941,7 +4941,7 @@ this value must be >= 1 for AE and AF.<wbr/> The order of the elements is: <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -5001,7 +5001,7 @@ maxRegions to have this entry be automatically populated.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -5060,7 +5060,7 @@ maxRegions to have this entry be automatically populated.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -10448,7 +10448,7 @@ are stuck at an arbitrary value or are oversensitive).<wbr/></p> <td class="entry_type"> <span class="entry_type_name">byte</span> - <span class="entry_type_visibility"> [public as location]</span> + <span class="entry_type_visibility"> [java_public as location]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -10501,7 +10501,7 @@ viewed by anyone who receives the JPEG image.<wbr/></p> <span class="entry_type_array"> 3 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -10545,7 +10545,7 @@ EXIF.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">byte</span> - <span class="entry_type_visibility"> [hidden as string]</span> + <span class="entry_type_visibility"> [ndk_public as string]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -10588,7 +10588,7 @@ include in EXIF.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int64</span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -11060,7 +11060,7 @@ JPEG</p> <td class="entry_type"> <span class="entry_type_name">byte</span> - <span class="entry_type_visibility"> [public as location]</span> + <span class="entry_type_visibility"> [java_public as location]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -11113,7 +11113,7 @@ viewed by anyone who receives the JPEG image.<wbr/></p> <span class="entry_type_array"> 3 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -11157,7 +11157,7 @@ EXIF.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">byte</span> - <span class="entry_type_visibility"> [hidden as string]</span> + <span class="entry_type_visibility"> [ndk_public as string]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -11200,7 +11200,7 @@ include in EXIF.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int64</span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -12299,7 +12299,7 @@ the MANUAL_<wbr/>SENSOR capability.<wbr/></p> <span class="entry_type_array"> 2 </span> - <span class="entry_type_visibility"> [hidden as size]</span> + <span class="entry_type_visibility"> [ndk_public as size]</span> <span class="entry_type_hwlevel">[full] </span> @@ -14908,7 +14908,7 @@ REPROCESS.<wbr/> For HAL3,<wbr/> this tag is redundant.<wbr/></p> <span class="entry_type_array"> 3 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -14982,7 +14982,7 @@ into the 3 stream types as below:</p> <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -15045,7 +15045,7 @@ never support raw streams.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -15113,7 +15113,7 @@ processed format -- it will return 0 for a non-stalling stream.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -15896,7 +15896,7 @@ DEPTH).<wbr/></p> <span class="entry_type_array"> n </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -15969,7 +15969,7 @@ via <span class="entry_type_array"> n </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -16050,7 +16050,7 @@ here or in the vendor tag list.<wbr/></p> <span class="entry_type_array"> n </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -17356,7 +17356,7 @@ additional formats if it so chooses.<wbr/></p> <span class="entry_type_array"> n x 4 </span> - <span class="entry_type_visibility"> [hidden as streamConfiguration]</span> + <span class="entry_type_visibility"> [ndk_public as streamConfiguration]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -17543,7 +17543,7 @@ YUV_<wbr/>420_<wbr/>888 must also be available for IMPLEMENTATION_<wbr/>DEFINED. <span class="entry_type_array"> 4 x n </span> - <span class="entry_type_visibility"> [hidden as streamConfigurationDuration]</span> + <span class="entry_type_visibility"> [ndk_public as streamConfigurationDuration]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -17609,7 +17609,7 @@ calculating the max frame rate.<wbr/></p> <span class="entry_type_array"> 4 x n </span> - <span class="entry_type_visibility"> [hidden as streamConfigurationDuration]</span> + <span class="entry_type_visibility"> [ndk_public as streamConfigurationDuration]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -17725,7 +17725,7 @@ and IMPLEMENTATION_<wbr/>DEFINED must not have stall durations.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public as streamConfigurationMap]</span> + <span class="entry_type_visibility"> [java_public as streamConfigurationMap]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -22997,7 +22997,7 @@ FULL mode must also fill in <a href="#dynamic_android.statistics.faceIds">androi <span class="entry_type_array"> n </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -23053,7 +23053,7 @@ assigned a new ID.<wbr/></p> <span class="entry_type_array"> n x 6 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -23110,7 +23110,7 @@ faces.<wbr/></p> <span class="entry_type_array"> n x 4 </span> - <span class="entry_type_visibility"> [hidden as rectangle]</span> + <span class="entry_type_visibility"> [ndk_public as rectangle]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -23167,7 +23167,7 @@ faces.<wbr/></p> <span class="entry_type_array"> n </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -23231,7 +23231,7 @@ all times is illegal).<wbr/></p> <span class="entry_type_array"> n </span> - <span class="entry_type_visibility"> [public as face]</span> + <span class="entry_type_visibility"> [java_public as face]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -23577,7 +23577,7 @@ image of a gray wall (using bicubic interpolation for visual quality) as capture <span class="entry_type_array"> 4 x n x m </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -24131,7 +24131,7 @@ the output result metadata.<wbr/></p> <span class="entry_type_array"> n x 2 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -24184,7 +24184,7 @@ CONTRAST_<wbr/>CURVE.<wbr/></p> <span class="entry_type_array"> n x 2 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -24237,7 +24237,7 @@ CONTRAST_<wbr/>CURVE.<wbr/></p> <span class="entry_type_array"> n x 2 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -24338,7 +24338,7 @@ control points used as are available.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">float</span> - <span class="entry_type_visibility"> [public as tonemapCurve]</span> + <span class="entry_type_visibility"> [java_public as tonemapCurve]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -24845,7 +24845,7 @@ capture rate,<wbr/> then FAST and HIGH_<wbr/>QUALITY will generate the same outp <span class="entry_type_array"> n x 2 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -24898,7 +24898,7 @@ CONTRAST_<wbr/>CURVE.<wbr/></p> <span class="entry_type_array"> n x 2 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -24951,7 +24951,7 @@ CONTRAST_<wbr/>CURVE.<wbr/></p> <span class="entry_type_array"> n x 2 </span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[full] </span> @@ -25052,7 +25052,7 @@ control points used as are available.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">float</span> - <span class="entry_type_visibility"> [public as tonemapCurve]</span> + <span class="entry_type_visibility"> [java_public as tonemapCurve]</span> <span class="entry_type_synthetic">[synthetic] </span> @@ -26093,7 +26093,7 @@ possible again.<wbr/></p> <td class="entry_type"> <span class="entry_type_name entry_type_name_enum">int64</span> - <span class="entry_type_visibility"> [hidden]</span> + <span class="entry_type_visibility"> [ndk_public]</span> <span class="entry_type_hwlevel">[legacy] </span> @@ -26405,7 +26405,7 @@ to know when sensor settings have been applied.<wbr/></p> <td class="entry_type"> <span class="entry_type_name">float</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_hwlevel">[limited] </span> @@ -26513,7 +26513,7 @@ Similarly,<wbr/> for edge enhancement reprocessing,<wbr/> it is only effective w <td class="entry_type"> <span class="entry_type_name">float</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_hwlevel">[limited] </span> @@ -26621,7 +26621,7 @@ Similarly,<wbr/> for edge enhancement reprocessing,<wbr/> it is only effective w <td class="entry_type"> <span class="entry_type_name">int32</span> - <span class="entry_type_visibility"> [public]</span> + <span class="entry_type_visibility"> [java_public]</span> <span class="entry_type_hwlevel">[limited] </span> @@ -26779,7 +26779,7 @@ not be defined.<wbr/></p> <span class="entry_type_array"> n x 4 </span> - <span class="entry_type_visibility"> [hidden as streamConfiguration]</span> + <span class="entry_type_visibility"> [ndk_public as streamConfiguration]</span> <span class="entry_type_hwlevel">[limited] </span> @@ -26852,7 +26852,7 @@ the entries for HAL_<wbr/>PIXEL_<wbr/>FORMAT_<wbr/>Y16.<wbr/></p> <span class="entry_type_array"> 4 x n </span> - <span class="entry_type_visibility"> [hidden as streamConfigurationDuration]</span> + <span class="entry_type_visibility"> [ndk_public as streamConfigurationDuration]</span> <span class="entry_type_hwlevel">[limited] </span> @@ -26917,7 +26917,7 @@ calculating the max frame rate.<wbr/></p> <span class="entry_type_array"> 4 x n </span> - <span class="entry_type_visibility"> [hidden as streamConfigurationDuration]</span> + <span class="entry_type_visibility"> [ndk_public as streamConfigurationDuration]</span> <span class="entry_type_hwlevel">[limited] </span> 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 <wbr> 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 </details> <tag id="BC" /> </entry> - <entry name="maxRegions" type="int32" visibility="hidden" + <entry name="maxRegions" type="int32" visibility="ndk_public" container="array" hwlevel="legacy"> <array> <size>3</size> @@ -2102,7 +2102,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata `(AE, AWB, AF)`.</range> <tag id="BC" /> </entry> - <entry name="maxRegionsAe" type="int32" visibility="public" + <entry name="maxRegionsAe" type="int32" visibility="java_public" synthetic="true" hwlevel="legacy"> <description> 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. </hal_details> </entry> - <entry name="maxRegionsAwb" type="int32" visibility="public" + <entry name="maxRegionsAwb" type="int32" visibility="java_public" synthetic="true" hwlevel="legacy"> <description> 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. </hal_details> </entry> - <entry name="maxRegionsAf" type="int32" visibility="public" + <entry name="maxRegionsAf" type="int32" visibility="java_public" synthetic="true" hwlevel="legacy"> <description> 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 </section> <section name="jpeg"> <controls> - <entry name="gpsLocation" type="byte" visibility="public" synthetic="true" + <entry name="gpsLocation" type="byte" visibility="java_public" synthetic="true" typedef="location" hwlevel="legacy"> <description> 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. </details> </entry> - <entry name="gpsCoordinates" type="double" visibility="hidden" + <entry name="gpsCoordinates" type="double" visibility="ndk_public" type_notes="latitude, longitude, altitude. First two in degrees, the third in meters" container="array" hwlevel="legacy"> <array> @@ -3162,14 +3162,14 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata <range>(-180 - 180], [-90,90], [-inf, inf]</range> <tag id="BC" /> </entry> - <entry name="gpsProcessingMethod" type="byte" visibility="hidden" + <entry name="gpsProcessingMethod" type="byte" visibility="ndk_public" typedef="string" hwlevel="legacy"> <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" visibility="hidden" hwlevel="legacy"> + <entry name="gpsTimestamp" type="int64" visibility="ndk_public" hwlevel="legacy"> <description>Time GPS fix was made to include in EXIF.</description> <units>UTC in seconds since January 1, 1970</units> @@ -3577,7 +3577,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata the MANUAL_SENSOR capability.</hal_details> <tag id="V1" /> </entry> - <entry name="shadingMapSize" type="int32" visibility="hidden" + <entry name="shadingMapSize" type="int32" visibility="ndk_public" type_notes="width and height (N, M) of lens shading map provided by the camera device." container="array" typedef="size" hwlevel="full"> <array> @@ -4286,8 +4286,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </entry> </controls> <static> - <entry name="maxNumOutputStreams" type="int32" visibility="hidden" - container="array" hwlevel="legacy"> + <entry name="maxNumOutputStreams" type="int32" visibility="ndk_public" + container="array" hwlevel="legacy"> <array> <size>3</size> </array> @@ -4329,7 +4329,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </details> <tag id="BC" /> </entry> - <entry name="maxNumOutputRaw" type="int32" visibility="public" synthetic="true" hwlevel="legacy"> + <entry name="maxNumOutputRaw" type="int32" visibility="java_public" synthetic="true" + hwlevel="legacy"> <description>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. </details> </entry> - <entry name="maxNumOutputProc" type="int32" visibility="public" synthetic="true" hwlevel="legacy"> + <entry name="maxNumOutputProc" type="int32" visibility="java_public" synthetic="true" + hwlevel="legacy"> <description>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. </details> </entry> - <entry name="maxNumOutputProcStalling" type="int32" visibility="public" synthetic="true" hwlevel="legacy"> + <entry name="maxNumOutputProcStalling" type="int32" visibility="java_public" synthetic="true" + hwlevel="legacy"> <description>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). </hal_details> </entry> - <entry name="availableRequestKeys" type="int32" visibility="hidden" - container="array" hwlevel="legacy"> + <entry name="availableRequestKeys" type="int32" visibility="ndk_public" + container="array" hwlevel="legacy"> <array> <size>n</size> </array> @@ -5002,8 +5005,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys}. </hal_details> </entry> - <entry name="availableResultKeys" type="int32" visibility="hidden" - container="array" hwlevel="legacy"> + <entry name="availableResultKeys" type="int32" visibility="ndk_public" + container="array" hwlevel="legacy"> <array> <size>n</size> </array> @@ -5045,8 +5048,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata android.hardware.camera2.CameraCharacteristics#getAvailableCaptureResultKeys}. </hal_details> </entry> - <entry name="availableCharacteristicsKeys" type="int32" visibility="hidden" - container="array" hwlevel="legacy"> + <entry name="availableCharacteristicsKeys" type="int32" visibility="ndk_public" + container="array" hwlevel="legacy"> <array> <size>n</size> </array> @@ -5507,9 +5510,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </hal_details> <tag id="REPROC" /> </entry> - <entry name="availableStreamConfigurations" type="int32" visibility="hidden" - enum="true" container="array" - typedef="streamConfiguration" hwlevel="legacy"> + <entry name="availableStreamConfigurations" type="int32" visibility="ndk_public" + enum="true" container="array" typedef="streamConfiguration" hwlevel="legacy"> <array> <size>n</size> <size>4</size> @@ -5609,9 +5611,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata * available[Processed,Raw,Jpeg]Sizes </hal_details> </entry> - <entry name="availableMinFrameDurations" type="int64" visibility="hidden" - container="array" - typedef="streamConfigurationDuration" hwlevel="legacy"> + <entry name="availableMinFrameDurations" type="int64" visibility="ndk_public" + container="array" typedef="streamConfigurationDuration" hwlevel="legacy"> <array> <size>4</size> <size>n</size> @@ -5640,7 +5641,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </details> <tag id="V1" /> </entry> - <entry name="availableStallDurations" type="int64" visibility="hidden" + <entry name="availableStallDurations" type="int64" visibility="ndk_public" container="array" typedef="streamConfigurationDuration" hwlevel="legacy"> <array> <size>4</size> @@ -5724,7 +5725,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </hal_details> <tag id="V1" /> </entry> - <entry name="streamConfigurationMap" type="int32" visibility="public" + <entry name="streamConfigurationMap" type="int32" visibility="java_public" synthetic="true" typedef="streamConfigurationMap" hwlevel="legacy"> <description>The available stream configurations that this @@ -7501,8 +7502,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata <dynamic> <clone entry="android.statistics.faceDetectMode" kind="controls"></clone> - <entry name="faceIds" type="int32" visibility="hidden" container="array" - hwlevel="legacy"> + <entry name="faceIds" type="int32" visibility="ndk_public" + container="array" hwlevel="legacy"> <array> <size>n</size> </array> @@ -7515,9 +7516,9 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata Only available if android.statistics.faceDetectMode == FULL</details> <tag id="BC" /> </entry> - <entry name="faceLandmarks" type="int32" visibility="hidden" - type_notes="(leftEyeX, leftEyeY, rightEyeX, rightEyeY, mouthX, mouthY)" - container="array" hwlevel="legacy"> + <entry name="faceLandmarks" type="int32" visibility="ndk_public" + type_notes="(leftEyeX, leftEyeY, rightEyeX, rightEyeY, mouthX, mouthY)" + container="array" hwlevel="legacy"> <array> <size>n</size> <size>6</size> @@ -7531,9 +7532,9 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata Only available if android.statistics.faceDetectMode == FULL</details> <tag id="BC" /> </entry> - <entry name="faceRectangles" type="int32" visibility="hidden" - type_notes="(xmin, ymin, xmax, ymax). (0,0) is top-left of active pixel area" - container="array" typedef="rectangle" hwlevel="legacy"> + <entry name="faceRectangles" type="int32" visibility="ndk_public" + type_notes="(xmin, ymin, xmax, ymax). (0,0) is top-left of active pixel area" + container="array" typedef="rectangle" hwlevel="legacy"> <array> <size>n</size> <size>4</size> @@ -7547,8 +7548,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata Only available if android.statistics.faceDetectMode != OFF</details> <tag id="BC" /> </entry> - <entry name="faceScores" type="byte" visibility="hidden" container="array" - hwlevel="legacy"> + <entry name="faceScores" type="byte" visibility="ndk_public" + container="array" hwlevel="legacy"> <array> <size>n</size> </array> @@ -7562,7 +7563,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata all times is illegal).</hal_details> <tag id="BC" /> </entry> - <entry name="faces" type="int32" visibility="public" synthetic="true" + <entry name="faces" type="int32" visibility="java_public" synthetic="true" container="array" typedef="face" hwlevel="legacy"> <array> <size>n</size> @@ -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) </details> </entry> - <entry name="lensShadingMap" type="float" visibility="hidden" + <entry name="lensShadingMap" type="float" visibility="ndk_public" type_notes="2D array of float gain factors per channel to correct lens shading" container="array" hwlevel="full"> <array> @@ -7896,7 +7897,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </section> <section name="tonemap"> <controls> - <entry name="curveBlue" type="float" visibility="hidden" + <entry name="curveBlue" type="float" visibility="ndk_public" type_notes="1D array of float pairs (P_IN, P_OUT). The maximum number of pairs is specified by android.tonemap.maxCurvePoints." container="array" hwlevel="full"> <array> @@ -7908,7 +7909,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata CONTRAST_CURVE.</description> <details>See android.tonemap.curveRed for more details.</details> </entry> - <entry name="curveGreen" type="float" visibility="hidden" + <entry name="curveGreen" type="float" visibility="ndk_public" type_notes="1D array of float pairs (P_IN, P_OUT). The maximum number of pairs is specified by android.tonemap.maxCurvePoints." container="array" hwlevel="full"> <array> @@ -7920,7 +7921,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata CONTRAST_CURVE.</description> <details>See android.tonemap.curveRed for more details.</details> </entry> - <entry name="curveRed" type="float" visibility="hidden" + <entry name="curveRed" type="float" visibility="ndk_public" type_notes="1D array of float pairs (P_IN, P_OUT). The maximum number of pairs is specified by android.tonemap.maxCurvePoints." container="array" hwlevel="full"> <array> @@ -7995,7 +7996,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata control points used as are available. </hal_details> </entry> - <entry name="curve" type="float" visibility="public" synthetic="true" + <entry name="curve" type="float" visibility="java_public" synthetic="true" typedef="tonemapCurve" hwlevel="full"> <description>Tonemapping / contrast / gamma curve to use when android.tonemap.mode @@ -8539,8 +8540,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </section> <section name="sync"> <dynamic> - <entry name="frameNumber" type="int64" visibility="hidden" enum="true" - hwlevel="legacy"> + <entry name="frameNumber" type="int64" visibility="ndk_public" + enum="true" hwlevel="legacy"> <enum> <value id="-1">CONVERGING <notes> @@ -8731,7 +8732,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </section> <section name="reprocess"> <controls> - <entry name="effectiveExposureFactor" type="float" visibility="public" hwlevel="limited"> + <entry name="effectiveExposureFactor" type="float" visibility="java_public" hwlevel="limited"> <description> 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 </clone> </dynamic> <static> - <entry name="maxCaptureStall" type="int32" visibility="public" hwlevel="limited"> + <entry name="maxCaptureStall" type="int32" visibility="java_public" hwlevel="limited"> <description> 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 </details> <tag id="DEPTH" /> </entry> - <entry name="availableDepthStreamConfigurations" type="int32" visibility="hidden" - enum="true" container="array" - typedef="streamConfiguration" hwlevel="limited"> + <entry name="availableDepthStreamConfigurations" type="int32" visibility="ndk_public" + enum="true" container="array" typedef="streamConfiguration" hwlevel="limited"> <array> <size>n</size> <size>4</size> @@ -8863,9 +8863,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </details> <tag id="DEPTH" /> </entry> - <entry name="availableDepthMinFrameDurations" type="int64" visibility="hidden" - container="array" - typedef="streamConfigurationDuration" hwlevel="limited"> + <entry name="availableDepthMinFrameDurations" type="int64" visibility="ndk_public" + container="array" typedef="streamConfigurationDuration" hwlevel="limited"> <array> <size>4</size> <size>n</size> @@ -8894,7 +8893,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata </details> <tag id="DEPTH" /> </entry> - <entry name="availableDepthStallDurations" type="int64" visibility="hidden" + <entry name="availableDepthStallDurations" type="int64" visibility="ndk_public" container="array" typedef="streamConfigurationDuration" hwlevel="limited"> <array> <size>4</size> 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 @@ <attribute name="visibility"> <simpleType> <restriction base="string"> - <enumeration value="system" /> <!-- do not expose to java --> - <enumeration value="hidden" /> <!-- java as @hide --> - <enumeration value="public" /> <!-- java as public SDK --> + <enumeration value="system" /> <!-- do not expose to java/NDK API --> + <enumeration value="java_public" /> <!-- java as public SDK. Not included in NDK --> + <enumeration value="ndk_public" /> <!-- public in NDK. @hide in java --> + <enumeration value="hidden" /> <!-- java as @hide. Not included in NDK --> + <enumeration value="public" /> <!-- public to both java and NDK --> </restriction> </simpleType> </attribute> 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, |