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