OSDN Git Service

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