OSDN Git Service

Camera2: Separate AE/AWB locks from AE/AWB modes.
[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 /** TODO: Nearly every enum in this file needs a description */
24
25 /**
26  * Top level hierarchy definitions for camera metadata. *_INFO sections are for
27  * the static metadata that can be retrived without opening the camera device.
28  * New sections must be added right before ANDROID_SECTION_COUNT to maintain
29  * existing enumerations.
30  */
31 enum {
32     ANDROID_REQUEST = 0,
33     ANDROID_LENS,
34     ANDROID_LENS_INFO,
35     ANDROID_SENSOR,
36     ANDROID_SENSOR_INFO,
37     ANDROID_FLASH,
38     ANDROID_FLASH_INFO,
39     ANDROID_HOT_PIXEL,
40     ANDROID_HOT_PIXEL_INFO,
41     ANDROID_DEMOSAIC,
42     ANDROID_DEMOSAIC_INFO,
43     ANDROID_NOISE,
44     ANDROID_NOISE_INFO,
45     ANDROID_SHADING,
46     ANDROID_SHADING_INFO,
47     ANDROID_GEOMETRIC,
48     ANDROID_GEOMETRIC_INFO,
49     ANDROID_COLOR,
50     ANDROID_COLOR_INFO,
51     ANDROID_TONEMAP,
52     ANDROID_TONEMAP_INFO,
53     ANDROID_EDGE,
54     ANDROID_EDGE_INFO,
55     ANDROID_SCALER,
56     ANDROID_SCALER_INFO,
57     ANDROID_JPEG,
58     ANDROID_JPEG_INFO,
59     ANDROID_STATS,
60     ANDROID_STATS_INFO,
61     ANDROID_CONTROL,
62     ANDROID_CONTROL_INFO,
63     ANDROID_SECTION_COUNT,
64
65     VENDOR_SECTION = 0x8000
66 };
67
68 /**
69  * Hierarchy positions in enum space. All vendor extension tags must be
70  * defined with tag >= VENDOR_SECTION_START
71  */
72 enum {
73     ANDROID_REQUEST_START         = ANDROID_REQUEST        << 16,
74     ANDROID_LENS_START            = ANDROID_LENS           << 16,
75     ANDROID_LENS_INFO_START       = ANDROID_LENS_INFO      << 16,
76     ANDROID_SENSOR_START          = ANDROID_SENSOR         << 16,
77     ANDROID_SENSOR_INFO_START     = ANDROID_SENSOR_INFO    << 16,
78     ANDROID_FLASH_START           = ANDROID_FLASH          << 16,
79     ANDROID_FLASH_INFO_START      = ANDROID_FLASH_INFO     << 16,
80     ANDROID_HOT_PIXEL_START       = ANDROID_HOT_PIXEL      << 16,
81     ANDROID_HOT_PIXEL_INFO_START  = ANDROID_HOT_PIXEL_INFO << 16,
82     ANDROID_DEMOSAIC_START        = ANDROID_DEMOSAIC       << 16,
83     ANDROID_DEMOSAIC_INFO_START   = ANDROID_DEMOSAIC_INFO  << 16,
84     ANDROID_NOISE_START           = ANDROID_NOISE          << 16,
85     ANDROID_NOISE_INFO_START      = ANDROID_NOISE_INFO     << 16,
86     ANDROID_SHADING_START         = ANDROID_SHADING        << 16,
87     ANDROID_SHADING_INFO_START    = ANDROID_SHADING_INFO   << 16,
88     ANDROID_GEOMETRIC_START       = ANDROID_GEOMETRIC      << 16,
89     ANDROID_GEOMETRIC_INFO_START  = ANDROID_GEOMETRIC_INFO << 16,
90     ANDROID_COLOR_START           = ANDROID_COLOR          << 16,
91     ANDROID_COLOR_INFO_START      = ANDROID_COLOR_INFO     << 16,
92     ANDROID_TONEMAP_START         = ANDROID_TONEMAP        << 16,
93     ANDROID_TONEMAP_INFO_START    = ANDROID_TONEMAP_INFO   << 16,
94     ANDROID_EDGE_START            = ANDROID_EDGE           << 16,
95     ANDROID_EDGE_INFO_START       = ANDROID_EDGE_INFO      << 16,
96     ANDROID_SCALER_START          = ANDROID_SCALER         << 16,
97     ANDROID_SCALER_INFO_START     = ANDROID_SCALER_INFO    << 16,
98     ANDROID_JPEG_START            = ANDROID_JPEG           << 16,
99     ANDROID_JPEG_INFO_START       = ANDROID_JPEG_INFO      << 16,
100     ANDROID_STATS_START           = ANDROID_STATS          << 16,
101     ANDROID_STATS_INFO_START      = ANDROID_STATS_INFO     << 16,
102     ANDROID_CONTROL_START         = ANDROID_CONTROL        << 16,
103     ANDROID_CONTROL_INFO_START    = ANDROID_CONTROL_INFO   << 16,
104     VENDOR_SECTION_START          = VENDOR_SECTION         << 16
105 };
106
107 /**
108  * Main enum for defining camera metadata tags.  New entries must always go
109  * before the section _END tag to preserve existing enumeration values.  In
110  * addition, the name and type of the tag needs to be added to
111  * system/media/camera/src/camera_metadata_tag_info.c
112  */
113 enum {
114     ANDROID_REQUEST_ID = ANDROID_REQUEST_START,
115     ANDROID_REQUEST_TYPE,
116     ANDROID_REQUEST_METADATA_MODE,
117     ANDROID_REQUEST_OUTPUT_STREAMS,
118     ANDROID_REQUEST_INPUT_STREAMS,
119     ANDROID_REQUEST_FRAME_COUNT,
120     ANDROID_REQUEST_END,
121
122     ANDROID_LENS_FOCUS_DISTANCE = ANDROID_LENS_START,
123     ANDROID_LENS_APERTURE,
124     ANDROID_LENS_FOCAL_LENGTH,
125     ANDROID_LENS_FILTER_DENSITY,
126     ANDROID_LENS_OPTICAL_STABILIZATION_MODE,
127     ANDROID_LENS_FOCUS_RANGE,
128     ANDROID_LENS_END,
129
130     ANDROID_LENS_MINIMUM_FOCUS_DISTANCE = ANDROID_LENS_INFO_START,
131     ANDROID_LENS_HYPERFOCAL_DISTANCE,
132     ANDROID_LENS_AVAILABLE_FOCAL_LENGTHS,
133     ANDROID_LENS_AVAILABLE_APERTURES,
134     ANDROID_LENS_AVAILABLE_FILTER_DENSITY,
135     ANDROID_LENS_AVAILABLE_OPTICAL_STABILIZATION,
136     ANDROID_LENS_SHADING_MAP_SIZE,
137     ANDROID_LENS_SHADING_MAP,
138     ANDROID_LENS_GEOMETRIC_CORRECTION_MAP_SIZE,
139     ANDROID_LENS_GEOMETRIC_CORRECTION_MAP,
140     ANDROID_LENS_FACING,
141     ANDROID_LENS_POSITION,
142     ANDROID_LENS_INFO_END,
143
144     ANDROID_SENSOR_EXPOSURE_TIME = ANDROID_SENSOR_START,
145     ANDROID_SENSOR_FRAME_DURATION,
146     ANDROID_SENSOR_SENSITIVITY,
147     ANDROID_SENSOR_TIMESTAMP,
148     ANDROID_SENSOR_END,
149
150     ANDROID_SENSOR_EXPOSURE_TIME_RANGE = ANDROID_SENSOR_INFO_START,
151     ANDROID_SENSOR_MAX_FRAME_DURATION,
152     ANDROID_SENSOR_AVAILABLE_SENSITIVITIES,
153     ANDROID_SENSOR_COLOR_FILTER_ARRANGEMENT,
154     ANDROID_SENSOR_PHYSICAL_SIZE,
155     ANDROID_SENSOR_PIXEL_ARRAY_SIZE,
156     ANDROID_SENSOR_ACTIVE_ARRAY_SIZE,
157     ANDROID_SENSOR_WHITE_LEVEL,
158     ANDROID_SENSOR_BLACK_LEVEL_PATTERN,
159     ANDROID_SENSOR_COLOR_TRANSFORM_1,
160     ANDROID_SENSOR_COLOR_TRANSFORM_2,
161     ANDROID_SENSOR_REFERENCE_ILLUMINANT_1,
162     ANDROID_SENSOR_REFERENCE_ILLUMINANT_2,
163     ANDROID_SENSOR_FORWARD_MATRIX_1,
164     ANDROID_SENSOR_FORWARD_MATRIX_2,
165     ANDROID_SENSOR_CALIBRATION_TRANSFORM_1,
166     ANDROID_SENSOR_CALIBRATION_TRANSFORM_2,
167     ANDROID_SENSOR_BASE_GAIN_FACTOR,
168     ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY,
169     ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS,
170     ANDROID_SENSOR_ORIENTATION,
171     ANDROID_SENSOR_INFO_END,
172
173     ANDROID_FLASH_MODE = ANDROID_FLASH_START,
174     ANDROID_FLASH_FIRING_POWER,
175     ANDROID_FLASH_FIRING_TIME,
176     ANDROID_FLASH_END,
177
178     ANDROID_FLASH_AVAILABLE = ANDROID_FLASH_INFO_START,
179     ANDROID_FLASH_CHARGE_DURATION,
180     ANDROID_FLASH_INFO_END,
181
182     ANDROID_HOT_PIXEL_MODE = ANDROID_HOT_PIXEL_START,
183     ANDROID_HOT_PIXEL_END,
184
185     ANDROID_HOT_PIXEL_INFO_END = ANDROID_HOT_PIXEL_INFO_START,
186
187     ANDROID_DEMOSAIC_MODE = ANDROID_DEMOSAIC_START,
188     ANDROID_DEMOSAIC_END,
189
190     ANDROID_DEMOSAIC_INFO_END = ANDROID_DEMOSAIC_INFO_START,
191
192     ANDROID_NOISE_MODE = ANDROID_NOISE_START,
193     ANDROID_NOISE_STRENGTH,
194     ANDROID_NOISE_END,
195
196     ANDROID_NOISE_INFO_END = ANDROID_NOISE_INFO_START,
197
198     ANDROID_SHADING_MODE  = ANDROID_SHADING_START,
199     ANDROID_SHADING_END,
200
201     ANDROID_SHADING_INFO_END = ANDROID_SHADING_INFO_START,
202
203     ANDROID_GEOMETRIC_MODE  = ANDROID_GEOMETRIC_START,
204     ANDROID_GEOMETRIC_END,
205
206     ANDROID_GEOMETRIC_INFO_END = ANDROID_GEOMETRIC_INFO_START,
207
208     ANDROID_COLOR_MODE = ANDROID_COLOR_START,
209     ANDROID_COLOR_TRANSFORM,
210     ANDROID_COLOR_END,
211
212     ANDROID_COLOR_INFO_END = ANDROID_COLOR_INFO_START,
213
214     ANDROID_TONEMAP_MODE = ANDROID_TONEMAP_START,
215     ANDROID_TONEMAP_CURVE_RED,
216     ANDROID_TONEMAP_CURVE_GREEN,
217     ANDROID_TONEMAP_CURVE_BLUE,
218     ANDROID_TONEMAP_END,
219
220     ANDROID_TONEMAP_MAX_CURVE_POINTS = ANDROID_TONEMAP_INFO_START,
221     ANDROID_TONEMAP_INFO_END,
222
223     ANDROID_EDGE_MODE = ANDROID_EDGE_START,
224     ANDROID_EDGE_STRENGTH,
225     ANDROID_EDGE_END,
226
227     ANDROID_EDGE_INFO_END = ANDROID_EDGE_INFO_START,
228
229     ANDROID_SCALER_CROP_REGION  = ANDROID_SCALER_START,
230     ANDROID_SCALER_END,
231
232     ANDROID_SCALER_AVAILABLE_FORMATS = ANDROID_SCALER_INFO_START,
233     ANDROID_SCALER_AVAILABLE_RAW_SIZES,
234     ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS,
235     ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES,
236     ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS,
237     ANDROID_SCALER_AVAILABLE_JPEG_SIZES,
238     ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS,
239     ANDROID_SCALER_AVAILABLE_MAX_ZOOM,
240     ANDROID_SCALER_INFO_END,
241
242     ANDROID_JPEG_QUALITY = ANDROID_JPEG_START,
243     ANDROID_JPEG_THUMBNAIL_SIZE,
244     ANDROID_JPEG_THUMBNAIL_QUALITY,
245     ANDROID_JPEG_GPS_COORDINATES,
246     ANDROID_JPEG_GPS_PROCESSING_METHOD,
247     ANDROID_JPEG_GPS_TIMESTAMP,
248     ANDROID_JPEG_ORIENTATION,
249     ANDROID_JPEG_END,
250
251     ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES  = ANDROID_JPEG_INFO_START,
252     ANDROID_JPEG_MAX_SIZE,
253     ANDROID_JPEG_INFO_END,
254
255     ANDROID_STATS_FACE_DETECT_MODE = ANDROID_STATS_START,
256     ANDROID_STATS_FACE_RECTANGLES,
257     ANDROID_STATS_FACE_SCORES,
258     ANDROID_STATS_FACE_LANDMARKS,
259     ANDROID_STATS_FACE_IDS,
260     ANDROID_STATS_HISTOGRAM_MODE,
261     ANDROID_STATS_HISTOGRAM,
262     ANDROID_STATS_SHARPNESS_MAP_MODE,
263     ANDROID_STATS_SHARPNESS_MAP,
264     ANDROID_STATS_END,
265
266     ANDROID_STATS_AVAILABLE_FACE_DETECT_MODES = ANDROID_STATS_INFO_START,
267     ANDROID_STATS_MAX_FACE_COUNT,
268     ANDROID_STATS_HISTOGRAM_BUCKET_COUNT,
269     ANDROID_STATS_MAX_HISTOGRAM_COUNT,
270     ANDROID_STATS_SHARPNESS_MAP_SIZE,
271     ANDROID_STATS_MAX_SHARPNESS_MAP_VALUE,
272     ANDROID_STATS_INFO_END,
273
274     ANDROID_CONTROL_CAPTURE_INTENT = ANDROID_CONTROL_START,
275     ANDROID_CONTROL_MODE,
276     ANDROID_CONTROL_EFFECT_MODE,
277     ANDROID_CONTROL_SCENE_MODE,
278     ANDROID_CONTROL_VIDEO_STABILIZATION_MODE,
279     ANDROID_CONTROL_AE_MODE,
280     ANDROID_CONTROL_AE_LOCK,
281     ANDROID_CONTROL_AE_REGIONS,
282     ANDROID_CONTROL_AE_EXP_COMPENSATION,
283     ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
284     ANDROID_CONTROL_AE_ANTIBANDING_MODE,
285     ANDROID_CONTROL_AE_STATE,
286     ANDROID_CONTROL_AE_PRECAPTURE_ID,
287     ANDROID_CONTROL_AWB_MODE,
288     ANDROID_CONTROL_AWB_LOCK,
289     ANDROID_CONTROL_AWB_REGIONS,
290     ANDROID_CONTROL_AWB_STATE,
291     ANDROID_CONTROL_AF_MODE,
292     ANDROID_CONTROL_AF_REGIONS,
293     ANDROID_CONTROL_AF_STATE,
294     ANDROID_CONTROL_AF_TRIGGER_ID,
295
296     ANDROID_CONTROL_END,
297
298     ANDROID_CONTROL_AVAILABLE_SCENE_MODES = ANDROID_CONTROL_INFO_START,
299     ANDROID_CONTROL_AVAILABLE_EFFECTS,
300     ANDROID_CONTROL_MAX_REGIONS,
301     ANDROID_CONTROL_AE_AVAILABLE_MODES,
302     ANDROID_CONTROL_AE_EXP_COMPENSATION_STEP,
303     ANDROID_CONTROL_AE_EXP_COMPENSATION_RANGE,
304     ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,
305     ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,
306     ANDROID_CONTROL_AWB_AVAILABLE_MODES,
307     ANDROID_CONTROL_AF_AVAILABLE_MODES,
308     ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
309     ANDROID_CONTROL_INFO_END
310 };
311
312 /**
313  * Enumeration definitions for the various entries that need them
314  */
315
316 // ANDROID_REQUEST_METADATA_TYPE
317 enum {
318     ANDROID_REQUEST_TYPE_CAPTURE = 0,
319     ANDROID_REQUEST_TYPE_REPROCESS
320 };
321
322 // ANDROID_REQUEST_METADATA_MODE
323 enum {
324     ANDROID_REQUEST_METADATA_NONE = 0,
325     ANDROID_REQUEST_METADATA_FULL
326 };
327
328 // ANDROID_LENS_OPTICAL_STABILIZATION_MODE
329 enum {
330     ANDROID_LENS_OPTICAL_STABILIZATION_OFF = 0,
331     ANDROID_LENS_OPTICAL_STABILIZATION_ON
332 };
333
334 // ANDROID_LENS_FACING
335 enum {
336     ANDROID_LENS_FACING_BACK = 0,
337     ANDROID_LENS_FACING_FRONT
338 };
339
340 // ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
341 enum {
342     ANDROID_SENSOR_RGGB = 0,
343     ANDROID_SENSOR_GRBG,
344     ANDROID_SENSOR_GBRG,
345     ANDROID_SENSOR_BGGR,
346     ANDROID_SENSOR_RGB
347 };
348
349 // ANDROID_FLASH_MODE
350 enum {
351     ANDROID_FLASH_OFF = 0,
352     ANDROID_FLASH_SINGLE,
353     ANDROID_FLASH_TORCH
354 };
355
356 // General processing block modes
357 enum {
358     ANDROID_PROCESSING_OFF = 0,
359     ANDROID_PROCESSING_FAST,
360     ANDROID_PROCESSING_HIGH_QUALITY
361 };
362
363 // ANDROID_DEMOSAIC_MODE
364 enum {
365     ANDROID_DEMOSAIC_FAST = 1,
366     ANDROID_DEMOSAIC_HIGH_QUALITY
367 };
368
369 // ANDROID_COLOR_MODE
370 enum {
371     ANDROID_COLOR_FAST = 1,
372     ANDROID_COLOR_HIGH_QUALITY,
373     ANDROID_COLOR_TRANSFORM_MATRIX
374 };
375
376 // ANDROID_TONEMAP_MODE
377 enum {
378     ANDROID_TONEMAP_FAST = 1,
379     ANDROID_TONEMAP_HIGH_QUALITY,
380     ANDROID_TONEMAP_CONTRAST_CURVE
381 };
382
383 // ANDROID_SCALER_AVAILABLE_FORMATS uses HAL_PIXEL_FORMAT_* from
384 // system/graphics.h
385
386 // ANDROID_STATS_FACE_DETECTION_MODE
387 enum {
388     ANDROID_STATS_FACE_DETECTION_OFF = 0,
389     ANDROID_STATS_FACE_DETECTION_SIMPLE,
390     ANDROID_STATS_FACE_DETECTION_FULL
391 };
392
393 // ANDROID_STATS_HISTOGRAM/SHARPNESS_MAP_MODE
394 enum {
395     ANDROID_STATS_OFF = 0,
396     ANDROID_STATS_ON
397 };
398
399 // ANDROID_CONTROL_CAPTURE_INTENT
400 enum {
401     ANDROID_CONTROL_INTENT_CUSTOM = 0,
402     ANDROID_CONTROL_INTENT_PREVIEW,
403     ANDROID_CONTROL_INTENT_STILL_CAPTURE,
404     ANDROID_CONTROL_INTENT_VIDEO_RECORD,
405     ANDROID_CONTROL_INTENT_VIDEO_SNAPSHOT,
406     ANDROID_CONTROL_INTENT_ZERO_SHUTTER_LAG
407 };
408
409 // ANDROID_CONTROL_MODE
410 enum {
411     ANDROID_CONTROL_OFF = 0,
412     ANDROID_CONTROL_AUTO,
413     ANDROID_CONTROL_USE_SCENE_MODE
414 };
415
416 // ANDROID_CONTROL_SCENE_MODE
417 enum {
418     ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED = 0, // Only for availableSceneModes
419     ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY,
420     ANDROID_CONTROL_SCENE_MODE_ACTION,
421     ANDROID_CONTROL_SCENE_MODE_PORTRAIT,
422     ANDROID_CONTROL_SCENE_MODE_LANDSCAPE,
423     ANDROID_CONTROL_SCENE_MODE_NIGHT,
424     ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT,
425     ANDROID_CONTROL_SCENE_MODE_THEATRE,
426     ANDROID_CONTROL_SCENE_MODE_BEACH,
427     ANDROID_CONTROL_SCENE_MODE_SNOW,
428     ANDROID_CONTROL_SCENE_MODE_SUNSET,
429     ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO,
430     ANDROID_CONTROL_SCENE_MODE_FIREWORKS,
431     ANDROID_CONTROL_SCENE_MODE_SPORTS,
432     ANDROID_CONTROL_SCENE_MODE_PARTY,
433     ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT,
434     ANDROID_CONTROL_SCENE_MODE_BARCODE
435 };
436
437 // ANDROID_CONTROL_EFFECT_MODE
438 enum {
439     ANDROID_CONTROL_EFFECT_OFF = 0,
440     ANDROID_CONTROL_EFFECT_MONO,
441     ANDROID_CONTROL_EFFECT_NEGATIVE,
442     ANDROID_CONTROL_EFFECT_SOLARIZE,
443     ANDROID_CONTROL_EFFECT_SEPIA,
444     ANDROID_CONTROL_EFFECT_POSTERIZE,
445     ANDROID_CONTROL_EFFECT_WHITEBOARD,
446     ANDROID_CONTROL_EFFECT_BLACKBOARD,
447     ANDROID_CONTROL_EFFECT_AQUA
448 };
449
450 // ANDROID_CONTROL_AE_MODE
451 enum {
452     ANDROID_CONTROL_AE_OFF = 0,
453     ANDROID_CONTROL_AE_ON,
454     ANDROID_CONTROL_AE_ON_AUTO_FLASH,
455     ANDROID_CONTROL_AE_ON_ALWAYS_FLASH,
456     ANDROID_CONTROL_AE_ON_AUTO_FLASH_REDEYE
457 };
458
459 // ANDROID_CONTROL_AE_LOCK
460 enum {
461     ANDROID_CONTROL_AE_LOCK_OFF = 0,
462     ANDROID_CONTROL_AE_LOCK_ON
463 };
464
465 // ANDROID_CONTROL_AE_ANTIBANDING_MODE
466 enum {
467     ANDROID_CONTROL_AE_ANTIBANDING_OFF = 0,
468     ANDROID_CONTROL_AE_ANTIBANDING_50HZ,
469     ANDROID_CONTROL_AE_ANTIBANDING_60HZ,
470     ANDROID_CONTROL_AE_ANTIBANDING_AUTO
471 };
472
473 // ANDROID_CONTROL_AE_STATE
474 enum {
475     ANDROID_CONTROL_AE_STATE_INACTIVE = 0,
476     ANDROID_CONTROL_AE_STATE_SEARCHING,
477     ANDROID_CONTROL_AE_STATE_CONVERGED,
478     ANDROID_CONTROL_AE_STATE_LOCKED,
479     ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED,
480     ANDROID_CONTROL_AE_STATE_PRECAPTURE
481 };
482
483 // ANDROID_CONTROL_AWB_MODE
484 enum {
485     ANDROID_CONTROL_AWB_OFF = 0,
486     ANDROID_CONTROL_AWB_AUTO,
487     ANDROID_CONTROL_AWB_INCANDESCENT,
488     ANDROID_CONTROL_AWB_FLUORESCENT,
489     ANDROID_CONTROL_AWB_WARM_FLUORESCENT,
490     ANDROID_CONTROL_AWB_DAYLIGHT,
491     ANDROID_CONTROL_AWB_CLOUDY_DAYLIGHT,
492     ANDROID_CONTROL_AWB_TWILIGHT,
493     ANDROID_CONTROL_AWB_SHADE
494 };
495
496 // ANDROID_CONTROL_AWB_LOCK
497 enum {
498     ANDROID_CONTROL_AWB_LOCK_OFF = 0,
499     ANDROID_CONTROL_AWB_LOCK_ON
500 };
501
502 // ANDROID_CONTROL_AWB_STATE
503 enum {
504     ANDROID_CONTROL_AWB_STATE_INACTIVE = 0,
505     ANDROID_CONTROL_AWB_STATE_SEARCHING,
506     ANDROID_CONTROL_AWB_STATE_CONVERGED,
507     ANDROID_CONTROL_AWB_STATE_LOCKED,
508 };
509
510 // ANDROID_CONTROL_AF_MODE
511 enum {
512     ANDROID_CONTROL_AF_OFF = 0,
513     ANDROID_CONTROL_AF_AUTO,
514     ANDROID_CONTROL_AF_MACRO,
515     ANDROID_CONTROL_AF_CONTINUOUS_VIDEO,
516     ANDROID_CONTROL_AF_CONTINUOUS_PICTURE,
517     ANDROID_CONTROL_AF_EDOF
518 };
519
520 // ANDROID_CONTROL_AF_STATE
521 enum {
522     ANDROID_CONTROL_AF_STATE_INACTIVE = 0,
523     ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN,
524     ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED,
525     ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN,
526     ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED,
527     ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED
528 };
529
530 // ANDROID_CONTROL_VIDEO_STABILIZATION
531 enum {
532     ANDROID_CONTROL_VIDEO_STABILIZATION_OFF = 0,
533     ANDROID_CONTROL_VIDEO_STABILIZATION_ON
534 };