• 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_GEOMETRIC,
45     ANDROID_HOT_PIXEL,
46     ANDROID_HOT_PIXEL_INFO,
47     ANDROID_JPEG,
48     ANDROID_LENS,
49     ANDROID_LENS_INFO,
50     ANDROID_NOISE_REDUCTION,
51     ANDROID_QUIRKS,
52     ANDROID_REQUEST,
53     ANDROID_SCALER,
54     ANDROID_SENSOR,
55     ANDROID_SENSOR_INFO,
56     ANDROID_SHADING,
57     ANDROID_STATISTICS,
58     ANDROID_STATISTICS_INFO,
59     ANDROID_TONEMAP,
60     ANDROID_LED,
61     ANDROID_INFO,
62     ANDROID_BLACK_LEVEL,
63     ANDROID_SECTION_COUNT,
64 
65     VENDOR_SECTION = 0x8000
66 } camera_metadata_section_t;
67 
68 /**
69  * Hierarchy positions in enum space. All vendor extension tags must be
70  * defined with tag >= VENDOR_SECTION_START
71  */
72 typedef enum camera_metadata_section_start {
73     ANDROID_COLOR_CORRECTION_START = ANDROID_COLOR_CORRECTION  << 16,
74     ANDROID_CONTROL_START          = ANDROID_CONTROL           << 16,
75     ANDROID_DEMOSAIC_START         = ANDROID_DEMOSAIC          << 16,
76     ANDROID_EDGE_START             = ANDROID_EDGE              << 16,
77     ANDROID_FLASH_START            = ANDROID_FLASH             << 16,
78     ANDROID_FLASH_INFO_START       = ANDROID_FLASH_INFO        << 16,
79     ANDROID_GEOMETRIC_START        = ANDROID_GEOMETRIC         << 16,
80     ANDROID_HOT_PIXEL_START        = ANDROID_HOT_PIXEL         << 16,
81     ANDROID_HOT_PIXEL_INFO_START   = ANDROID_HOT_PIXEL_INFO    << 16,
82     ANDROID_JPEG_START             = ANDROID_JPEG              << 16,
83     ANDROID_LENS_START             = ANDROID_LENS              << 16,
84     ANDROID_LENS_INFO_START        = ANDROID_LENS_INFO         << 16,
85     ANDROID_NOISE_REDUCTION_START  = ANDROID_NOISE_REDUCTION   << 16,
86     ANDROID_QUIRKS_START           = ANDROID_QUIRKS            << 16,
87     ANDROID_REQUEST_START          = ANDROID_REQUEST           << 16,
88     ANDROID_SCALER_START           = ANDROID_SCALER            << 16,
89     ANDROID_SENSOR_START           = ANDROID_SENSOR            << 16,
90     ANDROID_SENSOR_INFO_START      = ANDROID_SENSOR_INFO       << 16,
91     ANDROID_SHADING_START          = ANDROID_SHADING           << 16,
92     ANDROID_STATISTICS_START       = ANDROID_STATISTICS        << 16,
93     ANDROID_STATISTICS_INFO_START  = ANDROID_STATISTICS_INFO   << 16,
94     ANDROID_TONEMAP_START          = ANDROID_TONEMAP           << 16,
95     ANDROID_LED_START              = ANDROID_LED               << 16,
96     ANDROID_INFO_START             = ANDROID_INFO              << 16,
97     ANDROID_BLACK_LEVEL_START      = ANDROID_BLACK_LEVEL       << 16,
98     VENDOR_SECTION_START           = VENDOR_SECTION            << 16
99 } camera_metadata_section_start_t;
100 
101 /**
102  * Main enum for defining camera metadata tags.  New entries must always go
103  * before the section _END tag to preserve existing enumeration values.  In
104  * addition, the name and type of the tag needs to be added to
105  * system/media/camera/src/camera_metadata_tag_info.c
106  */
107 typedef enum camera_metadata_tag {
108     ANDROID_COLOR_CORRECTION_MODE =                   // enum         | public
109             ANDROID_COLOR_CORRECTION_START,
110     ANDROID_COLOR_CORRECTION_TRANSFORM,               // rational[]   | public
111     ANDROID_COLOR_CORRECTION_GAINS,                   // float[]      | public
112     ANDROID_COLOR_CORRECTION_END,
113 
114     ANDROID_CONTROL_AE_ANTIBANDING_MODE =             // enum         | public
115             ANDROID_CONTROL_START,
116     ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION,         // int32        | public
117     ANDROID_CONTROL_AE_LOCK,                          // enum         | public
118     ANDROID_CONTROL_AE_MODE,                          // enum         | public
119     ANDROID_CONTROL_AE_REGIONS,                       // int32[]      | public
120     ANDROID_CONTROL_AE_TARGET_FPS_RANGE,              // int32[]      | public
121     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,            // enum         | public
122     ANDROID_CONTROL_AF_MODE,                          // enum         | public
123     ANDROID_CONTROL_AF_REGIONS,                       // int32[]      | public
124     ANDROID_CONTROL_AF_TRIGGER,                       // enum         | public
125     ANDROID_CONTROL_AWB_LOCK,                         // enum         | public
126     ANDROID_CONTROL_AWB_MODE,                         // enum         | public
127     ANDROID_CONTROL_AWB_REGIONS,                      // int32[]      | public
128     ANDROID_CONTROL_CAPTURE_INTENT,                   // enum         | public
129     ANDROID_CONTROL_EFFECT_MODE,                      // enum         | public
130     ANDROID_CONTROL_MODE,                             // enum         | public
131     ANDROID_CONTROL_SCENE_MODE,                       // enum         | public
132     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE,         // enum         | public
133     ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,   // byte[]       | public
134     ANDROID_CONTROL_AE_AVAILABLE_MODES,               // byte[]       | system
135     ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,   // int32[]      | public
136     ANDROID_CONTROL_AE_COMPENSATION_RANGE,            // int32[]      | public
137     ANDROID_CONTROL_AE_COMPENSATION_STEP,             // rational     | public
138     ANDROID_CONTROL_AF_AVAILABLE_MODES,               // byte[]       | public
139     ANDROID_CONTROL_AVAILABLE_EFFECTS,                // byte[]       | public
140     ANDROID_CONTROL_AVAILABLE_SCENE_MODES,            // byte[]       | public
141     ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
142                                                       // byte[]       | public
143     ANDROID_CONTROL_AWB_AVAILABLE_MODES,              // byte[]       | public
144     ANDROID_CONTROL_MAX_REGIONS,                      // int32        | public
145     ANDROID_CONTROL_SCENE_MODE_OVERRIDES,             // byte[]       | system
146     ANDROID_CONTROL_AE_PRECAPTURE_ID,                 // int32        | hidden
147     ANDROID_CONTROL_AE_STATE,                         // enum         | public
148     ANDROID_CONTROL_AF_STATE,                         // enum         | public
149     ANDROID_CONTROL_AF_TRIGGER_ID,                    // int32        | hidden
150     ANDROID_CONTROL_AWB_STATE,                        // enum         | public
151     ANDROID_CONTROL_END,
152 
153     ANDROID_DEMOSAIC_MODE =                           // enum         | system
154             ANDROID_DEMOSAIC_START,
155     ANDROID_DEMOSAIC_END,
156 
157     ANDROID_EDGE_MODE =                               // enum         | public
158             ANDROID_EDGE_START,
159     ANDROID_EDGE_STRENGTH,                            // byte         | system
160     ANDROID_EDGE_END,
161 
162     ANDROID_FLASH_FIRING_POWER =                      // byte         | system
163             ANDROID_FLASH_START,
164     ANDROID_FLASH_FIRING_TIME,                        // int64        | system
165     ANDROID_FLASH_MODE,                               // enum         | public
166     ANDROID_FLASH_COLOR_TEMPERATURE,                  // byte         | system
167     ANDROID_FLASH_MAX_ENERGY,                         // byte         | system
168     ANDROID_FLASH_STATE,                              // enum         | public
169     ANDROID_FLASH_END,
170 
171     ANDROID_FLASH_INFO_AVAILABLE =                    // byte         | public
172             ANDROID_FLASH_INFO_START,
173     ANDROID_FLASH_INFO_CHARGE_DURATION,               // int64        | system
174     ANDROID_FLASH_INFO_END,
175 
176     ANDROID_GEOMETRIC_MODE =                          // enum         | system
177             ANDROID_GEOMETRIC_START,
178     ANDROID_GEOMETRIC_STRENGTH,                       // byte         | system
179     ANDROID_GEOMETRIC_END,
180 
181     ANDROID_HOT_PIXEL_MODE =                          // enum         | system
182             ANDROID_HOT_PIXEL_START,
183     ANDROID_HOT_PIXEL_END,
184 
185     ANDROID_HOT_PIXEL_INFO_MAP =                      // int32[]      | system
186             ANDROID_HOT_PIXEL_INFO_START,
187     ANDROID_HOT_PIXEL_INFO_END,
188 
189     ANDROID_JPEG_GPS_COORDINATES =                    // double[]     | public
190             ANDROID_JPEG_START,
191     ANDROID_JPEG_GPS_PROCESSING_METHOD,               // byte         | public
192     ANDROID_JPEG_GPS_TIMESTAMP,                       // int64        | public
193     ANDROID_JPEG_ORIENTATION,                         // int32        | public
194     ANDROID_JPEG_QUALITY,                             // byte         | public
195     ANDROID_JPEG_THUMBNAIL_QUALITY,                   // byte         | public
196     ANDROID_JPEG_THUMBNAIL_SIZE,                      // int32[]      | public
197     ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES,           // int32[]      | public
198     ANDROID_JPEG_MAX_SIZE,                            // int32        | system
199     ANDROID_JPEG_SIZE,                                // int32        | system
200     ANDROID_JPEG_END,
201 
202     ANDROID_LENS_APERTURE =                           // float        | public
203             ANDROID_LENS_START,
204     ANDROID_LENS_FILTER_DENSITY,                      // float        | public
205     ANDROID_LENS_FOCAL_LENGTH,                        // float        | public
206     ANDROID_LENS_FOCUS_DISTANCE,                      // float        | public
207     ANDROID_LENS_OPTICAL_STABILIZATION_MODE,          // enum         | public
208     ANDROID_LENS_FACING,                              // enum         | public
209     ANDROID_LENS_OPTICAL_AXIS_ANGLE,                  // float[]      | system
210     ANDROID_LENS_POSITION,                            // float[]      | system
211     ANDROID_LENS_FOCUS_RANGE,                         // float[]      | public
212     ANDROID_LENS_STATE,                               // enum         | public
213     ANDROID_LENS_END,
214 
215     ANDROID_LENS_INFO_AVAILABLE_APERTURES =           // float[]      | public
216             ANDROID_LENS_INFO_START,
217     ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES,     // float[]      | public
218     ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS,        // float[]      | public
219     ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION,// byte[]       | public
220     ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP,       // float[]      | system
221     ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE,  // int32[]      | system
222     ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE,            // float        | public
223     ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE,         // float        | public
224     ANDROID_LENS_INFO_SHADING_MAP_SIZE,               // int32[]      | public
225     ANDROID_LENS_INFO_END,
226 
227     ANDROID_NOISE_REDUCTION_MODE =                    // enum         | public
228             ANDROID_NOISE_REDUCTION_START,
229     ANDROID_NOISE_REDUCTION_STRENGTH,                 // byte         | system
230     ANDROID_NOISE_REDUCTION_END,
231 
232     ANDROID_QUIRKS_METERING_CROP_REGION =             // byte         | system
233             ANDROID_QUIRKS_START,
234     ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO,              // byte         | system
235     ANDROID_QUIRKS_USE_ZSL_FORMAT,                    // byte         | system
236     ANDROID_QUIRKS_USE_PARTIAL_RESULT,                // byte         | hidden
237     ANDROID_QUIRKS_PARTIAL_RESULT,                    // enum         | hidden
238     ANDROID_QUIRKS_END,
239 
240     ANDROID_REQUEST_FRAME_COUNT =                     // int32        | public
241             ANDROID_REQUEST_START,
242     ANDROID_REQUEST_ID,                               // int32        | hidden
243     ANDROID_REQUEST_INPUT_STREAMS,                    // int32[]      | system
244     ANDROID_REQUEST_METADATA_MODE,                    // enum         | system
245     ANDROID_REQUEST_OUTPUT_STREAMS,                   // int32[]      | system
246     ANDROID_REQUEST_TYPE,                             // enum         | system
247     ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,           // int32[]      | public
248     ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS,        // int32[]      | system
249     ANDROID_REQUEST_END,
250 
251     ANDROID_SCALER_CROP_REGION =                      // int32[]      | public
252             ANDROID_SCALER_START,
253     ANDROID_SCALER_AVAILABLE_FORMATS,                 // enum[]       | public
254     ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS,      // int64[]      | public
255     ANDROID_SCALER_AVAILABLE_JPEG_SIZES,              // int32[]      | public
256     ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,        // float        | public
257     ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS, // int64[]      | public
258     ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES,         // int32[]      | public
259     ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS,       // int64[]      | system
260     ANDROID_SCALER_AVAILABLE_RAW_SIZES,               // int32[]      | system
261     ANDROID_SCALER_END,
262 
263     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public
264             ANDROID_SENSOR_START,
265     ANDROID_SENSOR_FRAME_DURATION,                    // int64        | public
266     ANDROID_SENSOR_SENSITIVITY,                       // int32        | public
267     ANDROID_SENSOR_BASE_GAIN_FACTOR,                  // rational     | public
268     ANDROID_SENSOR_BLACK_LEVEL_PATTERN,               // int32[]      | system
269     ANDROID_SENSOR_CALIBRATION_TRANSFORM1,            // rational[]   | system
270     ANDROID_SENSOR_CALIBRATION_TRANSFORM2,            // rational[]   | system
271     ANDROID_SENSOR_COLOR_TRANSFORM1,                  // rational[]   | system
272     ANDROID_SENSOR_COLOR_TRANSFORM2,                  // rational[]   | system
273     ANDROID_SENSOR_FORWARD_MATRIX1,                   // rational[]   | system
274     ANDROID_SENSOR_FORWARD_MATRIX2,                   // rational[]   | system
275     ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY,            // int32        | public
276     ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS,          // float[]      | system
277     ANDROID_SENSOR_ORIENTATION,                       // int32        | public
278     ANDROID_SENSOR_REFERENCE_ILLUMINANT1,             // enum         | system
279     ANDROID_SENSOR_REFERENCE_ILLUMINANT2,             // byte         | system
280     ANDROID_SENSOR_TIMESTAMP,                         // int64        | public
281     ANDROID_SENSOR_TEMPERATURE,                       // float        | public
282     ANDROID_SENSOR_END,
283 
284     ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE =           // int32[]      | public
285             ANDROID_SENSOR_INFO_START,
286     ANDROID_SENSOR_INFO_SENSITIVITY_RANGE,            // int32[]      | public
287     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT,     // enum         | system
288     ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE,          // int64[]      | public
289     ANDROID_SENSOR_INFO_MAX_FRAME_DURATION,           // int64        | public
290     ANDROID_SENSOR_INFO_PHYSICAL_SIZE,                // float[]      | public
291     ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,             // int32[]      | system
292     ANDROID_SENSOR_INFO_WHITE_LEVEL,                  // int32        | system
293     ANDROID_SENSOR_INFO_END,
294 
295     ANDROID_SHADING_MODE =                            // enum         | system
296             ANDROID_SHADING_START,
297     ANDROID_SHADING_STRENGTH,                         // byte         | system
298     ANDROID_SHADING_END,
299 
300     ANDROID_STATISTICS_FACE_DETECT_MODE =             // enum         | public
301             ANDROID_STATISTICS_START,
302     ANDROID_STATISTICS_HISTOGRAM_MODE,                // enum         | system
303     ANDROID_STATISTICS_SHARPNESS_MAP_MODE,            // enum         | system
304     ANDROID_STATISTICS_FACE_IDS,                      // int32[]      | public
305     ANDROID_STATISTICS_FACE_LANDMARKS,                // int32[]      | public
306     ANDROID_STATISTICS_FACE_RECTANGLES,               // int32[]      | public
307     ANDROID_STATISTICS_FACE_SCORES,                   // byte[]       | public
308     ANDROID_STATISTICS_HISTOGRAM,                     // int32[]      | system
309     ANDROID_STATISTICS_SHARPNESS_MAP,                 // int32[]      | system
310     ANDROID_STATISTICS_LENS_SHADING_MAP,              // float[]      | public
311     ANDROID_STATISTICS_PREDICTED_COLOR_GAINS,         // float[]      | public
312     ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM,     // rational[]   | public
313     ANDROID_STATISTICS_SCENE_FLICKER,                 // enum         | public
314     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,         // enum         | public
315     ANDROID_STATISTICS_END,
316 
317     ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES =
318                                                       // byte[]       | public
319             ANDROID_STATISTICS_INFO_START,
320     ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT,   // int32        | system
321     ANDROID_STATISTICS_INFO_MAX_FACE_COUNT,           // int32        | public
322     ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT,      // int32        | system
323     ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE,  // int32        | system
324     ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE,       // int32[]      | system
325     ANDROID_STATISTICS_INFO_END,
326 
327     ANDROID_TONEMAP_CURVE_BLUE =                      // float[]      | public
328             ANDROID_TONEMAP_START,
329     ANDROID_TONEMAP_CURVE_GREEN,                      // float[]      | public
330     ANDROID_TONEMAP_CURVE_RED,                        // float[]      | public
331     ANDROID_TONEMAP_MODE,                             // enum         | public
332     ANDROID_TONEMAP_MAX_CURVE_POINTS,                 // int32        | public
333     ANDROID_TONEMAP_END,
334 
335     ANDROID_LED_TRANSMIT =                            // enum         | hidden
336             ANDROID_LED_START,
337     ANDROID_LED_AVAILABLE_LEDS,                       // enum[]       | hidden
338     ANDROID_LED_END,
339 
340     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL =           // enum         | public
341             ANDROID_INFO_START,
342     ANDROID_INFO_END,
343 
344     ANDROID_BLACK_LEVEL_LOCK =                        // enum         | public
345             ANDROID_BLACK_LEVEL_START,
346     ANDROID_BLACK_LEVEL_END,
347 
348 } camera_metadata_tag_t;
349 
350 /**
351  * Enumeration definitions for the various entries that need them
352  */
353 
354 // ANDROID_COLOR_CORRECTION_MODE
355 typedef enum camera_metadata_enum_android_color_correction_mode {
356     ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX,
357     ANDROID_COLOR_CORRECTION_MODE_FAST,
358     ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY,
359 } camera_metadata_enum_android_color_correction_mode_t;
360 
361 
362 // ANDROID_CONTROL_AE_ANTIBANDING_MODE
363 typedef enum camera_metadata_enum_android_control_ae_antibanding_mode {
364     ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF,
365     ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ,
366     ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ,
367     ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO,
368 } camera_metadata_enum_android_control_ae_antibanding_mode_t;
369 
370 // ANDROID_CONTROL_AE_LOCK
371 typedef enum camera_metadata_enum_android_control_ae_lock {
372     ANDROID_CONTROL_AE_LOCK_OFF,
373     ANDROID_CONTROL_AE_LOCK_ON,
374 } camera_metadata_enum_android_control_ae_lock_t;
375 
376 // ANDROID_CONTROL_AE_MODE
377 typedef enum camera_metadata_enum_android_control_ae_mode {
378     ANDROID_CONTROL_AE_MODE_OFF,
379     ANDROID_CONTROL_AE_MODE_ON,
380     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH,
381     ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH,
382     ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE,
383 } camera_metadata_enum_android_control_ae_mode_t;
384 
385 // ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER
386 typedef enum camera_metadata_enum_android_control_ae_precapture_trigger {
387     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE,
388     ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START,
389 } camera_metadata_enum_android_control_ae_precapture_trigger_t;
390 
391 // ANDROID_CONTROL_AF_MODE
392 typedef enum camera_metadata_enum_android_control_af_mode {
393     ANDROID_CONTROL_AF_MODE_OFF,
394     ANDROID_CONTROL_AF_MODE_AUTO,
395     ANDROID_CONTROL_AF_MODE_MACRO,
396     ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO,
397     ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE,
398     ANDROID_CONTROL_AF_MODE_EDOF,
399 } camera_metadata_enum_android_control_af_mode_t;
400 
401 // ANDROID_CONTROL_AF_TRIGGER
402 typedef enum camera_metadata_enum_android_control_af_trigger {
403     ANDROID_CONTROL_AF_TRIGGER_IDLE,
404     ANDROID_CONTROL_AF_TRIGGER_START,
405     ANDROID_CONTROL_AF_TRIGGER_CANCEL,
406 } camera_metadata_enum_android_control_af_trigger_t;
407 
408 // ANDROID_CONTROL_AWB_LOCK
409 typedef enum camera_metadata_enum_android_control_awb_lock {
410     ANDROID_CONTROL_AWB_LOCK_OFF,
411     ANDROID_CONTROL_AWB_LOCK_ON,
412 } camera_metadata_enum_android_control_awb_lock_t;
413 
414 // ANDROID_CONTROL_AWB_MODE
415 typedef enum camera_metadata_enum_android_control_awb_mode {
416     ANDROID_CONTROL_AWB_MODE_OFF,
417     ANDROID_CONTROL_AWB_MODE_AUTO,
418     ANDROID_CONTROL_AWB_MODE_INCANDESCENT,
419     ANDROID_CONTROL_AWB_MODE_FLUORESCENT,
420     ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT,
421     ANDROID_CONTROL_AWB_MODE_DAYLIGHT,
422     ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT,
423     ANDROID_CONTROL_AWB_MODE_TWILIGHT,
424     ANDROID_CONTROL_AWB_MODE_SHADE,
425 } camera_metadata_enum_android_control_awb_mode_t;
426 
427 // ANDROID_CONTROL_CAPTURE_INTENT
428 typedef enum camera_metadata_enum_android_control_capture_intent {
429     ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM,
430     ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW,
431     ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE,
432     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD,
433     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT,
434     ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG,
435 } camera_metadata_enum_android_control_capture_intent_t;
436 
437 // ANDROID_CONTROL_EFFECT_MODE
438 typedef enum camera_metadata_enum_android_control_effect_mode {
439     ANDROID_CONTROL_EFFECT_MODE_OFF,
440     ANDROID_CONTROL_EFFECT_MODE_MONO,
441     ANDROID_CONTROL_EFFECT_MODE_NEGATIVE,
442     ANDROID_CONTROL_EFFECT_MODE_SOLARIZE,
443     ANDROID_CONTROL_EFFECT_MODE_SEPIA,
444     ANDROID_CONTROL_EFFECT_MODE_POSTERIZE,
445     ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD,
446     ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD,
447     ANDROID_CONTROL_EFFECT_MODE_AQUA,
448 } camera_metadata_enum_android_control_effect_mode_t;
449 
450 // ANDROID_CONTROL_MODE
451 typedef enum camera_metadata_enum_android_control_mode {
452     ANDROID_CONTROL_MODE_OFF,
453     ANDROID_CONTROL_MODE_AUTO,
454     ANDROID_CONTROL_MODE_USE_SCENE_MODE,
455 } camera_metadata_enum_android_control_mode_t;
456 
457 // ANDROID_CONTROL_SCENE_MODE
458 typedef enum camera_metadata_enum_android_control_scene_mode {
459     ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED                      = 0,
460     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY,
461     ANDROID_CONTROL_SCENE_MODE_ACTION,
462     ANDROID_CONTROL_SCENE_MODE_PORTRAIT,
463     ANDROID_CONTROL_SCENE_MODE_LANDSCAPE,
464     ANDROID_CONTROL_SCENE_MODE_NIGHT,
465     ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT,
466     ANDROID_CONTROL_SCENE_MODE_THEATRE,
467     ANDROID_CONTROL_SCENE_MODE_BEACH,
468     ANDROID_CONTROL_SCENE_MODE_SNOW,
469     ANDROID_CONTROL_SCENE_MODE_SUNSET,
470     ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO,
471     ANDROID_CONTROL_SCENE_MODE_FIREWORKS,
472     ANDROID_CONTROL_SCENE_MODE_SPORTS,
473     ANDROID_CONTROL_SCENE_MODE_PARTY,
474     ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT,
475     ANDROID_CONTROL_SCENE_MODE_BARCODE,
476 } camera_metadata_enum_android_control_scene_mode_t;
477 
478 // ANDROID_CONTROL_VIDEO_STABILIZATION_MODE
479 typedef enum camera_metadata_enum_android_control_video_stabilization_mode {
480     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF,
481     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON,
482 } camera_metadata_enum_android_control_video_stabilization_mode_t;
483 
484 // ANDROID_CONTROL_AE_STATE
485 typedef enum camera_metadata_enum_android_control_ae_state {
486     ANDROID_CONTROL_AE_STATE_INACTIVE,
487     ANDROID_CONTROL_AE_STATE_SEARCHING,
488     ANDROID_CONTROL_AE_STATE_CONVERGED,
489     ANDROID_CONTROL_AE_STATE_LOCKED,
490     ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED,
491     ANDROID_CONTROL_AE_STATE_PRECAPTURE,
492 } camera_metadata_enum_android_control_ae_state_t;
493 
494 // ANDROID_CONTROL_AF_STATE
495 typedef enum camera_metadata_enum_android_control_af_state {
496     ANDROID_CONTROL_AF_STATE_INACTIVE,
497     ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN,
498     ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED,
499     ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN,
500     ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED,
501     ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED,
502     ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED,
503 } camera_metadata_enum_android_control_af_state_t;
504 
505 // ANDROID_CONTROL_AWB_STATE
506 typedef enum camera_metadata_enum_android_control_awb_state {
507     ANDROID_CONTROL_AWB_STATE_INACTIVE,
508     ANDROID_CONTROL_AWB_STATE_SEARCHING,
509     ANDROID_CONTROL_AWB_STATE_CONVERGED,
510     ANDROID_CONTROL_AWB_STATE_LOCKED,
511 } camera_metadata_enum_android_control_awb_state_t;
512 
513 
514 // ANDROID_DEMOSAIC_MODE
515 typedef enum camera_metadata_enum_android_demosaic_mode {
516     ANDROID_DEMOSAIC_MODE_FAST,
517     ANDROID_DEMOSAIC_MODE_HIGH_QUALITY,
518 } camera_metadata_enum_android_demosaic_mode_t;
519 
520 
521 // ANDROID_EDGE_MODE
522 typedef enum camera_metadata_enum_android_edge_mode {
523     ANDROID_EDGE_MODE_OFF,
524     ANDROID_EDGE_MODE_FAST,
525     ANDROID_EDGE_MODE_HIGH_QUALITY,
526 } camera_metadata_enum_android_edge_mode_t;
527 
528 
529 // ANDROID_FLASH_MODE
530 typedef enum camera_metadata_enum_android_flash_mode {
531     ANDROID_FLASH_MODE_OFF,
532     ANDROID_FLASH_MODE_SINGLE,
533     ANDROID_FLASH_MODE_TORCH,
534 } camera_metadata_enum_android_flash_mode_t;
535 
536 // ANDROID_FLASH_STATE
537 typedef enum camera_metadata_enum_android_flash_state {
538     ANDROID_FLASH_STATE_UNAVAILABLE,
539     ANDROID_FLASH_STATE_CHARGING,
540     ANDROID_FLASH_STATE_READY,
541     ANDROID_FLASH_STATE_FIRED,
542 } camera_metadata_enum_android_flash_state_t;
543 
544 
545 
546 // ANDROID_GEOMETRIC_MODE
547 typedef enum camera_metadata_enum_android_geometric_mode {
548     ANDROID_GEOMETRIC_MODE_OFF,
549     ANDROID_GEOMETRIC_MODE_FAST,
550     ANDROID_GEOMETRIC_MODE_HIGH_QUALITY,
551 } camera_metadata_enum_android_geometric_mode_t;
552 
553 
554 // ANDROID_HOT_PIXEL_MODE
555 typedef enum camera_metadata_enum_android_hot_pixel_mode {
556     ANDROID_HOT_PIXEL_MODE_OFF,
557     ANDROID_HOT_PIXEL_MODE_FAST,
558     ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY,
559 } camera_metadata_enum_android_hot_pixel_mode_t;
560 
561 
562 
563 
564 // ANDROID_LENS_OPTICAL_STABILIZATION_MODE
565 typedef enum camera_metadata_enum_android_lens_optical_stabilization_mode {
566     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF,
567     ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON,
568 } camera_metadata_enum_android_lens_optical_stabilization_mode_t;
569 
570 // ANDROID_LENS_FACING
571 typedef enum camera_metadata_enum_android_lens_facing {
572     ANDROID_LENS_FACING_FRONT,
573     ANDROID_LENS_FACING_BACK,
574 } camera_metadata_enum_android_lens_facing_t;
575 
576 // ANDROID_LENS_STATE
577 typedef enum camera_metadata_enum_android_lens_state {
578     ANDROID_LENS_STATE_STATIONARY,
579     ANDROID_LENS_STATE_MOVING,
580 } camera_metadata_enum_android_lens_state_t;
581 
582 
583 
584 // ANDROID_NOISE_REDUCTION_MODE
585 typedef enum camera_metadata_enum_android_noise_reduction_mode {
586     ANDROID_NOISE_REDUCTION_MODE_OFF,
587     ANDROID_NOISE_REDUCTION_MODE_FAST,
588     ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY,
589 } camera_metadata_enum_android_noise_reduction_mode_t;
590 
591 
592 // ANDROID_QUIRKS_PARTIAL_RESULT
593 typedef enum camera_metadata_enum_android_quirks_partial_result {
594     ANDROID_QUIRKS_PARTIAL_RESULT_FINAL,
595     ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL,
596 } camera_metadata_enum_android_quirks_partial_result_t;
597 
598 
599 // ANDROID_REQUEST_METADATA_MODE
600 typedef enum camera_metadata_enum_android_request_metadata_mode {
601     ANDROID_REQUEST_METADATA_MODE_NONE,
602     ANDROID_REQUEST_METADATA_MODE_FULL,
603 } camera_metadata_enum_android_request_metadata_mode_t;
604 
605 // ANDROID_REQUEST_TYPE
606 typedef enum camera_metadata_enum_android_request_type {
607     ANDROID_REQUEST_TYPE_CAPTURE,
608     ANDROID_REQUEST_TYPE_REPROCESS,
609 } camera_metadata_enum_android_request_type_t;
610 
611 
612 // ANDROID_SCALER_AVAILABLE_FORMATS
613 typedef enum camera_metadata_enum_android_scaler_available_formats {
614     ANDROID_SCALER_AVAILABLE_FORMATS_RAW_SENSOR                 = 0x20,
615     ANDROID_SCALER_AVAILABLE_FORMATS_YV12                       = 0x32315659,
616     ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP               = 0x11,
617     ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED     = 0x22,
618     ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888              = 0x23,
619     ANDROID_SCALER_AVAILABLE_FORMATS_BLOB                       = 0x21,
620 } camera_metadata_enum_android_scaler_available_formats_t;
621 
622 
623 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
624 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
625     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT               = 1,
626     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT            = 2,
627     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN               = 3,
628     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH                  = 4,
629     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER           = 9,
630     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER         = 10,
631     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE                  = 11,
632     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT   = 12,
633     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT  = 13,
634     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14,
635     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT      = 15,
636     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A             = 17,
637     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B             = 18,
638     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C             = 19,
639     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55                    = 20,
640     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65                    = 21,
641     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75                    = 22,
642     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50                    = 23,
643     ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN    = 24,
644 } camera_metadata_enum_android_sensor_reference_illuminant1_t;
645 
646 
647 // ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
648 typedef enum camera_metadata_enum_android_sensor_info_color_filter_arrangement {
649     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB,
650     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG,
651     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG,
652     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR,
653     ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB,
654 } camera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
655 
656 
657 // ANDROID_SHADING_MODE
658 typedef enum camera_metadata_enum_android_shading_mode {
659     ANDROID_SHADING_MODE_OFF,
660     ANDROID_SHADING_MODE_FAST,
661     ANDROID_SHADING_MODE_HIGH_QUALITY,
662 } camera_metadata_enum_android_shading_mode_t;
663 
664 
665 // ANDROID_STATISTICS_FACE_DETECT_MODE
666 typedef enum camera_metadata_enum_android_statistics_face_detect_mode {
667     ANDROID_STATISTICS_FACE_DETECT_MODE_OFF,
668     ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE,
669     ANDROID_STATISTICS_FACE_DETECT_MODE_FULL,
670 } camera_metadata_enum_android_statistics_face_detect_mode_t;
671 
672 // ANDROID_STATISTICS_HISTOGRAM_MODE
673 typedef enum camera_metadata_enum_android_statistics_histogram_mode {
674     ANDROID_STATISTICS_HISTOGRAM_MODE_OFF,
675     ANDROID_STATISTICS_HISTOGRAM_MODE_ON,
676 } camera_metadata_enum_android_statistics_histogram_mode_t;
677 
678 // ANDROID_STATISTICS_SHARPNESS_MAP_MODE
679 typedef enum camera_metadata_enum_android_statistics_sharpness_map_mode {
680     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF,
681     ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON,
682 } camera_metadata_enum_android_statistics_sharpness_map_mode_t;
683 
684 // ANDROID_STATISTICS_SCENE_FLICKER
685 typedef enum camera_metadata_enum_android_statistics_scene_flicker {
686     ANDROID_STATISTICS_SCENE_FLICKER_NONE,
687     ANDROID_STATISTICS_SCENE_FLICKER_50HZ,
688     ANDROID_STATISTICS_SCENE_FLICKER_60HZ,
689 } camera_metadata_enum_android_statistics_scene_flicker_t;
690 
691 // ANDROID_STATISTICS_LENS_SHADING_MAP_MODE
692 typedef enum camera_metadata_enum_android_statistics_lens_shading_map_mode {
693     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF,
694     ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON,
695 } camera_metadata_enum_android_statistics_lens_shading_map_mode_t;
696 
697 
698 
699 // ANDROID_TONEMAP_MODE
700 typedef enum camera_metadata_enum_android_tonemap_mode {
701     ANDROID_TONEMAP_MODE_CONTRAST_CURVE,
702     ANDROID_TONEMAP_MODE_FAST,
703     ANDROID_TONEMAP_MODE_HIGH_QUALITY,
704 } camera_metadata_enum_android_tonemap_mode_t;
705 
706 
707 // ANDROID_LED_TRANSMIT
708 typedef enum camera_metadata_enum_android_led_transmit {
709     ANDROID_LED_TRANSMIT_OFF,
710     ANDROID_LED_TRANSMIT_ON,
711 } camera_metadata_enum_android_led_transmit_t;
712 
713 // ANDROID_LED_AVAILABLE_LEDS
714 typedef enum camera_metadata_enum_android_led_available_leds {
715     ANDROID_LED_AVAILABLE_LEDS_TRANSMIT,
716 } camera_metadata_enum_android_led_available_leds_t;
717 
718 
719 // ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL
720 typedef enum camera_metadata_enum_android_info_supported_hardware_level {
721     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
722     ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
723 } camera_metadata_enum_android_info_supported_hardware_level_t;
724 
725 
726 // ANDROID_BLACK_LEVEL_LOCK
727 typedef enum camera_metadata_enum_android_black_level_lock {
728     ANDROID_BLACK_LEVEL_LOCK_OFF,
729     ANDROID_BLACK_LEVEL_LOCK_ON,
730 } camera_metadata_enum_android_black_level_lock_t;
731 
732 
733