• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2012 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /**
18  * !! Do not include this file directly !!
19  *
20  * Include camera_metadata.h instead.
21  */
22 
23 /**
24  * ! Do not edit this file directly !
25  *
26  * Generated automatically from camera_metadata_tags.mako
27  */
28 
29 /** TODO: Nearly every enum in this file needs a description */
30 
31 /**
32  * Top level hierarchy definitions for camera metadata. *_INFO sections are for
33  * the static metadata that can be retrived without opening the camera device.
34  * New sections must be added right before ANDROID_SECTION_COUNT to maintain
35  * existing enumerations.
36  */
37 typedef enum camera_metadata_section {
38     ANDROID_COLOR_CORRECTION,
39     ANDROID_CONTROL,
40     ANDROID_DEMOSAIC,
41     ANDROID_EDGE,
42     ANDROID_FLASH,
43     ANDROID_FLASH_INFO,
44     ANDROID_HOT_PIXEL,
45     ANDROID_JPEG,
46     ANDROID_LENS,
47     ANDROID_LENS_INFO,
48     ANDROID_NOISE_REDUCTION,
49     ANDROID_QUIRKS,
50     ANDROID_REQUEST,
51     ANDROID_SCALER,
52     ANDROID_SENSOR,
53     ANDROID_SENSOR_INFO,
54     ANDROID_SHADING,
55     ANDROID_STATISTICS,
56     ANDROID_STATISTICS_INFO,
57     ANDROID_TONEMAP,
58     ANDROID_LED,
59     ANDROID_INFO,
60     ANDROID_BLACK_LEVEL,
61     ANDROID_SYNC,
62     ANDROID_REPROCESS,
63     ANDROID_DEPTH,
64     ANDROID_LOGICAL_MULTI_CAMERA,
65     ANDROID_DISTORTION_CORRECTION,
66     ANDROID_HEIC,
67     ANDROID_HEIC_INFO,
68     ANDROID_AUTOMOTIVE,
69     ANDROID_AUTOMOTIVE_LENS,
70     ANDROID_SECTION_COUNT,
71 
72     VENDOR_SECTION = 0x8000
73 } camera_metadata_section_t;
74 
75 /**
76  * Hierarchy positions in enum space. All vendor extension tags must be
77  * defined with tag >= VENDOR_SECTION_START
78  */
79 typedef enum camera_metadata_section_start {
80     ANDROID_COLOR_CORRECTION_START = ANDROID_COLOR_CORRECTION  << 16,
81     ANDROID_CONTROL_START          = ANDROID_CONTROL           << 16,
82     ANDROID_DEMOSAIC_START         = ANDROID_DEMOSAIC          << 16,
83     ANDROID_EDGE_START             = ANDROID_EDGE              << 16,
84     ANDROID_FLASH_START            = ANDROID_FLASH             << 16,
85     ANDROID_FLASH_INFO_START       = ANDROID_FLASH_INFO        << 16,
86     ANDROID_HOT_PIXEL_START        = ANDROID_HOT_PIXEL         << 16,
87     ANDROID_JPEG_START             = ANDROID_JPEG              << 16,
88     ANDROID_LENS_START             = ANDROID_LENS              << 16,
89     ANDROID_LENS_INFO_START        = ANDROID_LENS_INFO         << 16,
90     ANDROID_NOISE_REDUCTION_START  = ANDROID_NOISE_REDUCTION   << 16,
91     ANDROID_QUIRKS_START           = ANDROID_QUIRKS            << 16,
92     ANDROID_REQUEST_START          = ANDROID_REQUEST           << 16,
93     ANDROID_SCALER_START           = ANDROID_SCALER            << 16,
94     ANDROID_SENSOR_START           = ANDROID_SENSOR            << 16,
95     ANDROID_SENSOR_INFO_START      = ANDROID_SENSOR_INFO       << 16,
96     ANDROID_SHADING_START          = ANDROID_SHADING           << 16,
97     ANDROID_STATISTICS_START       = ANDROID_STATISTICS        << 16,
98     ANDROID_STATISTICS_INFO_START  = ANDROID_STATISTICS_INFO   << 16,
99     ANDROID_TONEMAP_START          = ANDROID_TONEMAP           << 16,
100     ANDROID_LED_START              = ANDROID_LED               << 16,
101     ANDROID_INFO_START             = ANDROID_INFO              << 16,
102     ANDROID_BLACK_LEVEL_START      = ANDROID_BLACK_LEVEL       << 16,
103     ANDROID_SYNC_START             = ANDROID_SYNC              << 16,
104     ANDROID_REPROCESS_START        = ANDROID_REPROCESS         << 16,
105     ANDROID_DEPTH_START            = ANDROID_DEPTH             << 16,
106     ANDROID_LOGICAL_MULTI_CAMERA_START
107                                    = ANDROID_LOGICAL_MULTI_CAMERA
108                                                                 << 16,
109     ANDROID_DISTORTION_CORRECTION_START
110                                    = ANDROID_DISTORTION_CORRECTION
111                                                                 << 16,
112     ANDROID_HEIC_START             = ANDROID_HEIC              << 16,
113     ANDROID_HEIC_INFO_START        = ANDROID_HEIC_INFO         << 16,
114     ANDROID_AUTOMOTIVE_START       = ANDROID_AUTOMOTIVE        << 16,
115     ANDROID_AUTOMOTIVE_LENS_START  = ANDROID_AUTOMOTIVE_LENS   << 16,
116     VENDOR_SECTION_START           = VENDOR_SECTION            << 16
117 } camera_metadata_section_start_t;
118 
119 /**
120  * Main enum for defining camera metadata tags.  New entries must always go
121  * before the section _END tag to preserve existing enumeration values.  In
122  * addition, the name and type of the tag needs to be added to
123  * system/media/camera/src/camera_metadata_tag_info.c
124  */
125 typedef enum camera_metadata_tag {
126     ANDROID_COLOR_CORRECTION_MODE =                   // enum         | public       | HIDL v3.2
127             ANDROID_COLOR_CORRECTION_START,
128     ANDROID_COLOR_CORRECTION_TRANSFORM,               // rational[]   | public       | HIDL v3.2
129     ANDROID_COLOR_CORRECTION_GAINS,                   // float[]      | public       | HIDL v3.2
130     ANDROID_COLOR_CORRECTION_ABERRATION_MODE,         // enum         | public       | HIDL v3.2
131     ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES,
132                                                       // byte[]       | public       | HIDL v3.2
133     ANDROID_COLOR_CORRECTION_END,
134 
135     ANDROID_CONTROL_AE_ANTIBANDING_MODE =             // enum         | public       | HIDL v3.2
136             ANDROID_CONTROL_START,
137     ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION,         // int32        | public       | HIDL v3.2
138     ANDROID_CONTROL_AE_LOCK,                          // enum         | public       | HIDL v3.2
139     ANDROID_CONTROL_AE_MODE,                          // enum         | public       | HIDL v3.2
140     ANDROID_CONTROL_AE_REGIONS,                       // int32[]      | public       | HIDL v3.2
141     ANDROID_CONTROL_AE_TARGET_FPS_RANGE,              // int32[]      | public       | HIDL v3.2
142     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,            // enum         | public       | HIDL v3.2
143     ANDROID_CONTROL_AF_MODE,                          // enum         | public       | HIDL v3.2
144     ANDROID_CONTROL_AF_REGIONS,                       // int32[]      | public       | HIDL v3.2
145     ANDROID_CONTROL_AF_TRIGGER,                       // enum         | public       | HIDL v3.2
146     ANDROID_CONTROL_AWB_LOCK,                         // enum         | public       | HIDL v3.2
147     ANDROID_CONTROL_AWB_MODE,                         // enum         | public       | HIDL v3.2
148     ANDROID_CONTROL_AWB_REGIONS,                      // int32[]      | public       | HIDL v3.2
149     ANDROID_CONTROL_CAPTURE_INTENT,                   // enum         | public       | HIDL v3.2
150     ANDROID_CONTROL_EFFECT_MODE,                      // enum         | public       | HIDL v3.2
151     ANDROID_CONTROL_MODE,                             // enum         | public       | HIDL v3.2
152     ANDROID_CONTROL_SCENE_MODE,                       // enum         | public       | HIDL v3.2
153     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE,         // enum         | public       | HIDL v3.2
154     ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,   // byte[]       | public       | HIDL v3.2
155     ANDROID_CONTROL_AE_AVAILABLE_MODES,               // byte[]       | public       | HIDL v3.2
156     ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,   // int32[]      | public       | HIDL v3.2
157     ANDROID_CONTROL_AE_COMPENSATION_RANGE,            // int32[]      | public       | HIDL v3.2
158     ANDROID_CONTROL_AE_COMPENSATION_STEP,             // rational     | public       | HIDL v3.2
159     ANDROID_CONTROL_AF_AVAILABLE_MODES,               // byte[]       | public       | HIDL v3.2
160     ANDROID_CONTROL_AVAILABLE_EFFECTS,                // byte[]       | public       | HIDL v3.2
161     ANDROID_CONTROL_AVAILABLE_SCENE_MODES,            // byte[]       | public       | HIDL v3.2
162     ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
163                                                       // byte[]       | public       | HIDL v3.2
164     ANDROID_CONTROL_AWB_AVAILABLE_MODES,              // byte[]       | public       | HIDL v3.2
165     ANDROID_CONTROL_MAX_REGIONS,                      // int32[]      | ndk_public   | HIDL v3.2
166     ANDROID_CONTROL_SCENE_MODE_OVERRIDES,             // byte[]       | system       | HIDL v3.2
167     ANDROID_CONTROL_AE_PRECAPTURE_ID,                 // int32        | system       | HIDL v3.2
168     ANDROID_CONTROL_AE_STATE,                         // enum         | public       | HIDL v3.2
169     ANDROID_CONTROL_AF_STATE,                         // enum         | public       | HIDL v3.2
170     ANDROID_CONTROL_AF_TRIGGER_ID,                    // int32        | system       | HIDL v3.2
171     ANDROID_CONTROL_AWB_STATE,                        // enum         | public       | HIDL v3.2
172     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS,
173                                                       // int32[]      | hidden       | HIDL v3.2
174     ANDROID_CONTROL_AE_LOCK_AVAILABLE,                // enum         | public       | HIDL v3.2
175     ANDROID_CONTROL_AWB_LOCK_AVAILABLE,               // enum         | public       | HIDL v3.2
176     ANDROID_CONTROL_AVAILABLE_MODES,                  // byte[]       | public       | HIDL v3.2
177     ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE, // int32[]      | public       | HIDL v3.2
178     ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST,       // int32        | public       | HIDL v3.2
179     ANDROID_CONTROL_ENABLE_ZSL,                       // enum         | public       | HIDL v3.2
180     ANDROID_CONTROL_AF_SCENE_CHANGE,                  // enum         | public       | HIDL v3.3
181     ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES,
182                                                       // int32[]      | ndk_public   | HIDL v3.5
183     ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES,
184                                                       // float[]      | ndk_public   | HIDL v3.5
185     ANDROID_CONTROL_EXTENDED_SCENE_MODE,              // enum         | public       | HIDL v3.5
186     ANDROID_CONTROL_ZOOM_RATIO_RANGE,                 // float[]      | public       | HIDL v3.5
187     ANDROID_CONTROL_ZOOM_RATIO,                       // float        | public       | HIDL v3.5
188     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION,
189                                                       // int32[]      | hidden       | HIDL v3.6
190     ANDROID_CONTROL_AF_REGIONS_SET,                   // enum         | fwk_only
191     ANDROID_CONTROL_AE_REGIONS_SET,                   // enum         | fwk_only
192     ANDROID_CONTROL_AWB_REGIONS_SET,                  // enum         | fwk_only
193     ANDROID_CONTROL_END,
194 
195     ANDROID_DEMOSAIC_MODE =                           // enum         | system       | HIDL v3.2
196             ANDROID_DEMOSAIC_START,
197     ANDROID_DEMOSAIC_END,
198 
199     ANDROID_EDGE_MODE =                               // enum         | public       | HIDL v3.2
200             ANDROID_EDGE_START,
201     ANDROID_EDGE_STRENGTH,                            // byte         | system       | HIDL v3.2
202     ANDROID_EDGE_AVAILABLE_EDGE_MODES,                // byte[]       | public       | HIDL v3.2
203     ANDROID_EDGE_END,
204 
205     ANDROID_FLASH_FIRING_POWER =                      // byte         | system       | HIDL v3.2
206             ANDROID_FLASH_START,
207     ANDROID_FLASH_FIRING_TIME,                        // int64        | system       | HIDL v3.2
208     ANDROID_FLASH_MODE,                               // enum         | public       | HIDL v3.2
209     ANDROID_FLASH_COLOR_TEMPERATURE,                  // byte         | system       | HIDL v3.2
210     ANDROID_FLASH_MAX_ENERGY,                         // byte         | system       | HIDL v3.2
211     ANDROID_FLASH_STATE,                              // enum         | public       | HIDL v3.2
212     ANDROID_FLASH_END,
213 
214     ANDROID_FLASH_INFO_AVAILABLE =                    // enum         | public       | HIDL v3.2
215             ANDROID_FLASH_INFO_START,
216     ANDROID_FLASH_INFO_CHARGE_DURATION,               // int64        | system       | HIDL v3.2
217     ANDROID_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL,        // int32        | public       | HIDL v3.8
218     ANDROID_FLASH_INFO_STRENGTH_DEFAULT_LEVEL,        // int32        | public       | HIDL v3.8
219     ANDROID_FLASH_INFO_END,
220 
221     ANDROID_HOT_PIXEL_MODE =                          // enum         | public       | HIDL v3.2
222             ANDROID_HOT_PIXEL_START,
223     ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES,      // byte[]       | public       | HIDL v3.2
224     ANDROID_HOT_PIXEL_END,
225 
226     ANDROID_JPEG_GPS_COORDINATES =                    // double[]     | ndk_public   | HIDL v3.2
227             ANDROID_JPEG_START,
228     ANDROID_JPEG_GPS_PROCESSING_METHOD,               // byte         | ndk_public   | HIDL v3.2
229     ANDROID_JPEG_GPS_TIMESTAMP,                       // int64        | ndk_public   | HIDL v3.2
230     ANDROID_JPEG_ORIENTATION,                         // int32        | public       | HIDL v3.2
231     ANDROID_JPEG_QUALITY,                             // byte         | public       | HIDL v3.2
232     ANDROID_JPEG_THUMBNAIL_QUALITY,                   // byte         | public       | HIDL v3.2
233     ANDROID_JPEG_THUMBNAIL_SIZE,                      // int32[]      | public       | HIDL v3.2
234     ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES,           // int32[]      | public       | HIDL v3.2
235     ANDROID_JPEG_MAX_SIZE,                            // int32        | system       | HIDL v3.2
236     ANDROID_JPEG_SIZE,                                // int32        | system       | HIDL v3.2
237     ANDROID_JPEG_END,
238 
239     ANDROID_LENS_APERTURE =                           // float        | public       | HIDL v3.2
240             ANDROID_LENS_START,
241     ANDROID_LENS_FILTER_DENSITY,                      // float        | public       | HIDL v3.2
242     ANDROID_LENS_FOCAL_LENGTH,                        // float        | public       | HIDL v3.2
243     ANDROID_LENS_FOCUS_DISTANCE,                      // float        | public       | HIDL v3.2
244     ANDROID_LENS_OPTICAL_STABILIZATION_MODE,          // enum         | public       | HIDL v3.2
245     ANDROID_LENS_FACING,                              // enum         | public       | HIDL v3.2
246     ANDROID_LENS_POSE_ROTATION,                       // float[]      | public       | HIDL v3.2
247     ANDROID_LENS_POSE_TRANSLATION,                    // float[]      | public       | HIDL v3.2
248     ANDROID_LENS_FOCUS_RANGE,                         // float[]      | public       | HIDL v3.2
249     ANDROID_LENS_STATE,                               // enum         | public       | HIDL v3.2
250     ANDROID_LENS_INTRINSIC_CALIBRATION,               // float[]      | public       | HIDL v3.2
251     ANDROID_LENS_RADIAL_DISTORTION,                   // float[]      | public       | HIDL v3.2
252     ANDROID_LENS_POSE_REFERENCE,                      // enum         | public       | HIDL v3.3
253     ANDROID_LENS_DISTORTION,                          // float[]      | public       | HIDL v3.3
254     ANDROID_LENS_DISTORTION_MAXIMUM_RESOLUTION,       // float[]      | public       | HIDL v3.6
255     ANDROID_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION,
256                                                       // float[]      | public       | HIDL v3.6
257     ANDROID_LENS_END,
258 
259     ANDROID_LENS_INFO_AVAILABLE_APERTURES =           // float[]      | public       | HIDL v3.2
260             ANDROID_LENS_INFO_START,
261     ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES,     // float[]      | public       | HIDL v3.2
262     ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS,        // float[]      | public       | HIDL v3.2
263     ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,// byte[]       | public       | HIDL v3.2
264     ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE,            // float        | public       | HIDL v3.2
265     ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE,         // float        | public       | HIDL v3.2
266     ANDROID_LENS_INFO_SHADING_MAP_SIZE,               // int32[]      | ndk_public   | HIDL v3.2
267     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION,     // enum         | public       | HIDL v3.2
268     ANDROID_LENS_INFO_END,
269 
270     ANDROID_NOISE_REDUCTION_MODE =                    // enum         | public       | HIDL v3.2
271             ANDROID_NOISE_REDUCTION_START,
272     ANDROID_NOISE_REDUCTION_STRENGTH,                 // byte         | system       | HIDL v3.2
273     ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES,
274                                                       // byte[]       | public       | HIDL v3.2
275     ANDROID_NOISE_REDUCTION_END,
276 
277     ANDROID_QUIRKS_METERING_CROP_REGION =             // byte         | system       | HIDL v3.2
278             ANDROID_QUIRKS_START,
279     ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO,              // byte         | system       | HIDL v3.2
280     ANDROID_QUIRKS_USE_ZSL_FORMAT,                    // byte         | system       | HIDL v3.2
281     ANDROID_QUIRKS_USE_PARTIAL_RESULT,                // byte         | hidden       | HIDL v3.2
282     ANDROID_QUIRKS_PARTIAL_RESULT,                    // enum         | hidden       | HIDL v3.2
283     ANDROID_QUIRKS_END,
284 
285     ANDROID_REQUEST_FRAME_COUNT =                     // int32        | hidden       | HIDL v3.2
286             ANDROID_REQUEST_START,
287     ANDROID_REQUEST_ID,                               // int32        | hidden       | HIDL v3.2
288     ANDROID_REQUEST_INPUT_STREAMS,                    // int32[]      | system       | HIDL v3.2
289     ANDROID_REQUEST_METADATA_MODE,                    // enum         | system       | HIDL v3.2
290     ANDROID_REQUEST_OUTPUT_STREAMS,                   // int32[]      | system       | HIDL v3.2
291     ANDROID_REQUEST_TYPE,                             // enum         | system       | HIDL v3.2
292     ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,           // int32[]      | ndk_public   | HIDL v3.2
293     ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS,        // int32[]      | system       | HIDL v3.2
294     ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,            // int32        | java_public  | HIDL v3.2
295     ANDROID_REQUEST_PIPELINE_DEPTH,                   // byte         | public       | HIDL v3.2
296     ANDROID_REQUEST_PIPELINE_MAX_DEPTH,               // byte         | public       | HIDL v3.2
297     ANDROID_REQUEST_PARTIAL_RESULT_COUNT,             // int32        | public       | HIDL v3.2
298     ANDROID_REQUEST_AVAILABLE_CAPABILITIES,           // enum[]       | public       | HIDL v3.2
299     ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS,           // int32[]      | ndk_public   | HIDL v3.2
300     ANDROID_REQUEST_AVAILABLE_RESULT_KEYS,            // int32[]      | ndk_public   | HIDL v3.2
301     ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS,   // int32[]      | ndk_public   | HIDL v3.2
302     ANDROID_REQUEST_AVAILABLE_SESSION_KEYS,           // int32[]      | ndk_public   | HIDL v3.3
303     ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS,
304                                                       // int32[]      | ndk_public   | HIDL v3.3
305     ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION,
306                                                       // int32[]      | hidden       | HIDL v3.4
307     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP,
308                                                       // enum[]       | ndk_public   | HIDL v3.8
309     ANDROID_REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE,
310                                                       // int64        | java_public  | HIDL v3.8
311     ANDROID_REQUEST_END,
312 
313     ANDROID_SCALER_CROP_REGION =                      // int32[]      | public       | HIDL v3.2
314             ANDROID_SCALER_START,
315     ANDROID_SCALER_AVAILABLE_FORMATS,                 // enum[]       | hidden       | HIDL v3.2
316     ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS,      // int64[]      | hidden       | HIDL v3.2
317     ANDROID_SCALER_AVAILABLE_JPEG_SIZES,              // int32[]      | hidden       | HIDL v3.2
318     ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,        // float        | public       | HIDL v3.2
319     ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS, // int64[]      | hidden       | HIDL v3.2
320     ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES,         // int32[]      | hidden       | HIDL v3.2
321     ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS,       // int64[]      | system       | HIDL v3.2
322     ANDROID_SCALER_AVAILABLE_RAW_SIZES,               // int32[]      | system       | HIDL v3.2
323     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP,// int32        | hidden       | HIDL v3.2
324     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS,   // enum[]       | ndk_public   | HIDL v3.2
325     ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,     // int64[]      | ndk_public   | HIDL v3.2
326     ANDROID_SCALER_AVAILABLE_STALL_DURATIONS,         // int64[]      | ndk_public   | HIDL v3.2
327     ANDROID_SCALER_CROPPING_TYPE,                     // enum         | public       | HIDL v3.2
328     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS,
329                                                       // enum[]       | ndk_public   | HIDL v3.4
330     ANDROID_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP,
331                                                       // int32        | ndk_public   | HIDL v3.4
332     ANDROID_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES,   // byte[]       | public       | HIDL v3.5
333     ANDROID_SCALER_ROTATE_AND_CROP,                   // enum         | public       | HIDL v3.5
334     ANDROID_SCALER_DEFAULT_SECURE_IMAGE_SIZE,         // int32[]      | public       | HIDL v3.6
335     ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS,
336                                                       // enum[]       | ndk_public   | HIDL v3.6
337     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION,
338                                                       // enum[]       | ndk_public   | HIDL v3.6
339     ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION,
340                                                       // int64[]      | ndk_public   | HIDL v3.6
341     ANDROID_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION,
342                                                       // int64[]      | ndk_public   | HIDL v3.6
343     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION,
344                                                       // int32        | hidden       | HIDL v3.6
345     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED, // enum         | ndk_public   | HIDL v3.6
346     ANDROID_SCALER_CROP_REGION_SET,                   // enum         | fwk_only
347     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES,        // enum[]       | public       | HIDL v3.8
348     ANDROID_SCALER_END,
349 
350     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public       | HIDL v3.2
351             ANDROID_SENSOR_START,
352     ANDROID_SENSOR_FRAME_DURATION,                    // int64        | public       | HIDL v3.2
353     ANDROID_SENSOR_SENSITIVITY,                       // int32        | public       | HIDL v3.2
354     ANDROID_SENSOR_REFERENCE_ILLUMINANT1,             // enum         | public       | HIDL v3.2
355     ANDROID_SENSOR_REFERENCE_ILLUMINANT2,             // byte         | public       | HIDL v3.2
356     ANDROID_SENSOR_CALIBRATION_TRANSFORM1,            // rational[]   | public       | HIDL v3.2
357     ANDROID_SENSOR_CALIBRATION_TRANSFORM2,            // rational[]   | public       | HIDL v3.2
358     ANDROID_SENSOR_COLOR_TRANSFORM1,                  // rational[]   | public       | HIDL v3.2
359     ANDROID_SENSOR_COLOR_TRANSFORM2,                  // rational[]   | public       | HIDL v3.2
360     ANDROID_SENSOR_FORWARD_MATRIX1,                   // rational[]   | public       | HIDL v3.2
361     ANDROID_SENSOR_FORWARD_MATRIX2,                   // rational[]   | public       | HIDL v3.2
362     ANDROID_SENSOR_BASE_GAIN_FACTOR,                  // rational     | system       | HIDL v3.2
363     ANDROID_SENSOR_BLACK_LEVEL_PATTERN,               // int32[]      | public       | HIDL v3.2
364     ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY,            // int32        | public       | HIDL v3.2
365     ANDROID_SENSOR_ORIENTATION,                       // int32        | public       | HIDL v3.2
366     ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS,    // int32[]      | system       | HIDL v3.2
367     ANDROID_SENSOR_TIMESTAMP,                         // int64        | public       | HIDL v3.2
368     ANDROID_SENSOR_TEMPERATURE,                       // float        | system       | HIDL v3.2
369     ANDROID_SENSOR_NEUTRAL_COLOR_POINT,               // rational[]   | public       | HIDL v3.2
370     ANDROID_SENSOR_NOISE_PROFILE,                     // double[]     | public       | HIDL v3.2
371     ANDROID_SENSOR_PROFILE_HUE_SAT_MAP,               // float[]      | system       | HIDL v3.2
372     ANDROID_SENSOR_PROFILE_TONE_CURVE,                // float[]      | system       | HIDL v3.2
373     ANDROID_SENSOR_GREEN_SPLIT,                       // float        | public       | HIDL v3.2
374     ANDROID_SENSOR_TEST_PATTERN_DATA,                 // int32[]      | public       | HIDL v3.2
375     ANDROID_SENSOR_TEST_PATTERN_MODE,                 // enum         | public       | HIDL v3.2
376     ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES,      // int32[]      | public       | HIDL v3.2
377     ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,              // int64        | public       | HIDL v3.2
378     ANDROID_SENSOR_OPTICAL_BLACK_REGIONS,             // int32[]      | public       | HIDL v3.2
379     ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL,               // float[]      | public       | HIDL v3.2
380     ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL,               // int32        | public       | HIDL v3.2
381     ANDROID_SENSOR_OPAQUE_RAW_SIZE,                   // int32[]      | system       | HIDL v3.2
382     ANDROID_SENSOR_OPAQUE_RAW_SIZE_MAXIMUM_RESOLUTION,// int32[]      | system       | HIDL v3.6
383     ANDROID_SENSOR_PIXEL_MODE,                        // enum         | public       | HIDL v3.6
384     ANDROID_SENSOR_RAW_BINNING_FACTOR_USED,           // enum         | public       | HIDL v3.6
385     ANDROID_SENSOR_READOUT_TIMESTAMP,                 // enum         | fwk_java_public
386     ANDROID_SENSOR_END,
387 
388     ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE =           // int32[]      | public       | HIDL v3.2
389             ANDROID_SENSOR_INFO_START,
390     ANDROID_SENSOR_INFO_SENSITIVITY_RANGE,            // int32[]      | public       | HIDL v3.2
391     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,     // enum         | public       | HIDL v3.2
392     ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,          // int64[]      | public       | HIDL v3.2
393     ANDROID_SENSOR_INFO_MAX_FRAME_DURATION,           // int64        | public       | HIDL v3.2
394     ANDROID_SENSOR_INFO_PHYSICAL_SIZE,                // float[]      | public       | HIDL v3.2
395     ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,             // int32[]      | public       | HIDL v3.2
396     ANDROID_SENSOR_INFO_WHITE_LEVEL,                  // int32        | public       | HIDL v3.2
397     ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE,             // enum         | public       | HIDL v3.2
398     ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED,         // enum         | public       | HIDL v3.2
399     ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE,
400                                                       // int32[]      | public       | HIDL v3.2
401     ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION,
402                                                       // int32[]      | public       | HIDL v3.6
403     ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION,
404                                                       // int32[]      | public       | HIDL v3.6
405     ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION,
406                                                       // int32[]      | public       | HIDL v3.6
407     ANDROID_SENSOR_INFO_BINNING_FACTOR,               // int32[]      | public       | HIDL v3.6
408     ANDROID_SENSOR_INFO_END,
409 
410     ANDROID_SHADING_MODE =                            // enum         | public       | HIDL v3.2
411             ANDROID_SHADING_START,
412     ANDROID_SHADING_STRENGTH,                         // byte         | system       | HIDL v3.2
413     ANDROID_SHADING_AVAILABLE_MODES,                  // byte[]       | public       | HIDL v3.2
414     ANDROID_SHADING_END,
415 
416     ANDROID_STATISTICS_FACE_DETECT_MODE =             // enum         | public       | HIDL v3.2
417             ANDROID_STATISTICS_START,
418     ANDROID_STATISTICS_HISTOGRAM_MODE,                // enum         | system       | HIDL v3.2
419     ANDROID_STATISTICS_SHARPNESS_MAP_MODE,            // enum         | system       | HIDL v3.2
420     ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE,            // enum         | public       | HIDL v3.2
421     ANDROID_STATISTICS_FACE_IDS,                      // int32[]      | ndk_public   | HIDL v3.2
422     ANDROID_STATISTICS_FACE_LANDMARKS,                // int32[]      | ndk_public   | HIDL v3.2
423     ANDROID_STATISTICS_FACE_RECTANGLES,               // int32[]      | ndk_public   | HIDL v3.2
424     ANDROID_STATISTICS_FACE_SCORES,                   // byte[]       | ndk_public   | HIDL v3.2
425     ANDROID_STATISTICS_HISTOGRAM,                     // int32[]      | system       | HIDL v3.2
426     ANDROID_STATISTICS_SHARPNESS_MAP,                 // int32[]      | system       | HIDL v3.2
427     ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP,   // byte         | java_public  | HIDL v3.2
428     ANDROID_STATISTICS_LENS_SHADING_MAP,              // float[]      | ndk_public   | HIDL v3.2
429     ANDROID_STATISTICS_PREDICTED_COLOR_GAINS,         // float[]      | hidden       | HIDL v3.2
430     ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM,     // rational[]   | hidden       | HIDL v3.2
431     ANDROID_STATISTICS_SCENE_FLICKER,                 // enum         | public       | HIDL v3.2
432     ANDROID_STATISTICS_HOT_PIXEL_MAP,                 // int32[]      | public       | HIDL v3.2
433     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,         // enum         | public       | HIDL v3.2
434     ANDROID_STATISTICS_OIS_DATA_MODE,                 // enum         | public       | HIDL v3.3
435     ANDROID_STATISTICS_OIS_TIMESTAMPS,                // int64[]      | ndk_public   | HIDL v3.3
436     ANDROID_STATISTICS_OIS_X_SHIFTS,                  // float[]      | ndk_public   | HIDL v3.3
437     ANDROID_STATISTICS_OIS_Y_SHIFTS,                  // float[]      | ndk_public   | HIDL v3.3
438     ANDROID_STATISTICS_END,
439 
440     ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES =
441                                                       // byte[]       | public       | HIDL v3.2
442             ANDROID_STATISTICS_INFO_START,
443     ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT,   // int32        | system       | HIDL v3.2
444     ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,           // int32        | public       | HIDL v3.2
445     ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT,      // int32        | system       | HIDL v3.2
446     ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE,  // int32        | system       | HIDL v3.2
447     ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE,       // int32[]      | system       | HIDL v3.2
448     ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES,
449                                                       // byte[]       | public       | HIDL v3.2
450     ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES,
451                                                       // byte[]       | public       | HIDL v3.2
452     ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES, // byte[]       | public       | HIDL v3.3
453     ANDROID_STATISTICS_INFO_END,
454 
455     ANDROID_TONEMAP_CURVE_BLUE =                      // float[]      | ndk_public   | HIDL v3.2
456             ANDROID_TONEMAP_START,
457     ANDROID_TONEMAP_CURVE_GREEN,                      // float[]      | ndk_public   | HIDL v3.2
458     ANDROID_TONEMAP_CURVE_RED,                        // float[]      | ndk_public   | HIDL v3.2
459     ANDROID_TONEMAP_MODE,                             // enum         | public       | HIDL v3.2
460     ANDROID_TONEMAP_MAX_CURVE_POINTS,                 // int32        | public       | HIDL v3.2
461     ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES,         // byte[]       | public       | HIDL v3.2
462     ANDROID_TONEMAP_GAMMA,                            // float        | public       | HIDL v3.2
463     ANDROID_TONEMAP_PRESET_CURVE,                     // enum         | public       | HIDL v3.2
464     ANDROID_TONEMAP_END,
465 
466     ANDROID_LED_TRANSMIT =                            // enum         | hidden       | HIDL v3.2
467             ANDROID_LED_START,
468     ANDROID_LED_AVAILABLE_LEDS,                       // enum[]       | hidden       | HIDL v3.2
469     ANDROID_LED_END,
470 
471     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL =           // enum         | public       | HIDL v3.2
472             ANDROID_INFO_START,
473     ANDROID_INFO_VERSION,                             // byte         | public       | HIDL v3.3
474     ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION, // enum         | system       | HIDL v3.4
475     ANDROID_INFO_DEVICE_STATE_ORIENTATIONS,           // int64[]      | ndk_public   | HIDL v3.7
476     ANDROID_INFO_END,
477 
478     ANDROID_BLACK_LEVEL_LOCK =                        // enum         | public       | HIDL v3.2
479             ANDROID_BLACK_LEVEL_START,
480     ANDROID_BLACK_LEVEL_END,
481 
482     ANDROID_SYNC_FRAME_NUMBER =                       // enum         | ndk_public   | HIDL v3.2
483             ANDROID_SYNC_START,
484     ANDROID_SYNC_MAX_LATENCY,                         // enum         | public       | HIDL v3.2
485     ANDROID_SYNC_END,
486 
487     ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR =     // float        | java_public  | HIDL v3.2
488             ANDROID_REPROCESS_START,
489     ANDROID_REPROCESS_MAX_CAPTURE_STALL,              // int32        | java_public  | HIDL v3.2
490     ANDROID_REPROCESS_END,
491 
492     ANDROID_DEPTH_MAX_DEPTH_SAMPLES =                 // int32        | system       | HIDL v3.2
493             ANDROID_DEPTH_START,
494     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS,
495                                                       // enum[]       | ndk_public   | HIDL v3.2
496     ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS,// int64[]      | ndk_public   | HIDL v3.2
497     ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS,    // int64[]      | ndk_public   | HIDL v3.2
498     ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE,                 // enum         | public       | HIDL v3.2
499     ANDROID_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS,
500                                                       // int32[]      | ndk_public   | HIDL v3.4
501     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS,
502                                                       // enum[]       | ndk_public   | HIDL v3.4
503     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS,
504                                                       // int64[]      | ndk_public   | HIDL v3.4
505     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS,
506                                                       // int64[]      | ndk_public   | HIDL v3.4
507     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION,
508                                                       // enum[]       | ndk_public   | HIDL v3.6
509     ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION,
510                                                       // int64[]      | ndk_public   | HIDL v3.6
511     ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION,
512                                                       // int64[]      | ndk_public   | HIDL v3.6
513     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION,
514                                                       // enum[]       | ndk_public   | HIDL v3.6
515     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION,
516                                                       // int64[]      | ndk_public   | HIDL v3.6
517     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION,
518                                                       // int64[]      | ndk_public   | HIDL v3.6
519     ANDROID_DEPTH_END,
520 
521     ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS =       // byte[]       | ndk_public   | HIDL v3.3
522             ANDROID_LOGICAL_MULTI_CAMERA_START,
523     ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE,    // enum         | public       | HIDL v3.3
524     ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID,  // byte         | public       | HIDL v3.4
525     ANDROID_LOGICAL_MULTI_CAMERA_END,
526 
527     ANDROID_DISTORTION_CORRECTION_MODE =              // enum         | public       | HIDL v3.3
528             ANDROID_DISTORTION_CORRECTION_START,
529     ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES,    // byte[]       | public       | HIDL v3.3
530     ANDROID_DISTORTION_CORRECTION_END,
531 
532     ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS =
533                                                       // enum[]       | ndk_public   | HIDL v3.4
534             ANDROID_HEIC_START,
535     ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS,  // int64[]      | ndk_public   | HIDL v3.4
536     ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS,      // int64[]      | ndk_public   | HIDL v3.4
537     ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION,
538                                                       // enum[]       | ndk_public   | HIDL v3.6
539     ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION,
540                                                       // int64[]      | ndk_public   | HIDL v3.6
541     ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION,
542                                                       // int64[]      | ndk_public   | HIDL v3.6
543     ANDROID_HEIC_END,
544 
545     ANDROID_HEIC_INFO_SUPPORTED =                     // enum         | system       | HIDL v3.4
546             ANDROID_HEIC_INFO_START,
547     ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT,    // byte         | system       | HIDL v3.4
548     ANDROID_HEIC_INFO_END,
549 
550     ANDROID_AUTOMOTIVE_LOCATION =                     // enum         | public       | HIDL v3.8
551             ANDROID_AUTOMOTIVE_START,
552     ANDROID_AUTOMOTIVE_END,
553 
554     ANDROID_AUTOMOTIVE_LENS_FACING =                  // enum[]       | public       | HIDL v3.8
555             ANDROID_AUTOMOTIVE_LENS_START,
556     ANDROID_AUTOMOTIVE_LENS_END,
557 
558 } camera_metadata_tag_t;
559 
560 /**
561  * Enumeration definitions for the various entries that need them
562  */
563 
564 // ANDROID_COLOR_CORRECTION_MODE
565 typedef enum camera_metadata_enum_android_color_correction_mode {
566     ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX                  , // HIDL v3.2
567     ANDROID_COLOR_CORRECTION_MODE_FAST                              , // HIDL v3.2
568     ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY                      , // HIDL v3.2
569 } camera_metadata_enum_android_color_correction_mode_t;
570 
571 // ANDROID_COLOR_CORRECTION_ABERRATION_MODE
572 typedef enum camera_metadata_enum_android_color_correction_aberration_mode {
573     ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF                    , // HIDL v3.2
574     ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST                   , // HIDL v3.2
575     ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY           , // HIDL v3.2
576 } camera_metadata_enum_android_color_correction_aberration_mode_t;
577 
578 
579 // ANDROID_CONTROL_AE_ANTIBANDING_MODE
580 typedef enum camera_metadata_enum_android_control_ae_antibanding_mode {
581     ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF                         , // HIDL v3.2
582     ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ                        , // HIDL v3.2
583     ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ                        , // HIDL v3.2
584     ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO                        , // HIDL v3.2
585 } camera_metadata_enum_android_control_ae_antibanding_mode_t;
586 
587 // ANDROID_CONTROL_AE_LOCK
588 typedef enum camera_metadata_enum_android_control_ae_lock {
589     ANDROID_CONTROL_AE_LOCK_OFF                                     , // HIDL v3.2
590     ANDROID_CONTROL_AE_LOCK_ON                                      , // HIDL v3.2
591 } camera_metadata_enum_android_control_ae_lock_t;
592 
593 // ANDROID_CONTROL_AE_MODE
594 typedef enum camera_metadata_enum_android_control_ae_mode {
595     ANDROID_CONTROL_AE_MODE_OFF                                     , // HIDL v3.2
596     ANDROID_CONTROL_AE_MODE_ON                                      , // HIDL v3.2
597     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH                           , // HIDL v3.2
598     ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH                         , // HIDL v3.2
599     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE                    , // HIDL v3.2
600     ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH                       , // HIDL v3.3
601 } camera_metadata_enum_android_control_ae_mode_t;
602 
603 // ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER
604 typedef enum camera_metadata_enum_android_control_ae_precapture_trigger {
605     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE                      , // HIDL v3.2
606     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START                     , // HIDL v3.2
607     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL                    , // HIDL v3.2
608 } camera_metadata_enum_android_control_ae_precapture_trigger_t;
609 
610 // ANDROID_CONTROL_AF_MODE
611 typedef enum camera_metadata_enum_android_control_af_mode {
612     ANDROID_CONTROL_AF_MODE_OFF                                     , // HIDL v3.2
613     ANDROID_CONTROL_AF_MODE_AUTO                                    , // HIDL v3.2
614     ANDROID_CONTROL_AF_MODE_MACRO                                   , // HIDL v3.2
615     ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO                        , // HIDL v3.2
616     ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE                      , // HIDL v3.2
617     ANDROID_CONTROL_AF_MODE_EDOF                                    , // HIDL v3.2
618 } camera_metadata_enum_android_control_af_mode_t;
619 
620 // ANDROID_CONTROL_AF_TRIGGER
621 typedef enum camera_metadata_enum_android_control_af_trigger {
622     ANDROID_CONTROL_AF_TRIGGER_IDLE                                 , // HIDL v3.2
623     ANDROID_CONTROL_AF_TRIGGER_START                                , // HIDL v3.2
624     ANDROID_CONTROL_AF_TRIGGER_CANCEL                               , // HIDL v3.2
625 } camera_metadata_enum_android_control_af_trigger_t;
626 
627 // ANDROID_CONTROL_AWB_LOCK
628 typedef enum camera_metadata_enum_android_control_awb_lock {
629     ANDROID_CONTROL_AWB_LOCK_OFF                                    , // HIDL v3.2
630     ANDROID_CONTROL_AWB_LOCK_ON                                     , // HIDL v3.2
631 } camera_metadata_enum_android_control_awb_lock_t;
632 
633 // ANDROID_CONTROL_AWB_MODE
634 typedef enum camera_metadata_enum_android_control_awb_mode {
635     ANDROID_CONTROL_AWB_MODE_OFF                                    , // HIDL v3.2
636     ANDROID_CONTROL_AWB_MODE_AUTO                                   , // HIDL v3.2
637     ANDROID_CONTROL_AWB_MODE_INCANDESCENT                           , // HIDL v3.2
638     ANDROID_CONTROL_AWB_MODE_FLUORESCENT                            , // HIDL v3.2
639     ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT                       , // HIDL v3.2
640     ANDROID_CONTROL_AWB_MODE_DAYLIGHT                               , // HIDL v3.2
641     ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT                        , // HIDL v3.2
642     ANDROID_CONTROL_AWB_MODE_TWILIGHT                               , // HIDL v3.2
643     ANDROID_CONTROL_AWB_MODE_SHADE                                  , // HIDL v3.2
644 } camera_metadata_enum_android_control_awb_mode_t;
645 
646 // ANDROID_CONTROL_CAPTURE_INTENT
647 typedef enum camera_metadata_enum_android_control_capture_intent {
648     ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM                           , // HIDL v3.2
649     ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW                          , // HIDL v3.2
650     ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE                    , // HIDL v3.2
651     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD                     , // HIDL v3.2
652     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT                   , // HIDL v3.2
653     ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG                 , // HIDL v3.2
654     ANDROID_CONTROL_CAPTURE_INTENT_MANUAL                           , // HIDL v3.2
655     ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING                  , // HIDL v3.3
656 } camera_metadata_enum_android_control_capture_intent_t;
657 
658 // ANDROID_CONTROL_EFFECT_MODE
659 typedef enum camera_metadata_enum_android_control_effect_mode {
660     ANDROID_CONTROL_EFFECT_MODE_OFF                                 , // HIDL v3.2
661     ANDROID_CONTROL_EFFECT_MODE_MONO                                , // HIDL v3.2
662     ANDROID_CONTROL_EFFECT_MODE_NEGATIVE                            , // HIDL v3.2
663     ANDROID_CONTROL_EFFECT_MODE_SOLARIZE                            , // HIDL v3.2
664     ANDROID_CONTROL_EFFECT_MODE_SEPIA                               , // HIDL v3.2
665     ANDROID_CONTROL_EFFECT_MODE_POSTERIZE                           , // HIDL v3.2
666     ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD                          , // HIDL v3.2
667     ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD                          , // HIDL v3.2
668     ANDROID_CONTROL_EFFECT_MODE_AQUA                                , // HIDL v3.2
669 } camera_metadata_enum_android_control_effect_mode_t;
670 
671 // ANDROID_CONTROL_MODE
672 typedef enum camera_metadata_enum_android_control_mode {
673     ANDROID_CONTROL_MODE_OFF                                        , // HIDL v3.2
674     ANDROID_CONTROL_MODE_AUTO                                       , // HIDL v3.2
675     ANDROID_CONTROL_MODE_USE_SCENE_MODE                             , // HIDL v3.2
676     ANDROID_CONTROL_MODE_OFF_KEEP_STATE                             , // HIDL v3.2
677     ANDROID_CONTROL_MODE_USE_EXTENDED_SCENE_MODE                    , // HIDL v3.5
678 } camera_metadata_enum_android_control_mode_t;
679 
680 // ANDROID_CONTROL_SCENE_MODE
681 typedef enum camera_metadata_enum_android_control_scene_mode {
682     ANDROID_CONTROL_SCENE_MODE_DISABLED                              = 0, // HIDL v3.2
683     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY                        , // HIDL v3.2
684     ANDROID_CONTROL_SCENE_MODE_ACTION                               , // HIDL v3.2
685     ANDROID_CONTROL_SCENE_MODE_PORTRAIT                             , // HIDL v3.2
686     ANDROID_CONTROL_SCENE_MODE_LANDSCAPE                            , // HIDL v3.2
687     ANDROID_CONTROL_SCENE_MODE_NIGHT                                , // HIDL v3.2
688     ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT                       , // HIDL v3.2
689     ANDROID_CONTROL_SCENE_MODE_THEATRE                              , // HIDL v3.2
690     ANDROID_CONTROL_SCENE_MODE_BEACH                                , // HIDL v3.2
691     ANDROID_CONTROL_SCENE_MODE_SNOW                                 , // HIDL v3.2
692     ANDROID_CONTROL_SCENE_MODE_SUNSET                               , // HIDL v3.2
693     ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO                          , // HIDL v3.2
694     ANDROID_CONTROL_SCENE_MODE_FIREWORKS                            , // HIDL v3.2
695     ANDROID_CONTROL_SCENE_MODE_SPORTS                               , // HIDL v3.2
696     ANDROID_CONTROL_SCENE_MODE_PARTY                                , // HIDL v3.2
697     ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT                          , // HIDL v3.2
698     ANDROID_CONTROL_SCENE_MODE_BARCODE                              , // HIDL v3.2
699     ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO                     , // HIDL v3.2
700     ANDROID_CONTROL_SCENE_MODE_HDR                                  , // HIDL v3.2
701     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT              , // HIDL v3.2
702     ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START                   = 100, // HIDL v3.2
703     ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END                     = 127, // HIDL v3.2
704 } camera_metadata_enum_android_control_scene_mode_t;
705 
706 // ANDROID_CONTROL_VIDEO_STABILIZATION_MODE
707 typedef enum camera_metadata_enum_android_control_video_stabilization_mode {
708     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF                    , // HIDL v3.2
709     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON                     , // HIDL v3.2
710     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION  , // HIDL v3.8
711 } camera_metadata_enum_android_control_video_stabilization_mode_t;
712 
713 // ANDROID_CONTROL_AE_STATE
714 typedef enum camera_metadata_enum_android_control_ae_state {
715     ANDROID_CONTROL_AE_STATE_INACTIVE                               , // HIDL v3.2
716     ANDROID_CONTROL_AE_STATE_SEARCHING                              , // HIDL v3.2
717     ANDROID_CONTROL_AE_STATE_CONVERGED                              , // HIDL v3.2
718     ANDROID_CONTROL_AE_STATE_LOCKED                                 , // HIDL v3.2
719     ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED                         , // HIDL v3.2
720     ANDROID_CONTROL_AE_STATE_PRECAPTURE                             , // HIDL v3.2
721 } camera_metadata_enum_android_control_ae_state_t;
722 
723 // ANDROID_CONTROL_AF_STATE
724 typedef enum camera_metadata_enum_android_control_af_state {
725     ANDROID_CONTROL_AF_STATE_INACTIVE                               , // HIDL v3.2
726     ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN                           , // HIDL v3.2
727     ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED                        , // HIDL v3.2
728     ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN                            , // HIDL v3.2
729     ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED                         , // HIDL v3.2
730     ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED                     , // HIDL v3.2
731     ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED                      , // HIDL v3.2
732 } camera_metadata_enum_android_control_af_state_t;
733 
734 // ANDROID_CONTROL_AWB_STATE
735 typedef enum camera_metadata_enum_android_control_awb_state {
736     ANDROID_CONTROL_AWB_STATE_INACTIVE                              , // HIDL v3.2
737     ANDROID_CONTROL_AWB_STATE_SEARCHING                             , // HIDL v3.2
738     ANDROID_CONTROL_AWB_STATE_CONVERGED                             , // HIDL v3.2
739     ANDROID_CONTROL_AWB_STATE_LOCKED                                , // HIDL v3.2
740 } camera_metadata_enum_android_control_awb_state_t;
741 
742 // ANDROID_CONTROL_AE_LOCK_AVAILABLE
743 typedef enum camera_metadata_enum_android_control_ae_lock_available {
744     ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE                         , // HIDL v3.2
745     ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE                          , // HIDL v3.2
746 } camera_metadata_enum_android_control_ae_lock_available_t;
747 
748 // ANDROID_CONTROL_AWB_LOCK_AVAILABLE
749 typedef enum camera_metadata_enum_android_control_awb_lock_available {
750     ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE                        , // HIDL v3.2
751     ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE                         , // HIDL v3.2
752 } camera_metadata_enum_android_control_awb_lock_available_t;
753 
754 // ANDROID_CONTROL_ENABLE_ZSL
755 typedef enum camera_metadata_enum_android_control_enable_zsl {
756     ANDROID_CONTROL_ENABLE_ZSL_FALSE                                , // HIDL v3.2
757     ANDROID_CONTROL_ENABLE_ZSL_TRUE                                 , // HIDL v3.2
758 } camera_metadata_enum_android_control_enable_zsl_t;
759 
760 // ANDROID_CONTROL_AF_SCENE_CHANGE
761 typedef enum camera_metadata_enum_android_control_af_scene_change {
762     ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED                    , // HIDL v3.3
763     ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED                        , // HIDL v3.3
764 } camera_metadata_enum_android_control_af_scene_change_t;
765 
766 // ANDROID_CONTROL_EXTENDED_SCENE_MODE
767 typedef enum camera_metadata_enum_android_control_extended_scene_mode {
768     ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED                     = 0, // HIDL v3.5
769     ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE         , // HIDL v3.5
770     ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS            , // HIDL v3.5
771     ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START                 = 0x40, // HIDL v3.5
772 } camera_metadata_enum_android_control_extended_scene_mode_t;
773 
774 // ANDROID_CONTROL_AF_REGIONS_SET
775 typedef enum camera_metadata_enum_android_control_af_regions_set {
776     ANDROID_CONTROL_AF_REGIONS_SET_FALSE                            ,
777     ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
778 } camera_metadata_enum_android_control_af_regions_set_t;
779 
780 // ANDROID_CONTROL_AE_REGIONS_SET
781 typedef enum camera_metadata_enum_android_control_ae_regions_set {
782     ANDROID_CONTROL_AE_REGIONS_SET_FALSE                            ,
783     ANDROID_CONTROL_AE_REGIONS_SET_TRUE                             ,
784 } camera_metadata_enum_android_control_ae_regions_set_t;
785 
786 // ANDROID_CONTROL_AWB_REGIONS_SET
787 typedef enum camera_metadata_enum_android_control_awb_regions_set {
788     ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
789     ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
790 } camera_metadata_enum_android_control_awb_regions_set_t;
791 
792 
793 // ANDROID_DEMOSAIC_MODE
794 typedef enum camera_metadata_enum_android_demosaic_mode {
795     ANDROID_DEMOSAIC_MODE_FAST                                      , // HIDL v3.2
796     ANDROID_DEMOSAIC_MODE_HIGH_QUALITY                              , // HIDL v3.2
797 } camera_metadata_enum_android_demosaic_mode_t;
798 
799 
800 // ANDROID_EDGE_MODE
801 typedef enum camera_metadata_enum_android_edge_mode {
802     ANDROID_EDGE_MODE_OFF                                           , // HIDL v3.2
803     ANDROID_EDGE_MODE_FAST                                          , // HIDL v3.2
804     ANDROID_EDGE_MODE_HIGH_QUALITY                                  , // HIDL v3.2
805     ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG                              , // HIDL v3.2
806 } camera_metadata_enum_android_edge_mode_t;
807 
808 
809 // ANDROID_FLASH_MODE
810 typedef enum camera_metadata_enum_android_flash_mode {
811     ANDROID_FLASH_MODE_OFF                                          , // HIDL v3.2
812     ANDROID_FLASH_MODE_SINGLE                                       , // HIDL v3.2
813     ANDROID_FLASH_MODE_TORCH                                        , // HIDL v3.2
814 } camera_metadata_enum_android_flash_mode_t;
815 
816 // ANDROID_FLASH_STATE
817 typedef enum camera_metadata_enum_android_flash_state {
818     ANDROID_FLASH_STATE_UNAVAILABLE                                 , // HIDL v3.2
819     ANDROID_FLASH_STATE_CHARGING                                    , // HIDL v3.2
820     ANDROID_FLASH_STATE_READY                                       , // HIDL v3.2
821     ANDROID_FLASH_STATE_FIRED                                       , // HIDL v3.2
822     ANDROID_FLASH_STATE_PARTIAL                                     , // HIDL v3.2
823 } camera_metadata_enum_android_flash_state_t;
824 
825 
826 // ANDROID_FLASH_INFO_AVAILABLE
827 typedef enum camera_metadata_enum_android_flash_info_available {
828     ANDROID_FLASH_INFO_AVAILABLE_FALSE                              , // HIDL v3.2
829     ANDROID_FLASH_INFO_AVAILABLE_TRUE                               , // HIDL v3.2
830 } camera_metadata_enum_android_flash_info_available_t;
831 
832 
833 // ANDROID_HOT_PIXEL_MODE
834 typedef enum camera_metadata_enum_android_hot_pixel_mode {
835     ANDROID_HOT_PIXEL_MODE_OFF                                      , // HIDL v3.2
836     ANDROID_HOT_PIXEL_MODE_FAST                                     , // HIDL v3.2
837     ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY                             , // HIDL v3.2
838 } camera_metadata_enum_android_hot_pixel_mode_t;
839 
840 
841 
842 // ANDROID_LENS_OPTICAL_STABILIZATION_MODE
843 typedef enum camera_metadata_enum_android_lens_optical_stabilization_mode {
844     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF                     , // HIDL v3.2
845     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON                      , // HIDL v3.2
846 } camera_metadata_enum_android_lens_optical_stabilization_mode_t;
847 
848 // ANDROID_LENS_FACING
849 typedef enum camera_metadata_enum_android_lens_facing {
850     ANDROID_LENS_FACING_FRONT                                       , // HIDL v3.2
851     ANDROID_LENS_FACING_BACK                                        , // HIDL v3.2
852     ANDROID_LENS_FACING_EXTERNAL                                    , // HIDL v3.2
853 } camera_metadata_enum_android_lens_facing_t;
854 
855 // ANDROID_LENS_STATE
856 typedef enum camera_metadata_enum_android_lens_state {
857     ANDROID_LENS_STATE_STATIONARY                                   , // HIDL v3.2
858     ANDROID_LENS_STATE_MOVING                                       , // HIDL v3.2
859 } camera_metadata_enum_android_lens_state_t;
860 
861 // ANDROID_LENS_POSE_REFERENCE
862 typedef enum camera_metadata_enum_android_lens_pose_reference {
863     ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA                      , // HIDL v3.3
864     ANDROID_LENS_POSE_REFERENCE_GYROSCOPE                           , // HIDL v3.3
865     ANDROID_LENS_POSE_REFERENCE_UNDEFINED                           , // HIDL v3.5
866     ANDROID_LENS_POSE_REFERENCE_AUTOMOTIVE                          , // HIDL v3.8
867 } camera_metadata_enum_android_lens_pose_reference_t;
868 
869 
870 // ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION
871 typedef enum camera_metadata_enum_android_lens_info_focus_distance_calibration {
872     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED       , // HIDL v3.2
873     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE        , // HIDL v3.2
874     ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED         , // HIDL v3.2
875 } camera_metadata_enum_android_lens_info_focus_distance_calibration_t;
876 
877 
878 // ANDROID_NOISE_REDUCTION_MODE
879 typedef enum camera_metadata_enum_android_noise_reduction_mode {
880     ANDROID_NOISE_REDUCTION_MODE_OFF                                , // HIDL v3.2
881     ANDROID_NOISE_REDUCTION_MODE_FAST                               , // HIDL v3.2
882     ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY                       , // HIDL v3.2
883     ANDROID_NOISE_REDUCTION_MODE_MINIMAL                            , // HIDL v3.2
884     ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG                   , // HIDL v3.2
885 } camera_metadata_enum_android_noise_reduction_mode_t;
886 
887 
888 // ANDROID_QUIRKS_PARTIAL_RESULT
889 typedef enum camera_metadata_enum_android_quirks_partial_result {
890     ANDROID_QUIRKS_PARTIAL_RESULT_FINAL                             , // HIDL v3.2
891     ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL                           , // HIDL v3.2
892 } camera_metadata_enum_android_quirks_partial_result_t;
893 
894 
895 // ANDROID_REQUEST_METADATA_MODE
896 typedef enum camera_metadata_enum_android_request_metadata_mode {
897     ANDROID_REQUEST_METADATA_MODE_NONE                              , // HIDL v3.2
898     ANDROID_REQUEST_METADATA_MODE_FULL                              , // HIDL v3.2
899 } camera_metadata_enum_android_request_metadata_mode_t;
900 
901 // ANDROID_REQUEST_TYPE
902 typedef enum camera_metadata_enum_android_request_type {
903     ANDROID_REQUEST_TYPE_CAPTURE                                    , // HIDL v3.2
904     ANDROID_REQUEST_TYPE_REPROCESS                                  , // HIDL v3.2
905 } camera_metadata_enum_android_request_type_t;
906 
907 // ANDROID_REQUEST_AVAILABLE_CAPABILITIES
908 typedef enum camera_metadata_enum_android_request_available_capabilities {
909     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE      , // HIDL v3.2
910     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR            , // HIDL v3.2
911     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING   , // HIDL v3.2
912     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW                      , // HIDL v3.2
913     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING     , // HIDL v3.2
914     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS     , // HIDL v3.2
915     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE            , // HIDL v3.2
916     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING         , // HIDL v3.2
917     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT             , // HIDL v3.2
918     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
919                                                                      , // HIDL v3.2
920     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING          , // HIDL v3.3
921     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA     , // HIDL v3.3
922     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME               , // HIDL v3.3
923     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA        , // HIDL v3.4
924     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA            , // HIDL v3.5
925     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING       , // HIDL v3.5
926     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR
927                                                                      , // HIDL v3.6
928     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING    , // HIDL v3.6
929     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT    , // HIDL v3.8
930     ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE          , // HIDL v3.8
931 } camera_metadata_enum_android_request_available_capabilities_t;
932 
933 // ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
934 typedef enum camera_metadata_enum_android_request_available_dynamic_range_profiles_map {
935     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD    = 0x1, // HIDL v3.8
936     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10       = 0x2, // HIDL v3.8
937     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10       = 0x4, // HIDL v3.8
938     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS  = 0x8, // HIDL v3.8
939     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF
940                                                                       = 0x10, // HIDL v3.8
941     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO
942                                                                       = 0x20, // HIDL v3.8
943     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM
944                                                                       = 0x40, // HIDL v3.8
945     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO
946                                                                       = 0x80, // HIDL v3.8
947     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF
948                                                                       = 0x100, // HIDL v3.8
949     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO
950                                                                       = 0x200, // HIDL v3.8
951     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM
952                                                                       = 0x400, // HIDL v3.8
953     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO
954                                                                       = 0x800, // HIDL v3.8
955     ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX         = 0x1000, // HIDL v3.8
956 } camera_metadata_enum_android_request_available_dynamic_range_profiles_map_t;
957 
958 
959 // ANDROID_SCALER_AVAILABLE_FORMATS
960 typedef enum camera_metadata_enum_android_scaler_available_formats {
961     ANDROID_SCALER_AVAILABLE_FORMATS_RAW16                           = 0x20, // HIDL v3.2
962     ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE                      = 0x24, // HIDL v3.2
963     ANDROID_SCALER_AVAILABLE_FORMATS_YV12                            = 0x32315659, // HIDL v3.2
964     ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP                    = 0x11, // HIDL v3.2
965     ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED          = 0x22, // HIDL v3.2
966     ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888                   = 0x23, // HIDL v3.2
967     ANDROID_SCALER_AVAILABLE_FORMATS_BLOB                            = 0x21, // HIDL v3.2
968     ANDROID_SCALER_AVAILABLE_FORMATS_RAW10                           = 0x25, // HIDL v3.4
969     ANDROID_SCALER_AVAILABLE_FORMATS_RAW12                           = 0x26, // HIDL v3.4
970     ANDROID_SCALER_AVAILABLE_FORMATS_Y8                              = 0x20203859, // HIDL v3.4
971 } camera_metadata_enum_android_scaler_available_formats_t;
972 
973 // ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS
974 typedef enum camera_metadata_enum_android_scaler_available_stream_configurations {
975     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT           , // HIDL v3.2
976     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT            , // HIDL v3.2
977 } camera_metadata_enum_android_scaler_available_stream_configurations_t;
978 
979 // ANDROID_SCALER_CROPPING_TYPE
980 typedef enum camera_metadata_enum_android_scaler_cropping_type {
981     ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY                        , // HIDL v3.2
982     ANDROID_SCALER_CROPPING_TYPE_FREEFORM                           , // HIDL v3.2
983 } camera_metadata_enum_android_scaler_cropping_type_t;
984 
985 // ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS
986 typedef enum camera_metadata_enum_android_scaler_available_recommended_stream_configurations {
987     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW
988                                                                       = 0x0, // HIDL v3.4
989     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD
990                                                                       = 0x1, // HIDL v3.4
991     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT
992                                                                       = 0x2, // HIDL v3.4
993     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT
994                                                                       = 0x3, // HIDL v3.4
995     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL   = 0x4, // HIDL v3.4
996     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW   = 0x5, // HIDL v3.4
997     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT
998                                                                       = 0x6, // HIDL v3.4
999     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END
1000                                                                       = 0x7, // HIDL v3.4
1001     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT
1002                                                                       = 0x8, // HIDL v3.8
1003     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8
1004                                                                       = 0x9, // HIDL v3.8
1005     ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START
1006                                                                       = 0x18, // HIDL v3.4
1007 } camera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
1008 
1009 // ANDROID_SCALER_ROTATE_AND_CROP
1010 typedef enum camera_metadata_enum_android_scaler_rotate_and_crop {
1011     ANDROID_SCALER_ROTATE_AND_CROP_NONE                             , // HIDL v3.5
1012     ANDROID_SCALER_ROTATE_AND_CROP_90                               , // HIDL v3.5
1013     ANDROID_SCALER_ROTATE_AND_CROP_180                              , // HIDL v3.5
1014     ANDROID_SCALER_ROTATE_AND_CROP_270                              , // HIDL v3.5
1015     ANDROID_SCALER_ROTATE_AND_CROP_AUTO                             , // HIDL v3.5
1016 } camera_metadata_enum_android_scaler_rotate_and_crop_t;
1017 
1018 // ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS
1019 typedef enum camera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations {
1020     ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT
1021                                                                      , // HIDL v3.6
1022     ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT
1023                                                                      , // HIDL v3.6
1024 } camera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t;
1025 
1026 // ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION
1027 typedef enum camera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution {
1028     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT
1029                                                                      , // HIDL v3.6
1030     ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT
1031                                                                      , // HIDL v3.6
1032 } camera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;
1033 
1034 // ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED
1035 typedef enum camera_metadata_enum_android_scaler_multi_resolution_stream_supported {
1036     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE          , // HIDL v3.6
1037     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE           , // HIDL v3.6
1038 } camera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
1039 
1040 // ANDROID_SCALER_CROP_REGION_SET
1041 typedef enum camera_metadata_enum_android_scaler_crop_region_set {
1042     ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
1043     ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
1044 } camera_metadata_enum_android_scaler_crop_region_set_t;
1045 
1046 // ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES
1047 typedef enum camera_metadata_enum_android_scaler_available_stream_use_cases {
1048     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT                = 0x0, // HIDL v3.8
1049     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW                = 0x1, // HIDL v3.8
1050     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE          = 0x2, // HIDL v3.8
1051     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD           = 0x3, // HIDL v3.8
1052     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL    = 0x4, // HIDL v3.8
1053     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL             = 0x5, // HIDL v3.8
1054     ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VENDOR_START           = 0x10000, // HIDL v3.8
1055 } camera_metadata_enum_android_scaler_available_stream_use_cases_t;
1056 
1057 
1058 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
1059 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
1060     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT                    = 1, // HIDL v3.2
1061     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT                 = 2, // HIDL v3.2
1062     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN                    = 3, // HIDL v3.2
1063     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH                       = 4, // HIDL v3.2
1064     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER                = 9, // HIDL v3.2
1065     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER              = 10, // HIDL v3.2
1066     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE                       = 11, // HIDL v3.2
1067     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT        = 12, // HIDL v3.2
1068     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT       = 13, // HIDL v3.2
1069     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT      = 14, // HIDL v3.2
1070     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT           = 15, // HIDL v3.2
1071     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A                  = 17, // HIDL v3.2
1072     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B                  = 18, // HIDL v3.2
1073     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C                  = 19, // HIDL v3.2
1074     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55                         = 20, // HIDL v3.2
1075     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65                         = 21, // HIDL v3.2
1076     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75                         = 22, // HIDL v3.2
1077     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50                         = 23, // HIDL v3.2
1078     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN         = 24, // HIDL v3.2
1079 } camera_metadata_enum_android_sensor_reference_illuminant1_t;
1080 
1081 // ANDROID_SENSOR_TEST_PATTERN_MODE
1082 typedef enum camera_metadata_enum_android_sensor_test_pattern_mode {
1083     ANDROID_SENSOR_TEST_PATTERN_MODE_OFF                            , // HIDL v3.2
1084     ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR                    , // HIDL v3.2
1085     ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS                     , // HIDL v3.2
1086     ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY        , // HIDL v3.2
1087     ANDROID_SENSOR_TEST_PATTERN_MODE_PN9                            , // HIDL v3.2
1088     ANDROID_SENSOR_TEST_PATTERN_MODE_BLACK                          , // HIDL v3.6
1089     ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1                         = 256, // HIDL v3.2
1090 } camera_metadata_enum_android_sensor_test_pattern_mode_t;
1091 
1092 // ANDROID_SENSOR_PIXEL_MODE
1093 typedef enum camera_metadata_enum_android_sensor_pixel_mode {
1094     ANDROID_SENSOR_PIXEL_MODE_DEFAULT                               , // HIDL v3.6
1095     ANDROID_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION                    , // HIDL v3.6
1096 } camera_metadata_enum_android_sensor_pixel_mode_t;
1097 
1098 // ANDROID_SENSOR_RAW_BINNING_FACTOR_USED
1099 typedef enum camera_metadata_enum_android_sensor_raw_binning_factor_used {
1100     ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_TRUE                     , // HIDL v3.6
1101     ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_FALSE                    , // HIDL v3.6
1102 } camera_metadata_enum_android_sensor_raw_binning_factor_used_t;
1103 
1104 // ANDROID_SENSOR_READOUT_TIMESTAMP
1105 typedef enum camera_metadata_enum_android_sensor_readout_timestamp {
1106     ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED                  ,
1107     ANDROID_SENSOR_READOUT_TIMESTAMP_HARDWARE                       ,
1108 } camera_metadata_enum_android_sensor_readout_timestamp_t;
1109 
1110 
1111 // ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
1112 typedef enum camera_metadata_enum_android_sensor_info_color_filter_arrangement {
1113     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB               , // HIDL v3.2
1114     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG               , // HIDL v3.2
1115     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG               , // HIDL v3.2
1116     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR               , // HIDL v3.2
1117     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB                , // HIDL v3.2
1118     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO               , // HIDL v3.4
1119     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR                , // HIDL v3.4
1120 } camera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
1121 
1122 // ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE
1123 typedef enum camera_metadata_enum_android_sensor_info_timestamp_source {
1124     ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN                    , // HIDL v3.2
1125     ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME                   , // HIDL v3.2
1126 } camera_metadata_enum_android_sensor_info_timestamp_source_t;
1127 
1128 // ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED
1129 typedef enum camera_metadata_enum_android_sensor_info_lens_shading_applied {
1130     ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE                  , // HIDL v3.2
1131     ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE                   , // HIDL v3.2
1132 } camera_metadata_enum_android_sensor_info_lens_shading_applied_t;
1133 
1134 
1135 // ANDROID_SHADING_MODE
1136 typedef enum camera_metadata_enum_android_shading_mode {
1137     ANDROID_SHADING_MODE_OFF                                        , // HIDL v3.2
1138     ANDROID_SHADING_MODE_FAST                                       , // HIDL v3.2
1139     ANDROID_SHADING_MODE_HIGH_QUALITY                               , // HIDL v3.2
1140 } camera_metadata_enum_android_shading_mode_t;
1141 
1142 
1143 // ANDROID_STATISTICS_FACE_DETECT_MODE
1144 typedef enum camera_metadata_enum_android_statistics_face_detect_mode {
1145     ANDROID_STATISTICS_FACE_DETECT_MODE_OFF                         , // HIDL v3.2
1146     ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE                      , // HIDL v3.2
1147     ANDROID_STATISTICS_FACE_DETECT_MODE_FULL                        , // HIDL v3.2
1148 } camera_metadata_enum_android_statistics_face_detect_mode_t;
1149 
1150 // ANDROID_STATISTICS_HISTOGRAM_MODE
1151 typedef enum camera_metadata_enum_android_statistics_histogram_mode {
1152     ANDROID_STATISTICS_HISTOGRAM_MODE_OFF                           , // HIDL v3.2
1153     ANDROID_STATISTICS_HISTOGRAM_MODE_ON                            , // HIDL v3.2
1154 } camera_metadata_enum_android_statistics_histogram_mode_t;
1155 
1156 // ANDROID_STATISTICS_SHARPNESS_MAP_MODE
1157 typedef enum camera_metadata_enum_android_statistics_sharpness_map_mode {
1158     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF                       , // HIDL v3.2
1159     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON                        , // HIDL v3.2
1160 } camera_metadata_enum_android_statistics_sharpness_map_mode_t;
1161 
1162 // ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE
1163 typedef enum camera_metadata_enum_android_statistics_hot_pixel_map_mode {
1164     ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF                       , // HIDL v3.2
1165     ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON                        , // HIDL v3.2
1166 } camera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
1167 
1168 // ANDROID_STATISTICS_SCENE_FLICKER
1169 typedef enum camera_metadata_enum_android_statistics_scene_flicker {
1170     ANDROID_STATISTICS_SCENE_FLICKER_NONE                           , // HIDL v3.2
1171     ANDROID_STATISTICS_SCENE_FLICKER_50HZ                           , // HIDL v3.2
1172     ANDROID_STATISTICS_SCENE_FLICKER_60HZ                           , // HIDL v3.2
1173 } camera_metadata_enum_android_statistics_scene_flicker_t;
1174 
1175 // ANDROID_STATISTICS_LENS_SHADING_MAP_MODE
1176 typedef enum camera_metadata_enum_android_statistics_lens_shading_map_mode {
1177     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF                    , // HIDL v3.2
1178     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON                     , // HIDL v3.2
1179 } camera_metadata_enum_android_statistics_lens_shading_map_mode_t;
1180 
1181 // ANDROID_STATISTICS_OIS_DATA_MODE
1182 typedef enum camera_metadata_enum_android_statistics_ois_data_mode {
1183     ANDROID_STATISTICS_OIS_DATA_MODE_OFF                            , // HIDL v3.3
1184     ANDROID_STATISTICS_OIS_DATA_MODE_ON                             , // HIDL v3.3
1185 } camera_metadata_enum_android_statistics_ois_data_mode_t;
1186 
1187 
1188 
1189 // ANDROID_TONEMAP_MODE
1190 typedef enum camera_metadata_enum_android_tonemap_mode {
1191     ANDROID_TONEMAP_MODE_CONTRAST_CURVE                             , // HIDL v3.2
1192     ANDROID_TONEMAP_MODE_FAST                                       , // HIDL v3.2
1193     ANDROID_TONEMAP_MODE_HIGH_QUALITY                               , // HIDL v3.2
1194     ANDROID_TONEMAP_MODE_GAMMA_VALUE                                , // HIDL v3.2
1195     ANDROID_TONEMAP_MODE_PRESET_CURVE                               , // HIDL v3.2
1196 } camera_metadata_enum_android_tonemap_mode_t;
1197 
1198 // ANDROID_TONEMAP_PRESET_CURVE
1199 typedef enum camera_metadata_enum_android_tonemap_preset_curve {
1200     ANDROID_TONEMAP_PRESET_CURVE_SRGB                               , // HIDL v3.2
1201     ANDROID_TONEMAP_PRESET_CURVE_REC709                             , // HIDL v3.2
1202 } camera_metadata_enum_android_tonemap_preset_curve_t;
1203 
1204 
1205 // ANDROID_LED_TRANSMIT
1206 typedef enum camera_metadata_enum_android_led_transmit {
1207     ANDROID_LED_TRANSMIT_OFF                                        , // HIDL v3.2
1208     ANDROID_LED_TRANSMIT_ON                                         , // HIDL v3.2
1209 } camera_metadata_enum_android_led_transmit_t;
1210 
1211 // ANDROID_LED_AVAILABLE_LEDS
1212 typedef enum camera_metadata_enum_android_led_available_leds {
1213     ANDROID_LED_AVAILABLE_LEDS_TRANSMIT                             , // HIDL v3.2
1214 } camera_metadata_enum_android_led_available_leds_t;
1215 
1216 
1217 // ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL
1218 typedef enum camera_metadata_enum_android_info_supported_hardware_level {
1219     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED                   , // HIDL v3.2
1220     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL                      , // HIDL v3.2
1221     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY                    , // HIDL v3.2
1222     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3                         , // HIDL v3.2
1223     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL                  , // HIDL v3.3
1224 } camera_metadata_enum_android_info_supported_hardware_level_t;
1225 
1226 // ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION
1227 typedef enum camera_metadata_enum_android_info_supported_buffer_management_version {
1228     ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5, // HIDL v3.4
1229 } camera_metadata_enum_android_info_supported_buffer_management_version_t;
1230 
1231 
1232 // ANDROID_BLACK_LEVEL_LOCK
1233 typedef enum camera_metadata_enum_android_black_level_lock {
1234     ANDROID_BLACK_LEVEL_LOCK_OFF                                    , // HIDL v3.2
1235     ANDROID_BLACK_LEVEL_LOCK_ON                                     , // HIDL v3.2
1236 } camera_metadata_enum_android_black_level_lock_t;
1237 
1238 
1239 // ANDROID_SYNC_FRAME_NUMBER
1240 typedef enum camera_metadata_enum_android_sync_frame_number {
1241     ANDROID_SYNC_FRAME_NUMBER_CONVERGING                             = -1, // HIDL v3.2
1242     ANDROID_SYNC_FRAME_NUMBER_UNKNOWN                                = -2, // HIDL v3.2
1243 } camera_metadata_enum_android_sync_frame_number_t;
1244 
1245 // ANDROID_SYNC_MAX_LATENCY
1246 typedef enum camera_metadata_enum_android_sync_max_latency {
1247     ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL                       = 0, // HIDL v3.2
1248     ANDROID_SYNC_MAX_LATENCY_UNKNOWN                                 = -1, // HIDL v3.2
1249 } camera_metadata_enum_android_sync_max_latency_t;
1250 
1251 
1252 
1253 // ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS
1254 typedef enum camera_metadata_enum_android_depth_available_depth_stream_configurations {
1255     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT      , // HIDL v3.2
1256     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT       , // HIDL v3.2
1257 } camera_metadata_enum_android_depth_available_depth_stream_configurations_t;
1258 
1259 // ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE
1260 typedef enum camera_metadata_enum_android_depth_depth_is_exclusive {
1261     ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE                          , // HIDL v3.2
1262     ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE                           , // HIDL v3.2
1263 } camera_metadata_enum_android_depth_depth_is_exclusive_t;
1264 
1265 // ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS
1266 typedef enum camera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations {
1267     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT
1268                                                                      , // HIDL v3.4
1269     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT
1270                                                                      , // HIDL v3.4
1271 } camera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
1272 
1273 // ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION
1274 typedef enum camera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution {
1275     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT
1276                                                                      , // HIDL v3.6
1277     ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT
1278                                                                      , // HIDL v3.6
1279 } camera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t;
1280 
1281 // ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION
1282 typedef enum camera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution {
1283     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT
1284                                                                      , // HIDL v3.6
1285     ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT
1286                                                                      , // HIDL v3.6
1287 } camera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t;
1288 
1289 
1290 // ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
1291 typedef enum camera_metadata_enum_android_logical_multi_camera_sensor_sync_type {
1292     ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE       , // HIDL v3.3
1293     ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED        , // HIDL v3.3
1294 } camera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
1295 
1296 
1297 // ANDROID_DISTORTION_CORRECTION_MODE
1298 typedef enum camera_metadata_enum_android_distortion_correction_mode {
1299     ANDROID_DISTORTION_CORRECTION_MODE_OFF                          , // HIDL v3.3
1300     ANDROID_DISTORTION_CORRECTION_MODE_FAST                         , // HIDL v3.3
1301     ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY                 , // HIDL v3.3
1302 } camera_metadata_enum_android_distortion_correction_mode_t;
1303 
1304 
1305 // ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS
1306 typedef enum camera_metadata_enum_android_heic_available_heic_stream_configurations {
1307     ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT        , // HIDL v3.4
1308     ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT         , // HIDL v3.4
1309 } camera_metadata_enum_android_heic_available_heic_stream_configurations_t;
1310 
1311 // ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION
1312 typedef enum camera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution {
1313     ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT
1314                                                                      , // HIDL v3.6
1315     ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT
1316                                                                      , // HIDL v3.6
1317 } camera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t;
1318 
1319 
1320 // ANDROID_HEIC_INFO_SUPPORTED
1321 typedef enum camera_metadata_enum_android_heic_info_supported {
1322     ANDROID_HEIC_INFO_SUPPORTED_FALSE                               , // HIDL v3.4
1323     ANDROID_HEIC_INFO_SUPPORTED_TRUE                                , // HIDL v3.4
1324 } camera_metadata_enum_android_heic_info_supported_t;
1325 
1326 
1327 // ANDROID_AUTOMOTIVE_LOCATION
1328 typedef enum camera_metadata_enum_android_automotive_location {
1329     ANDROID_AUTOMOTIVE_LOCATION_INTERIOR                            , // HIDL v3.8
1330     ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER                      , // HIDL v3.8
1331     ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT                      , // HIDL v3.8
1332     ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_REAR                       , // HIDL v3.8
1333     ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT                       , // HIDL v3.8
1334     ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT                      , // HIDL v3.8
1335     ANDROID_AUTOMOTIVE_LOCATION_EXTRA_OTHER                         , // HIDL v3.8
1336     ANDROID_AUTOMOTIVE_LOCATION_EXTRA_FRONT                         , // HIDL v3.8
1337     ANDROID_AUTOMOTIVE_LOCATION_EXTRA_REAR                          , // HIDL v3.8
1338     ANDROID_AUTOMOTIVE_LOCATION_EXTRA_LEFT                          , // HIDL v3.8
1339     ANDROID_AUTOMOTIVE_LOCATION_EXTRA_RIGHT                         , // HIDL v3.8
1340 } camera_metadata_enum_android_automotive_location_t;
1341 
1342 
1343 // ANDROID_AUTOMOTIVE_LENS_FACING
1344 typedef enum camera_metadata_enum_android_automotive_lens_facing {
1345     ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER                   , // HIDL v3.8
1346     ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT                   , // HIDL v3.8
1347     ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR                    , // HIDL v3.8
1348     ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT                    , // HIDL v3.8
1349     ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT                   , // HIDL v3.8
1350     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER                   , // HIDL v3.8
1351     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT         , // HIDL v3.8
1352     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER       , // HIDL v3.8
1353     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT        , // HIDL v3.8
1354     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT         , // HIDL v3.8
1355     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER       , // HIDL v3.8
1356     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT        , // HIDL v3.8
1357     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT         , // HIDL v3.8
1358     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER       , // HIDL v3.8
1359     ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT        , // HIDL v3.8
1360 } camera_metadata_enum_android_automotive_lens_facing_t;
1361 
1362 
1363