blob: 1a0dc115c04fd0afd09c66e5c367bda6d70d3c85 [file] [log] [blame]
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -08001/*
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 reference this file directly !!
19 *
20 * It is logically a part of camera_metadata.c. It is broken out for ease of
21 * maintaining the tag info.
Eino-Ville Talvala623ff652012-04-11 16:15:50 -070022 *
23 * Array assignments are done using specified-index syntax to keep things in
24 * sync with camera_metadata_tags.h
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -080025 */
26
Igor Murashkin08b8aad2012-11-29 15:23:03 -080027/**
28 * ! Do not edit this file directly !
29 *
30 * Generated automatically from camera_metadata_tag_info.mako
31 */
32
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -080033const char *camera_metadata_section_names[ANDROID_SECTION_COUNT] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -080034 [ANDROID_COLOR_CORRECTION] = "android.colorCorrection",
35 [ANDROID_CONTROL] = "android.control",
36 [ANDROID_DEMOSAIC] = "android.demosaic",
37 [ANDROID_EDGE] = "android.edge",
38 [ANDROID_FLASH] = "android.flash",
39 [ANDROID_FLASH_INFO] = "android.flash.info",
40 [ANDROID_GEOMETRIC] = "android.geometric",
41 [ANDROID_HOT_PIXEL] = "android.hotPixel",
42 [ANDROID_HOT_PIXEL_INFO] = "android.hotPixel.info",
43 [ANDROID_JPEG] = "android.jpeg",
44 [ANDROID_LENS] = "android.lens",
45 [ANDROID_LENS_INFO] = "android.lens.info",
46 [ANDROID_NOISE_REDUCTION] = "android.noiseReduction",
47 [ANDROID_QUIRKS] = "android.quirks",
48 [ANDROID_REQUEST] = "android.request",
49 [ANDROID_SCALER] = "android.scaler",
50 [ANDROID_SENSOR] = "android.sensor",
51 [ANDROID_SENSOR_INFO] = "android.sensor.info",
52 [ANDROID_SHADING] = "android.shading",
53 [ANDROID_STATISTICS] = "android.statistics",
54 [ANDROID_STATISTICS_INFO] = "android.statistics.info",
55 [ANDROID_TONEMAP] = "android.tonemap",
Igor Murashkinc469f7d2013-04-23 14:31:02 -070056 [ANDROID_LED] = "android.led",
Igor Murashkin38b8cae2013-05-23 16:38:59 -070057 [ANDROID_INFO] = "android.info",
Zhijun He69fc0ea2013-07-17 09:42:58 -070058 [ANDROID_BLACK_LEVEL] = "android.blackLevel",
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -080059};
60
61unsigned int camera_metadata_section_bounds[ANDROID_SECTION_COUNT][2] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -080062 [ANDROID_COLOR_CORRECTION] = { ANDROID_COLOR_CORRECTION_START,
63 ANDROID_COLOR_CORRECTION_END },
64 [ANDROID_CONTROL] = { ANDROID_CONTROL_START,
65 ANDROID_CONTROL_END },
66 [ANDROID_DEMOSAIC] = { ANDROID_DEMOSAIC_START,
67 ANDROID_DEMOSAIC_END },
68 [ANDROID_EDGE] = { ANDROID_EDGE_START,
69 ANDROID_EDGE_END },
70 [ANDROID_FLASH] = { ANDROID_FLASH_START,
71 ANDROID_FLASH_END },
72 [ANDROID_FLASH_INFO] = { ANDROID_FLASH_INFO_START,
73 ANDROID_FLASH_INFO_END },
74 [ANDROID_GEOMETRIC] = { ANDROID_GEOMETRIC_START,
75 ANDROID_GEOMETRIC_END },
76 [ANDROID_HOT_PIXEL] = { ANDROID_HOT_PIXEL_START,
77 ANDROID_HOT_PIXEL_END },
78 [ANDROID_HOT_PIXEL_INFO] = { ANDROID_HOT_PIXEL_INFO_START,
79 ANDROID_HOT_PIXEL_INFO_END },
80 [ANDROID_JPEG] = { ANDROID_JPEG_START,
81 ANDROID_JPEG_END },
82 [ANDROID_LENS] = { ANDROID_LENS_START,
83 ANDROID_LENS_END },
84 [ANDROID_LENS_INFO] = { ANDROID_LENS_INFO_START,
85 ANDROID_LENS_INFO_END },
86 [ANDROID_NOISE_REDUCTION] = { ANDROID_NOISE_REDUCTION_START,
87 ANDROID_NOISE_REDUCTION_END },
88 [ANDROID_QUIRKS] = { ANDROID_QUIRKS_START,
89 ANDROID_QUIRKS_END },
90 [ANDROID_REQUEST] = { ANDROID_REQUEST_START,
91 ANDROID_REQUEST_END },
92 [ANDROID_SCALER] = { ANDROID_SCALER_START,
93 ANDROID_SCALER_END },
94 [ANDROID_SENSOR] = { ANDROID_SENSOR_START,
95 ANDROID_SENSOR_END },
96 [ANDROID_SENSOR_INFO] = { ANDROID_SENSOR_INFO_START,
97 ANDROID_SENSOR_INFO_END },
98 [ANDROID_SHADING] = { ANDROID_SHADING_START,
99 ANDROID_SHADING_END },
100 [ANDROID_STATISTICS] = { ANDROID_STATISTICS_START,
101 ANDROID_STATISTICS_END },
102 [ANDROID_STATISTICS_INFO] = { ANDROID_STATISTICS_INFO_START,
103 ANDROID_STATISTICS_INFO_END },
104 [ANDROID_TONEMAP] = { ANDROID_TONEMAP_START,
105 ANDROID_TONEMAP_END },
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700106 [ANDROID_LED] = { ANDROID_LED_START,
107 ANDROID_LED_END },
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700108 [ANDROID_INFO] = { ANDROID_INFO_START,
109 ANDROID_INFO_END },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700110 [ANDROID_BLACK_LEVEL] = { ANDROID_BLACK_LEVEL_START,
111 ANDROID_BLACK_LEVEL_END },
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800112};
113
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800114static tag_info_t android_color_correction[ANDROID_COLOR_CORRECTION_END -
115 ANDROID_COLOR_CORRECTION_START] = {
116 [ ANDROID_COLOR_CORRECTION_MODE - ANDROID_COLOR_CORRECTION_START ] =
117 { "mode", TYPE_BYTE },
118 [ ANDROID_COLOR_CORRECTION_TRANSFORM - ANDROID_COLOR_CORRECTION_START ] =
Zhijun He69fc0ea2013-07-17 09:42:58 -0700119 { "transform", TYPE_RATIONAL
120 },
121 [ ANDROID_COLOR_CORRECTION_GAINS - ANDROID_COLOR_CORRECTION_START ] =
122 { "gains", TYPE_FLOAT },
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800123};
124
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800125static tag_info_t android_control[ANDROID_CONTROL_END -
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700126 ANDROID_CONTROL_START] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800127 [ ANDROID_CONTROL_AE_ANTIBANDING_MODE - ANDROID_CONTROL_START ] =
128 { "aeAntibandingMode", TYPE_BYTE },
129 [ ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION - ANDROID_CONTROL_START ] =
130 { "aeExposureCompensation", TYPE_INT32 },
131 [ ANDROID_CONTROL_AE_LOCK - ANDROID_CONTROL_START ] =
132 { "aeLock", TYPE_BYTE },
133 [ ANDROID_CONTROL_AE_MODE - ANDROID_CONTROL_START ] =
134 { "aeMode", TYPE_BYTE },
135 [ ANDROID_CONTROL_AE_REGIONS - ANDROID_CONTROL_START ] =
136 { "aeRegions", TYPE_INT32 },
137 [ ANDROID_CONTROL_AE_TARGET_FPS_RANGE - ANDROID_CONTROL_START ] =
138 { "aeTargetFpsRange", TYPE_INT32 },
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700139 [ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER - ANDROID_CONTROL_START ] =
140 { "aePrecaptureTrigger", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800141 [ ANDROID_CONTROL_AF_MODE - ANDROID_CONTROL_START ] =
142 { "afMode", TYPE_BYTE },
143 [ ANDROID_CONTROL_AF_REGIONS - ANDROID_CONTROL_START ] =
144 { "afRegions", TYPE_INT32 },
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700145 [ ANDROID_CONTROL_AF_TRIGGER - ANDROID_CONTROL_START ] =
146 { "afTrigger", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800147 [ ANDROID_CONTROL_AWB_LOCK - ANDROID_CONTROL_START ] =
148 { "awbLock", TYPE_BYTE },
149 [ ANDROID_CONTROL_AWB_MODE - ANDROID_CONTROL_START ] =
150 { "awbMode", TYPE_BYTE },
151 [ ANDROID_CONTROL_AWB_REGIONS - ANDROID_CONTROL_START ] =
152 { "awbRegions", TYPE_INT32 },
153 [ ANDROID_CONTROL_CAPTURE_INTENT - ANDROID_CONTROL_START ] =
154 { "captureIntent", TYPE_BYTE },
155 [ ANDROID_CONTROL_EFFECT_MODE - ANDROID_CONTROL_START ] =
156 { "effectMode", TYPE_BYTE },
157 [ ANDROID_CONTROL_MODE - ANDROID_CONTROL_START ] =
158 { "mode", TYPE_BYTE },
159 [ ANDROID_CONTROL_SCENE_MODE - ANDROID_CONTROL_START ] =
160 { "sceneMode", TYPE_BYTE },
161 [ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE - ANDROID_CONTROL_START ] =
162 { "videoStabilizationMode", TYPE_BYTE },
163 [ ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES - ANDROID_CONTROL_START ] =
164 { "aeAvailableAntibandingModes", TYPE_BYTE },
165 [ ANDROID_CONTROL_AE_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
166 { "aeAvailableModes", TYPE_BYTE },
167 [ ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES - ANDROID_CONTROL_START ] =
168 { "aeAvailableTargetFpsRanges", TYPE_INT32 },
169 [ ANDROID_CONTROL_AE_COMPENSATION_RANGE - ANDROID_CONTROL_START ] =
170 { "aeCompensationRange", TYPE_INT32 },
171 [ ANDROID_CONTROL_AE_COMPENSATION_STEP - ANDROID_CONTROL_START ] =
172 { "aeCompensationStep", TYPE_RATIONAL
173 },
174 [ ANDROID_CONTROL_AF_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
175 { "afAvailableModes", TYPE_BYTE },
176 [ ANDROID_CONTROL_AVAILABLE_EFFECTS - ANDROID_CONTROL_START ] =
177 { "availableEffects", TYPE_BYTE },
178 [ ANDROID_CONTROL_AVAILABLE_SCENE_MODES - ANDROID_CONTROL_START ] =
179 { "availableSceneModes", TYPE_BYTE },
180 [ ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES - ANDROID_CONTROL_START ] =
181 { "availableVideoStabilizationModes",
182 TYPE_BYTE },
183 [ ANDROID_CONTROL_AWB_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
184 { "awbAvailableModes", TYPE_BYTE },
185 [ ANDROID_CONTROL_MAX_REGIONS - ANDROID_CONTROL_START ] =
186 { "maxRegions", TYPE_INT32 },
187 [ ANDROID_CONTROL_SCENE_MODE_OVERRIDES - ANDROID_CONTROL_START ] =
188 { "sceneModeOverrides", TYPE_BYTE },
189 [ ANDROID_CONTROL_AE_PRECAPTURE_ID - ANDROID_CONTROL_START ] =
190 { "aePrecaptureId", TYPE_INT32 },
191 [ ANDROID_CONTROL_AE_STATE - ANDROID_CONTROL_START ] =
192 { "aeState", TYPE_BYTE },
193 [ ANDROID_CONTROL_AF_STATE - ANDROID_CONTROL_START ] =
194 { "afState", TYPE_BYTE },
195 [ ANDROID_CONTROL_AF_TRIGGER_ID - ANDROID_CONTROL_START ] =
196 { "afTriggerId", TYPE_INT32 },
197 [ ANDROID_CONTROL_AWB_STATE - ANDROID_CONTROL_START ] =
198 { "awbState", TYPE_BYTE },
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700199};
200
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800201static tag_info_t android_demosaic[ANDROID_DEMOSAIC_END -
202 ANDROID_DEMOSAIC_START] = {
203 [ ANDROID_DEMOSAIC_MODE - ANDROID_DEMOSAIC_START ] =
204 { "mode", TYPE_BYTE },
Eino-Ville Talvala94879bd2012-10-01 16:33:03 -0700205};
206
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800207static tag_info_t android_edge[ANDROID_EDGE_END -
208 ANDROID_EDGE_START] = {
209 [ ANDROID_EDGE_MODE - ANDROID_EDGE_START ] =
210 { "mode", TYPE_BYTE },
211 [ ANDROID_EDGE_STRENGTH - ANDROID_EDGE_START ] =
212 { "strength", TYPE_BYTE },
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700213};
214
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800215static tag_info_t android_flash[ANDROID_FLASH_END -
216 ANDROID_FLASH_START] = {
217 [ ANDROID_FLASH_FIRING_POWER - ANDROID_FLASH_START ] =
218 { "firingPower", TYPE_BYTE },
219 [ ANDROID_FLASH_FIRING_TIME - ANDROID_FLASH_START ] =
220 { "firingTime", TYPE_INT64 },
221 [ ANDROID_FLASH_MODE - ANDROID_FLASH_START ] =
222 { "mode", TYPE_BYTE },
223 [ ANDROID_FLASH_COLOR_TEMPERATURE - ANDROID_FLASH_START ] =
224 { "colorTemperature", TYPE_BYTE },
225 [ ANDROID_FLASH_MAX_ENERGY - ANDROID_FLASH_START ] =
226 { "maxEnergy", TYPE_BYTE },
227 [ ANDROID_FLASH_STATE - ANDROID_FLASH_START ] =
228 { "state", TYPE_BYTE },
229};
230
231static tag_info_t android_flash_info[ANDROID_FLASH_INFO_END -
232 ANDROID_FLASH_INFO_START] = {
233 [ ANDROID_FLASH_INFO_AVAILABLE - ANDROID_FLASH_INFO_START ] =
234 { "available", TYPE_BYTE },
235 [ ANDROID_FLASH_INFO_CHARGE_DURATION - ANDROID_FLASH_INFO_START ] =
236 { "chargeDuration", TYPE_INT64 },
237};
238
239static tag_info_t android_geometric[ANDROID_GEOMETRIC_END -
240 ANDROID_GEOMETRIC_START] = {
241 [ ANDROID_GEOMETRIC_MODE - ANDROID_GEOMETRIC_START ] =
242 { "mode", TYPE_BYTE },
243 [ ANDROID_GEOMETRIC_STRENGTH - ANDROID_GEOMETRIC_START ] =
244 { "strength", TYPE_BYTE },
245};
246
247static tag_info_t android_hot_pixel[ANDROID_HOT_PIXEL_END -
248 ANDROID_HOT_PIXEL_START] = {
249 [ ANDROID_HOT_PIXEL_MODE - ANDROID_HOT_PIXEL_START ] =
250 { "mode", TYPE_BYTE },
251};
252
253static tag_info_t android_hot_pixel_info[ANDROID_HOT_PIXEL_INFO_END -
254 ANDROID_HOT_PIXEL_INFO_START] = {
255 [ ANDROID_HOT_PIXEL_INFO_MAP - ANDROID_HOT_PIXEL_INFO_START ] =
256 { "map", TYPE_INT32 },
257};
258
259static tag_info_t android_jpeg[ANDROID_JPEG_END -
260 ANDROID_JPEG_START] = {
261 [ ANDROID_JPEG_GPS_COORDINATES - ANDROID_JPEG_START ] =
262 { "gpsCoordinates", TYPE_DOUBLE },
263 [ ANDROID_JPEG_GPS_PROCESSING_METHOD - ANDROID_JPEG_START ] =
264 { "gpsProcessingMethod", TYPE_BYTE },
265 [ ANDROID_JPEG_GPS_TIMESTAMP - ANDROID_JPEG_START ] =
266 { "gpsTimestamp", TYPE_INT64 },
267 [ ANDROID_JPEG_ORIENTATION - ANDROID_JPEG_START ] =
268 { "orientation", TYPE_INT32 },
269 [ ANDROID_JPEG_QUALITY - ANDROID_JPEG_START ] =
270 { "quality", TYPE_BYTE },
271 [ ANDROID_JPEG_THUMBNAIL_QUALITY - ANDROID_JPEG_START ] =
272 { "thumbnailQuality", TYPE_BYTE },
273 [ ANDROID_JPEG_THUMBNAIL_SIZE - ANDROID_JPEG_START ] =
274 { "thumbnailSize", TYPE_INT32 },
275 [ ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES - ANDROID_JPEG_START ] =
276 { "availableThumbnailSizes", TYPE_INT32 },
277 [ ANDROID_JPEG_MAX_SIZE - ANDROID_JPEG_START ] =
278 { "maxSize", TYPE_INT32 },
279 [ ANDROID_JPEG_SIZE - ANDROID_JPEG_START ] =
280 { "size", TYPE_INT32 },
281};
282
283static tag_info_t android_lens[ANDROID_LENS_END -
284 ANDROID_LENS_START] = {
285 [ ANDROID_LENS_APERTURE - ANDROID_LENS_START ] =
286 { "aperture", TYPE_FLOAT },
287 [ ANDROID_LENS_FILTER_DENSITY - ANDROID_LENS_START ] =
288 { "filterDensity", TYPE_FLOAT },
289 [ ANDROID_LENS_FOCAL_LENGTH - ANDROID_LENS_START ] =
290 { "focalLength", TYPE_FLOAT },
291 [ ANDROID_LENS_FOCUS_DISTANCE - ANDROID_LENS_START ] =
292 { "focusDistance", TYPE_FLOAT },
293 [ ANDROID_LENS_OPTICAL_STABILIZATION_MODE - ANDROID_LENS_START ] =
294 { "opticalStabilizationMode", TYPE_BYTE },
295 [ ANDROID_LENS_FACING - ANDROID_LENS_START ] =
296 { "facing", TYPE_BYTE },
297 [ ANDROID_LENS_OPTICAL_AXIS_ANGLE - ANDROID_LENS_START ] =
298 { "opticalAxisAngle", TYPE_FLOAT },
299 [ ANDROID_LENS_POSITION - ANDROID_LENS_START ] =
300 { "position", TYPE_FLOAT },
301 [ ANDROID_LENS_FOCUS_RANGE - ANDROID_LENS_START ] =
302 { "focusRange", TYPE_FLOAT },
303 [ ANDROID_LENS_STATE - ANDROID_LENS_START ] =
304 { "state", TYPE_BYTE },
305};
306
307static tag_info_t android_lens_info[ANDROID_LENS_INFO_END -
308 ANDROID_LENS_INFO_START] = {
309 [ ANDROID_LENS_INFO_AVAILABLE_APERTURES - ANDROID_LENS_INFO_START ] =
310 { "availableApertures", TYPE_FLOAT },
311 [ ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES - ANDROID_LENS_INFO_START ] =
312 { "availableFilterDensities", TYPE_FLOAT },
313 [ ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS - ANDROID_LENS_INFO_START ] =
314 { "availableFocalLengths", TYPE_FLOAT },
315 [ ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION - ANDROID_LENS_INFO_START ] =
316 { "availableOpticalStabilization", TYPE_BYTE },
317 [ ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP - ANDROID_LENS_INFO_START ] =
318 { "geometricCorrectionMap", TYPE_FLOAT },
319 [ ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE - ANDROID_LENS_INFO_START ] =
320 { "geometricCorrectionMapSize", TYPE_INT32 },
321 [ ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE - ANDROID_LENS_INFO_START ] =
322 { "hyperfocalDistance", TYPE_FLOAT },
323 [ ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE - ANDROID_LENS_INFO_START ] =
324 { "minimumFocusDistance", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800325 [ ANDROID_LENS_INFO_SHADING_MAP_SIZE - ANDROID_LENS_INFO_START ] =
326 { "shadingMapSize", TYPE_INT32 },
327};
328
329static tag_info_t android_noise_reduction[ANDROID_NOISE_REDUCTION_END -
330 ANDROID_NOISE_REDUCTION_START] = {
331 [ ANDROID_NOISE_REDUCTION_MODE - ANDROID_NOISE_REDUCTION_START ] =
332 { "mode", TYPE_BYTE },
333 [ ANDROID_NOISE_REDUCTION_STRENGTH - ANDROID_NOISE_REDUCTION_START ] =
334 { "strength", TYPE_BYTE },
335};
336
337static tag_info_t android_quirks[ANDROID_QUIRKS_END -
338 ANDROID_QUIRKS_START] = {
339 [ ANDROID_QUIRKS_METERING_CROP_REGION - ANDROID_QUIRKS_START ] =
340 { "meteringCropRegion", TYPE_BYTE },
341 [ ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO - ANDROID_QUIRKS_START ] =
342 { "triggerAfWithAuto", TYPE_BYTE },
343 [ ANDROID_QUIRKS_USE_ZSL_FORMAT - ANDROID_QUIRKS_START ] =
344 { "useZslFormat", TYPE_BYTE },
345};
346
347static tag_info_t android_request[ANDROID_REQUEST_END -
348 ANDROID_REQUEST_START] = {
349 [ ANDROID_REQUEST_FRAME_COUNT - ANDROID_REQUEST_START ] =
350 { "frameCount", TYPE_INT32 },
351 [ ANDROID_REQUEST_ID - ANDROID_REQUEST_START ] =
352 { "id", TYPE_INT32 },
353 [ ANDROID_REQUEST_INPUT_STREAMS - ANDROID_REQUEST_START ] =
Zhijun Hee36cdbe2013-09-06 14:28:37 -0700354 { "inputStreams", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800355 [ ANDROID_REQUEST_METADATA_MODE - ANDROID_REQUEST_START ] =
356 { "metadataMode", TYPE_BYTE },
357 [ ANDROID_REQUEST_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
Zhijun Hee36cdbe2013-09-06 14:28:37 -0700358 { "outputStreams", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800359 [ ANDROID_REQUEST_TYPE - ANDROID_REQUEST_START ] =
360 { "type", TYPE_BYTE },
361 [ ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
362 { "maxNumOutputStreams", TYPE_INT32 },
363 [ ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS - ANDROID_REQUEST_START ] =
364 { "maxNumReprocessStreams", TYPE_INT32 },
365};
366
367static tag_info_t android_scaler[ANDROID_SCALER_END -
368 ANDROID_SCALER_START] = {
369 [ ANDROID_SCALER_CROP_REGION - ANDROID_SCALER_START ] =
370 { "cropRegion", TYPE_INT32 },
371 [ ANDROID_SCALER_AVAILABLE_FORMATS - ANDROID_SCALER_START ] =
372 { "availableFormats", TYPE_INT32 },
373 [ ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS - ANDROID_SCALER_START ] =
374 { "availableJpegMinDurations", TYPE_INT64 },
375 [ ANDROID_SCALER_AVAILABLE_JPEG_SIZES - ANDROID_SCALER_START ] =
376 { "availableJpegSizes", TYPE_INT32 },
377 [ ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM - ANDROID_SCALER_START ] =
Igor Murashkinf11a4df2013-05-07 10:00:46 -0700378 { "availableMaxDigitalZoom", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800379 [ ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS - ANDROID_SCALER_START ] =
380 { "availableProcessedMinDurations",
381 TYPE_INT64 },
382 [ ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES - ANDROID_SCALER_START ] =
383 { "availableProcessedSizes", TYPE_INT32 },
384 [ ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS - ANDROID_SCALER_START ] =
385 { "availableRawMinDurations", TYPE_INT64 },
386 [ ANDROID_SCALER_AVAILABLE_RAW_SIZES - ANDROID_SCALER_START ] =
387 { "availableRawSizes", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800388};
389
390static tag_info_t android_sensor[ANDROID_SENSOR_END -
391 ANDROID_SENSOR_START] = {
392 [ ANDROID_SENSOR_EXPOSURE_TIME - ANDROID_SENSOR_START ] =
393 { "exposureTime", TYPE_INT64 },
394 [ ANDROID_SENSOR_FRAME_DURATION - ANDROID_SENSOR_START ] =
395 { "frameDuration", TYPE_INT64 },
396 [ ANDROID_SENSOR_SENSITIVITY - ANDROID_SENSOR_START ] =
397 { "sensitivity", TYPE_INT32 },
398 [ ANDROID_SENSOR_BASE_GAIN_FACTOR - ANDROID_SENSOR_START ] =
399 { "baseGainFactor", TYPE_RATIONAL
400 },
401 [ ANDROID_SENSOR_BLACK_LEVEL_PATTERN - ANDROID_SENSOR_START ] =
402 { "blackLevelPattern", TYPE_INT32 },
403 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM1 - ANDROID_SENSOR_START ] =
404 { "calibrationTransform1", TYPE_RATIONAL
405 },
406 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM2 - ANDROID_SENSOR_START ] =
407 { "calibrationTransform2", TYPE_RATIONAL
408 },
409 [ ANDROID_SENSOR_COLOR_TRANSFORM1 - ANDROID_SENSOR_START ] =
410 { "colorTransform1", TYPE_RATIONAL
411 },
412 [ ANDROID_SENSOR_COLOR_TRANSFORM2 - ANDROID_SENSOR_START ] =
413 { "colorTransform2", TYPE_RATIONAL
414 },
415 [ ANDROID_SENSOR_FORWARD_MATRIX1 - ANDROID_SENSOR_START ] =
416 { "forwardMatrix1", TYPE_RATIONAL
417 },
418 [ ANDROID_SENSOR_FORWARD_MATRIX2 - ANDROID_SENSOR_START ] =
419 { "forwardMatrix2", TYPE_RATIONAL
420 },
421 [ ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY - ANDROID_SENSOR_START ] =
422 { "maxAnalogSensitivity", TYPE_INT32 },
423 [ ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS - ANDROID_SENSOR_START ] =
424 { "noiseModelCoefficients", TYPE_FLOAT },
425 [ ANDROID_SENSOR_ORIENTATION - ANDROID_SENSOR_START ] =
426 { "orientation", TYPE_INT32 },
427 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT1 - ANDROID_SENSOR_START ] =
428 { "referenceIlluminant1", TYPE_BYTE },
429 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT2 - ANDROID_SENSOR_START ] =
430 { "referenceIlluminant2", TYPE_BYTE },
431 [ ANDROID_SENSOR_TIMESTAMP - ANDROID_SENSOR_START ] =
432 { "timestamp", TYPE_INT64 },
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700433 [ ANDROID_SENSOR_TEMPERATURE - ANDROID_SENSOR_START ] =
434 { "temperature", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800435};
436
437static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
438 ANDROID_SENSOR_INFO_START] = {
439 [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
440 { "activeArraySize", TYPE_INT32 },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700441 [ ANDROID_SENSOR_INFO_SENSITIVITY_RANGE - ANDROID_SENSOR_INFO_START ] =
442 { "sensitivityRange", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800443 [ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT - ANDROID_SENSOR_INFO_START ] =
444 { "colorFilterArrangement", TYPE_BYTE },
445 [ ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE - ANDROID_SENSOR_INFO_START ] =
446 { "exposureTimeRange", TYPE_INT64 },
447 [ ANDROID_SENSOR_INFO_MAX_FRAME_DURATION - ANDROID_SENSOR_INFO_START ] =
448 { "maxFrameDuration", TYPE_INT64 },
449 [ ANDROID_SENSOR_INFO_PHYSICAL_SIZE - ANDROID_SENSOR_INFO_START ] =
450 { "physicalSize", TYPE_FLOAT },
451 [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
452 { "pixelArraySize", TYPE_INT32 },
453 [ ANDROID_SENSOR_INFO_WHITE_LEVEL - ANDROID_SENSOR_INFO_START ] =
454 { "whiteLevel", TYPE_INT32 },
455};
456
457static tag_info_t android_shading[ANDROID_SHADING_END -
458 ANDROID_SHADING_START] = {
459 [ ANDROID_SHADING_MODE - ANDROID_SHADING_START ] =
460 { "mode", TYPE_BYTE },
461 [ ANDROID_SHADING_STRENGTH - ANDROID_SHADING_START ] =
462 { "strength", TYPE_BYTE },
463};
464
465static tag_info_t android_statistics[ANDROID_STATISTICS_END -
466 ANDROID_STATISTICS_START] = {
467 [ ANDROID_STATISTICS_FACE_DETECT_MODE - ANDROID_STATISTICS_START ] =
468 { "faceDetectMode", TYPE_BYTE },
469 [ ANDROID_STATISTICS_HISTOGRAM_MODE - ANDROID_STATISTICS_START ] =
470 { "histogramMode", TYPE_BYTE },
471 [ ANDROID_STATISTICS_SHARPNESS_MAP_MODE - ANDROID_STATISTICS_START ] =
472 { "sharpnessMapMode", TYPE_BYTE },
473 [ ANDROID_STATISTICS_FACE_IDS - ANDROID_STATISTICS_START ] =
474 { "faceIds", TYPE_INT32 },
475 [ ANDROID_STATISTICS_FACE_LANDMARKS - ANDROID_STATISTICS_START ] =
476 { "faceLandmarks", TYPE_INT32 },
477 [ ANDROID_STATISTICS_FACE_RECTANGLES - ANDROID_STATISTICS_START ] =
478 { "faceRectangles", TYPE_INT32 },
479 [ ANDROID_STATISTICS_FACE_SCORES - ANDROID_STATISTICS_START ] =
480 { "faceScores", TYPE_BYTE },
481 [ ANDROID_STATISTICS_HISTOGRAM - ANDROID_STATISTICS_START ] =
482 { "histogram", TYPE_INT32 },
483 [ ANDROID_STATISTICS_SHARPNESS_MAP - ANDROID_STATISTICS_START ] =
484 { "sharpnessMap", TYPE_INT32 },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700485 [ ANDROID_STATISTICS_LENS_SHADING_MAP - ANDROID_STATISTICS_START ] =
486 { "lensShadingMap", TYPE_FLOAT },
487 [ ANDROID_STATISTICS_PREDICTED_COLOR_GAINS - ANDROID_STATISTICS_START ] =
488 { "predictedColorGains", TYPE_FLOAT },
489 [ ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM - ANDROID_STATISTICS_START ] =
490 { "predictedColorTransform", TYPE_RATIONAL
491 },
492 [ ANDROID_STATISTICS_SCENE_FLICKER - ANDROID_STATISTICS_START ] =
493 { "sceneFlicker", TYPE_BYTE },
494 [ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE - ANDROID_STATISTICS_START ] =
495 { "lensShadingMapMode", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800496};
497
498static tag_info_t android_statistics_info[ANDROID_STATISTICS_INFO_END -
499 ANDROID_STATISTICS_INFO_START] = {
500 [ ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES - ANDROID_STATISTICS_INFO_START ] =
501 { "availableFaceDetectModes", TYPE_BYTE },
502 [ ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT - ANDROID_STATISTICS_INFO_START ] =
503 { "histogramBucketCount", TYPE_INT32 },
504 [ ANDROID_STATISTICS_INFO_MAX_FACE_COUNT - ANDROID_STATISTICS_INFO_START ] =
505 { "maxFaceCount", TYPE_INT32 },
506 [ ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT - ANDROID_STATISTICS_INFO_START ] =
507 { "maxHistogramCount", TYPE_INT32 },
508 [ ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE - ANDROID_STATISTICS_INFO_START ] =
509 { "maxSharpnessMapValue", TYPE_INT32 },
510 [ ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE - ANDROID_STATISTICS_INFO_START ] =
511 { "sharpnessMapSize", TYPE_INT32 },
512};
513
514static tag_info_t android_tonemap[ANDROID_TONEMAP_END -
515 ANDROID_TONEMAP_START] = {
516 [ ANDROID_TONEMAP_CURVE_BLUE - ANDROID_TONEMAP_START ] =
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800517 { "curveBlue", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800518 [ ANDROID_TONEMAP_CURVE_GREEN - ANDROID_TONEMAP_START ] =
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800519 { "curveGreen", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800520 [ ANDROID_TONEMAP_CURVE_RED - ANDROID_TONEMAP_START ] =
521 { "curveRed", TYPE_FLOAT },
522 [ ANDROID_TONEMAP_MODE - ANDROID_TONEMAP_START ] =
523 { "mode", TYPE_BYTE },
524 [ ANDROID_TONEMAP_MAX_CURVE_POINTS - ANDROID_TONEMAP_START ] =
525 { "maxCurvePoints", TYPE_INT32 },
526};
527
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700528static tag_info_t android_led[ANDROID_LED_END -
529 ANDROID_LED_START] = {
530 [ ANDROID_LED_TRANSMIT - ANDROID_LED_START ] =
531 { "transmit", TYPE_BYTE },
532 [ ANDROID_LED_AVAILABLE_LEDS - ANDROID_LED_START ] =
533 { "availableLeds", TYPE_BYTE },
534};
535
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700536static tag_info_t android_info[ANDROID_INFO_END -
537 ANDROID_INFO_START] = {
538 [ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL - ANDROID_INFO_START ] =
539 { "supportedHardwareLevel", TYPE_BYTE },
540};
541
Zhijun He69fc0ea2013-07-17 09:42:58 -0700542static tag_info_t android_black_level[ANDROID_BLACK_LEVEL_END -
543 ANDROID_BLACK_LEVEL_START] = {
544 [ ANDROID_BLACK_LEVEL_LOCK - ANDROID_BLACK_LEVEL_START ] =
545 { "lock", TYPE_BYTE },
546};
547
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700548
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800549tag_info_t *tag_info[ANDROID_SECTION_COUNT] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800550 android_color_correction,
551 android_control,
552 android_demosaic,
553 android_edge,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800554 android_flash,
555 android_flash_info,
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800556 android_geometric,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800557 android_hot_pixel,
558 android_hot_pixel_info,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800559 android_jpeg,
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800560 android_lens,
561 android_lens_info,
562 android_noise_reduction,
563 android_quirks,
564 android_request,
565 android_scaler,
566 android_sensor,
567 android_sensor_info,
568 android_shading,
569 android_statistics,
570 android_statistics_info,
571 android_tonemap,
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700572 android_led,
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700573 android_info,
Zhijun He69fc0ea2013-07-17 09:42:58 -0700574 android_black_level,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800575};
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800576
577int camera_metadata_enum_snprint(uint32_t tag,
578 uint32_t value,
579 char *dst,
580 size_t size) {
581 const char *msg = "error: not an enum";
582 int ret = -1;
583
584 switch(tag) {
585 case ANDROID_COLOR_CORRECTION_MODE: {
586 switch (value) {
587 case ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
588 msg = "TRANSFORM_MATRIX";
589 ret = 0;
590 break;
591 case ANDROID_COLOR_CORRECTION_MODE_FAST:
592 msg = "FAST";
593 ret = 0;
594 break;
595 case ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY:
596 msg = "HIGH_QUALITY";
597 ret = 0;
598 break;
599 default:
600 msg = "error: enum value out of range";
601 }
602 break;
603 }
604 case ANDROID_COLOR_CORRECTION_TRANSFORM: {
605 break;
606 }
Zhijun He69fc0ea2013-07-17 09:42:58 -0700607 case ANDROID_COLOR_CORRECTION_GAINS: {
608 break;
609 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800610
611 case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
612 switch (value) {
613 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF:
614 msg = "OFF";
615 ret = 0;
616 break;
617 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ:
618 msg = "50HZ";
619 ret = 0;
620 break;
621 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ:
622 msg = "60HZ";
623 ret = 0;
624 break;
625 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO:
626 msg = "AUTO";
627 ret = 0;
628 break;
629 default:
630 msg = "error: enum value out of range";
631 }
632 break;
633 }
634 case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
635 break;
636 }
637 case ANDROID_CONTROL_AE_LOCK: {
638 switch (value) {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800639 case ANDROID_CONTROL_AE_LOCK_OFF:
640 msg = "OFF";
641 ret = 0;
642 break;
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800643 case ANDROID_CONTROL_AE_LOCK_ON:
644 msg = "ON";
645 ret = 0;
646 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800647 default:
648 msg = "error: enum value out of range";
649 }
650 break;
651 }
652 case ANDROID_CONTROL_AE_MODE: {
653 switch (value) {
654 case ANDROID_CONTROL_AE_MODE_OFF:
655 msg = "OFF";
656 ret = 0;
657 break;
658 case ANDROID_CONTROL_AE_MODE_ON:
659 msg = "ON";
660 ret = 0;
661 break;
662 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:
663 msg = "ON_AUTO_FLASH";
664 ret = 0;
665 break;
666 case ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
667 msg = "ON_ALWAYS_FLASH";
668 ret = 0;
669 break;
670 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
671 msg = "ON_AUTO_FLASH_REDEYE";
672 ret = 0;
673 break;
674 default:
675 msg = "error: enum value out of range";
676 }
677 break;
678 }
679 case ANDROID_CONTROL_AE_REGIONS: {
680 break;
681 }
682 case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
683 break;
684 }
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700685 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
686 switch (value) {
687 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
688 msg = "IDLE";
689 ret = 0;
690 break;
691 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START:
692 msg = "START";
693 ret = 0;
694 break;
695 default:
696 msg = "error: enum value out of range";
697 }
698 break;
699 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700 case ANDROID_CONTROL_AF_MODE: {
701 switch (value) {
702 case ANDROID_CONTROL_AF_MODE_OFF:
703 msg = "OFF";
704 ret = 0;
705 break;
706 case ANDROID_CONTROL_AF_MODE_AUTO:
707 msg = "AUTO";
708 ret = 0;
709 break;
710 case ANDROID_CONTROL_AF_MODE_MACRO:
711 msg = "MACRO";
712 ret = 0;
713 break;
714 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
715 msg = "CONTINUOUS_VIDEO";
716 ret = 0;
717 break;
718 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
719 msg = "CONTINUOUS_PICTURE";
720 ret = 0;
721 break;
722 case ANDROID_CONTROL_AF_MODE_EDOF:
723 msg = "EDOF";
724 ret = 0;
725 break;
726 default:
727 msg = "error: enum value out of range";
728 }
729 break;
730 }
731 case ANDROID_CONTROL_AF_REGIONS: {
732 break;
733 }
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700734 case ANDROID_CONTROL_AF_TRIGGER: {
735 switch (value) {
736 case ANDROID_CONTROL_AF_TRIGGER_IDLE:
737 msg = "IDLE";
738 ret = 0;
739 break;
740 case ANDROID_CONTROL_AF_TRIGGER_START:
741 msg = "START";
742 ret = 0;
743 break;
744 case ANDROID_CONTROL_AF_TRIGGER_CANCEL:
745 msg = "CANCEL";
746 ret = 0;
747 break;
748 default:
749 msg = "error: enum value out of range";
750 }
751 break;
752 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800753 case ANDROID_CONTROL_AWB_LOCK: {
754 switch (value) {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800755 case ANDROID_CONTROL_AWB_LOCK_OFF:
756 msg = "OFF";
757 ret = 0;
758 break;
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800759 case ANDROID_CONTROL_AWB_LOCK_ON:
760 msg = "ON";
761 ret = 0;
762 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800763 default:
764 msg = "error: enum value out of range";
765 }
766 break;
767 }
768 case ANDROID_CONTROL_AWB_MODE: {
769 switch (value) {
770 case ANDROID_CONTROL_AWB_MODE_OFF:
771 msg = "OFF";
772 ret = 0;
773 break;
774 case ANDROID_CONTROL_AWB_MODE_AUTO:
775 msg = "AUTO";
776 ret = 0;
777 break;
778 case ANDROID_CONTROL_AWB_MODE_INCANDESCENT:
779 msg = "INCANDESCENT";
780 ret = 0;
781 break;
782 case ANDROID_CONTROL_AWB_MODE_FLUORESCENT:
783 msg = "FLUORESCENT";
784 ret = 0;
785 break;
786 case ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT:
787 msg = "WARM_FLUORESCENT";
788 ret = 0;
789 break;
790 case ANDROID_CONTROL_AWB_MODE_DAYLIGHT:
791 msg = "DAYLIGHT";
792 ret = 0;
793 break;
794 case ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
795 msg = "CLOUDY_DAYLIGHT";
796 ret = 0;
797 break;
798 case ANDROID_CONTROL_AWB_MODE_TWILIGHT:
799 msg = "TWILIGHT";
800 ret = 0;
801 break;
802 case ANDROID_CONTROL_AWB_MODE_SHADE:
803 msg = "SHADE";
804 ret = 0;
805 break;
806 default:
807 msg = "error: enum value out of range";
808 }
809 break;
810 }
811 case ANDROID_CONTROL_AWB_REGIONS: {
812 break;
813 }
814 case ANDROID_CONTROL_CAPTURE_INTENT: {
815 switch (value) {
816 case ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM:
817 msg = "CUSTOM";
818 ret = 0;
819 break;
820 case ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW:
821 msg = "PREVIEW";
822 ret = 0;
823 break;
824 case ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
825 msg = "STILL_CAPTURE";
826 ret = 0;
827 break;
828 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
829 msg = "VIDEO_RECORD";
830 ret = 0;
831 break;
832 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
833 msg = "VIDEO_SNAPSHOT";
834 ret = 0;
835 break;
836 case ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
837 msg = "ZERO_SHUTTER_LAG";
838 ret = 0;
839 break;
840 default:
841 msg = "error: enum value out of range";
842 }
843 break;
844 }
845 case ANDROID_CONTROL_EFFECT_MODE: {
846 switch (value) {
847 case ANDROID_CONTROL_EFFECT_MODE_OFF:
848 msg = "OFF";
849 ret = 0;
850 break;
851 case ANDROID_CONTROL_EFFECT_MODE_MONO:
852 msg = "MONO";
853 ret = 0;
854 break;
855 case ANDROID_CONTROL_EFFECT_MODE_NEGATIVE:
856 msg = "NEGATIVE";
857 ret = 0;
858 break;
859 case ANDROID_CONTROL_EFFECT_MODE_SOLARIZE:
860 msg = "SOLARIZE";
861 ret = 0;
862 break;
863 case ANDROID_CONTROL_EFFECT_MODE_SEPIA:
864 msg = "SEPIA";
865 ret = 0;
866 break;
867 case ANDROID_CONTROL_EFFECT_MODE_POSTERIZE:
868 msg = "POSTERIZE";
869 ret = 0;
870 break;
871 case ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD:
872 msg = "WHITEBOARD";
873 ret = 0;
874 break;
875 case ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD:
876 msg = "BLACKBOARD";
877 ret = 0;
878 break;
879 case ANDROID_CONTROL_EFFECT_MODE_AQUA:
880 msg = "AQUA";
881 ret = 0;
882 break;
883 default:
884 msg = "error: enum value out of range";
885 }
886 break;
887 }
888 case ANDROID_CONTROL_MODE: {
889 switch (value) {
890 case ANDROID_CONTROL_MODE_OFF:
891 msg = "OFF";
892 ret = 0;
893 break;
894 case ANDROID_CONTROL_MODE_AUTO:
895 msg = "AUTO";
896 ret = 0;
897 break;
898 case ANDROID_CONTROL_MODE_USE_SCENE_MODE:
899 msg = "USE_SCENE_MODE";
900 ret = 0;
901 break;
902 default:
903 msg = "error: enum value out of range";
904 }
905 break;
906 }
907 case ANDROID_CONTROL_SCENE_MODE: {
908 switch (value) {
909 case ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED:
910 msg = "UNSUPPORTED";
911 ret = 0;
912 break;
913 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
914 msg = "FACE_PRIORITY";
915 ret = 0;
916 break;
917 case ANDROID_CONTROL_SCENE_MODE_ACTION:
918 msg = "ACTION";
919 ret = 0;
920 break;
921 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
922 msg = "PORTRAIT";
923 ret = 0;
924 break;
925 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
926 msg = "LANDSCAPE";
927 ret = 0;
928 break;
929 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
930 msg = "NIGHT";
931 ret = 0;
932 break;
933 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
934 msg = "NIGHT_PORTRAIT";
935 ret = 0;
936 break;
937 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
938 msg = "THEATRE";
939 ret = 0;
940 break;
941 case ANDROID_CONTROL_SCENE_MODE_BEACH:
942 msg = "BEACH";
943 ret = 0;
944 break;
945 case ANDROID_CONTROL_SCENE_MODE_SNOW:
946 msg = "SNOW";
947 ret = 0;
948 break;
949 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
950 msg = "SUNSET";
951 ret = 0;
952 break;
953 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
954 msg = "STEADYPHOTO";
955 ret = 0;
956 break;
957 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
958 msg = "FIREWORKS";
959 ret = 0;
960 break;
961 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
962 msg = "SPORTS";
963 ret = 0;
964 break;
965 case ANDROID_CONTROL_SCENE_MODE_PARTY:
966 msg = "PARTY";
967 ret = 0;
968 break;
969 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
970 msg = "CANDLELIGHT";
971 ret = 0;
972 break;
973 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
974 msg = "BARCODE";
975 ret = 0;
976 break;
977 default:
978 msg = "error: enum value out of range";
979 }
980 break;
981 }
982 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
983 switch (value) {
984 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
985 msg = "OFF";
986 ret = 0;
987 break;
988 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
989 msg = "ON";
990 ret = 0;
991 break;
992 default:
993 msg = "error: enum value out of range";
994 }
995 break;
996 }
997 case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
998 break;
999 }
1000 case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
1001 break;
1002 }
1003 case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
1004 break;
1005 }
1006 case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
1007 break;
1008 }
1009 case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
1010 break;
1011 }
1012 case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
1013 break;
1014 }
1015 case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
1016 break;
1017 }
1018 case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
1019 break;
1020 }
1021 case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
1022 break;
1023 }
1024 case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
1025 break;
1026 }
1027 case ANDROID_CONTROL_MAX_REGIONS: {
1028 break;
1029 }
1030 case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
1031 break;
1032 }
1033 case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1034 break;
1035 }
1036 case ANDROID_CONTROL_AE_STATE: {
1037 switch (value) {
1038 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1039 msg = "INACTIVE";
1040 ret = 0;
1041 break;
1042 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1043 msg = "SEARCHING";
1044 ret = 0;
1045 break;
1046 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1047 msg = "CONVERGED";
1048 ret = 0;
1049 break;
1050 case ANDROID_CONTROL_AE_STATE_LOCKED:
1051 msg = "LOCKED";
1052 ret = 0;
1053 break;
1054 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1055 msg = "FLASH_REQUIRED";
1056 ret = 0;
1057 break;
1058 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1059 msg = "PRECAPTURE";
1060 ret = 0;
1061 break;
1062 default:
1063 msg = "error: enum value out of range";
1064 }
1065 break;
1066 }
1067 case ANDROID_CONTROL_AF_STATE: {
1068 switch (value) {
1069 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1070 msg = "INACTIVE";
1071 ret = 0;
1072 break;
1073 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1074 msg = "PASSIVE_SCAN";
1075 ret = 0;
1076 break;
1077 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1078 msg = "PASSIVE_FOCUSED";
1079 ret = 0;
1080 break;
1081 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1082 msg = "ACTIVE_SCAN";
1083 ret = 0;
1084 break;
1085 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1086 msg = "FOCUSED_LOCKED";
1087 ret = 0;
1088 break;
1089 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1090 msg = "NOT_FOCUSED_LOCKED";
1091 ret = 0;
1092 break;
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07001093 case ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
1094 msg = "PASSIVE_UNFOCUSED";
1095 ret = 0;
1096 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001097 default:
1098 msg = "error: enum value out of range";
1099 }
1100 break;
1101 }
1102 case ANDROID_CONTROL_AF_TRIGGER_ID: {
1103 break;
1104 }
1105 case ANDROID_CONTROL_AWB_STATE: {
1106 switch (value) {
1107 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1108 msg = "INACTIVE";
1109 ret = 0;
1110 break;
1111 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1112 msg = "SEARCHING";
1113 ret = 0;
1114 break;
1115 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1116 msg = "CONVERGED";
1117 ret = 0;
1118 break;
1119 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1120 msg = "LOCKED";
1121 ret = 0;
1122 break;
1123 default:
1124 msg = "error: enum value out of range";
1125 }
1126 break;
1127 }
1128
1129 case ANDROID_DEMOSAIC_MODE: {
1130 switch (value) {
1131 case ANDROID_DEMOSAIC_MODE_FAST:
1132 msg = "FAST";
1133 ret = 0;
1134 break;
1135 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
1136 msg = "HIGH_QUALITY";
1137 ret = 0;
1138 break;
1139 default:
1140 msg = "error: enum value out of range";
1141 }
1142 break;
1143 }
1144
1145 case ANDROID_EDGE_MODE: {
1146 switch (value) {
1147 case ANDROID_EDGE_MODE_OFF:
1148 msg = "OFF";
1149 ret = 0;
1150 break;
1151 case ANDROID_EDGE_MODE_FAST:
1152 msg = "FAST";
1153 ret = 0;
1154 break;
1155 case ANDROID_EDGE_MODE_HIGH_QUALITY:
1156 msg = "HIGH_QUALITY";
1157 ret = 0;
1158 break;
1159 default:
1160 msg = "error: enum value out of range";
1161 }
1162 break;
1163 }
1164 case ANDROID_EDGE_STRENGTH: {
1165 break;
1166 }
1167
1168 case ANDROID_FLASH_FIRING_POWER: {
1169 break;
1170 }
1171 case ANDROID_FLASH_FIRING_TIME: {
1172 break;
1173 }
1174 case ANDROID_FLASH_MODE: {
1175 switch (value) {
1176 case ANDROID_FLASH_MODE_OFF:
1177 msg = "OFF";
1178 ret = 0;
1179 break;
1180 case ANDROID_FLASH_MODE_SINGLE:
1181 msg = "SINGLE";
1182 ret = 0;
1183 break;
1184 case ANDROID_FLASH_MODE_TORCH:
1185 msg = "TORCH";
1186 ret = 0;
1187 break;
1188 default:
1189 msg = "error: enum value out of range";
1190 }
1191 break;
1192 }
1193 case ANDROID_FLASH_COLOR_TEMPERATURE: {
1194 break;
1195 }
1196 case ANDROID_FLASH_MAX_ENERGY: {
1197 break;
1198 }
1199 case ANDROID_FLASH_STATE: {
1200 switch (value) {
1201 case ANDROID_FLASH_STATE_UNAVAILABLE:
1202 msg = "UNAVAILABLE";
1203 ret = 0;
1204 break;
1205 case ANDROID_FLASH_STATE_CHARGING:
1206 msg = "CHARGING";
1207 ret = 0;
1208 break;
1209 case ANDROID_FLASH_STATE_READY:
1210 msg = "READY";
1211 ret = 0;
1212 break;
1213 case ANDROID_FLASH_STATE_FIRED:
1214 msg = "FIRED";
1215 ret = 0;
1216 break;
1217 default:
1218 msg = "error: enum value out of range";
1219 }
1220 break;
1221 }
1222
1223 case ANDROID_FLASH_INFO_AVAILABLE: {
1224 break;
1225 }
1226 case ANDROID_FLASH_INFO_CHARGE_DURATION: {
1227 break;
1228 }
1229
1230 case ANDROID_GEOMETRIC_MODE: {
1231 switch (value) {
1232 case ANDROID_GEOMETRIC_MODE_OFF:
1233 msg = "OFF";
1234 ret = 0;
1235 break;
1236 case ANDROID_GEOMETRIC_MODE_FAST:
1237 msg = "FAST";
1238 ret = 0;
1239 break;
1240 case ANDROID_GEOMETRIC_MODE_HIGH_QUALITY:
1241 msg = "HIGH_QUALITY";
1242 ret = 0;
1243 break;
1244 default:
1245 msg = "error: enum value out of range";
1246 }
1247 break;
1248 }
1249 case ANDROID_GEOMETRIC_STRENGTH: {
1250 break;
1251 }
1252
1253 case ANDROID_HOT_PIXEL_MODE: {
1254 switch (value) {
1255 case ANDROID_HOT_PIXEL_MODE_OFF:
1256 msg = "OFF";
1257 ret = 0;
1258 break;
1259 case ANDROID_HOT_PIXEL_MODE_FAST:
1260 msg = "FAST";
1261 ret = 0;
1262 break;
1263 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
1264 msg = "HIGH_QUALITY";
1265 ret = 0;
1266 break;
1267 default:
1268 msg = "error: enum value out of range";
1269 }
1270 break;
1271 }
1272
1273 case ANDROID_HOT_PIXEL_INFO_MAP: {
1274 break;
1275 }
1276
1277 case ANDROID_JPEG_GPS_COORDINATES: {
1278 break;
1279 }
1280 case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
1281 break;
1282 }
1283 case ANDROID_JPEG_GPS_TIMESTAMP: {
1284 break;
1285 }
1286 case ANDROID_JPEG_ORIENTATION: {
1287 break;
1288 }
1289 case ANDROID_JPEG_QUALITY: {
1290 break;
1291 }
1292 case ANDROID_JPEG_THUMBNAIL_QUALITY: {
1293 break;
1294 }
1295 case ANDROID_JPEG_THUMBNAIL_SIZE: {
1296 break;
1297 }
1298 case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
1299 break;
1300 }
1301 case ANDROID_JPEG_MAX_SIZE: {
1302 break;
1303 }
1304 case ANDROID_JPEG_SIZE: {
1305 break;
1306 }
1307
1308 case ANDROID_LENS_APERTURE: {
1309 break;
1310 }
1311 case ANDROID_LENS_FILTER_DENSITY: {
1312 break;
1313 }
1314 case ANDROID_LENS_FOCAL_LENGTH: {
1315 break;
1316 }
1317 case ANDROID_LENS_FOCUS_DISTANCE: {
1318 break;
1319 }
1320 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
1321 switch (value) {
1322 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
1323 msg = "OFF";
1324 ret = 0;
1325 break;
1326 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
1327 msg = "ON";
1328 ret = 0;
1329 break;
1330 default:
1331 msg = "error: enum value out of range";
1332 }
1333 break;
1334 }
1335 case ANDROID_LENS_FACING: {
1336 switch (value) {
1337 case ANDROID_LENS_FACING_FRONT:
1338 msg = "FRONT";
1339 ret = 0;
1340 break;
1341 case ANDROID_LENS_FACING_BACK:
1342 msg = "BACK";
1343 ret = 0;
1344 break;
1345 default:
1346 msg = "error: enum value out of range";
1347 }
1348 break;
1349 }
1350 case ANDROID_LENS_OPTICAL_AXIS_ANGLE: {
1351 break;
1352 }
1353 case ANDROID_LENS_POSITION: {
1354 break;
1355 }
1356 case ANDROID_LENS_FOCUS_RANGE: {
1357 break;
1358 }
1359 case ANDROID_LENS_STATE: {
1360 switch (value) {
1361 case ANDROID_LENS_STATE_STATIONARY:
1362 msg = "STATIONARY";
1363 ret = 0;
1364 break;
Igor Murashkin0e323a12013-09-06 11:50:48 -07001365 case ANDROID_LENS_STATE_MOVING:
1366 msg = "MOVING";
1367 ret = 0;
1368 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001369 default:
1370 msg = "error: enum value out of range";
1371 }
1372 break;
1373 }
1374
1375 case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
1376 break;
1377 }
1378 case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
1379 break;
1380 }
1381 case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
1382 break;
1383 }
1384 case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
1385 break;
1386 }
1387 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP: {
1388 break;
1389 }
1390 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE: {
1391 break;
1392 }
1393 case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
1394 break;
1395 }
1396 case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
1397 break;
1398 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001399 case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
1400 break;
1401 }
1402
1403 case ANDROID_NOISE_REDUCTION_MODE: {
1404 switch (value) {
1405 case ANDROID_NOISE_REDUCTION_MODE_OFF:
1406 msg = "OFF";
1407 ret = 0;
1408 break;
1409 case ANDROID_NOISE_REDUCTION_MODE_FAST:
1410 msg = "FAST";
1411 ret = 0;
1412 break;
1413 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
1414 msg = "HIGH_QUALITY";
1415 ret = 0;
1416 break;
1417 default:
1418 msg = "error: enum value out of range";
1419 }
1420 break;
1421 }
1422 case ANDROID_NOISE_REDUCTION_STRENGTH: {
1423 break;
1424 }
1425
1426 case ANDROID_QUIRKS_METERING_CROP_REGION: {
1427 break;
1428 }
1429 case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
1430 break;
1431 }
1432 case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
1433 break;
1434 }
1435
1436 case ANDROID_REQUEST_FRAME_COUNT: {
1437 break;
1438 }
1439 case ANDROID_REQUEST_ID: {
1440 break;
1441 }
1442 case ANDROID_REQUEST_INPUT_STREAMS: {
1443 break;
1444 }
1445 case ANDROID_REQUEST_METADATA_MODE: {
1446 switch (value) {
1447 case ANDROID_REQUEST_METADATA_MODE_NONE:
1448 msg = "NONE";
1449 ret = 0;
1450 break;
1451 case ANDROID_REQUEST_METADATA_MODE_FULL:
1452 msg = "FULL";
1453 ret = 0;
1454 break;
1455 default:
1456 msg = "error: enum value out of range";
1457 }
1458 break;
1459 }
1460 case ANDROID_REQUEST_OUTPUT_STREAMS: {
1461 break;
1462 }
1463 case ANDROID_REQUEST_TYPE: {
1464 switch (value) {
1465 case ANDROID_REQUEST_TYPE_CAPTURE:
1466 msg = "CAPTURE";
1467 ret = 0;
1468 break;
1469 case ANDROID_REQUEST_TYPE_REPROCESS:
1470 msg = "REPROCESS";
1471 ret = 0;
1472 break;
1473 default:
1474 msg = "error: enum value out of range";
1475 }
1476 break;
1477 }
1478 case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
1479 break;
1480 }
1481 case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
1482 break;
1483 }
1484
1485 case ANDROID_SCALER_CROP_REGION: {
1486 break;
1487 }
1488 case ANDROID_SCALER_AVAILABLE_FORMATS: {
1489 switch (value) {
1490 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_SENSOR:
1491 msg = "RAW_SENSOR";
1492 ret = 0;
1493 break;
1494 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
1495 msg = "YV12";
1496 ret = 0;
1497 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001498 case ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP:
1499 msg = "YCrCb_420_SP";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001500 ret = 0;
1501 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001502 case ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED:
1503 msg = "IMPLEMENTATION_DEFINED";
1504 ret = 0;
1505 break;
1506 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888:
1507 msg = "YCbCr_420_888";
1508 ret = 0;
1509 break;
1510 case ANDROID_SCALER_AVAILABLE_FORMATS_BLOB:
1511 msg = "BLOB";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001512 ret = 0;
1513 break;
1514 default:
1515 msg = "error: enum value out of range";
1516 }
1517 break;
1518 }
1519 case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
1520 break;
1521 }
1522 case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
1523 break;
1524 }
1525 case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
1526 break;
1527 }
1528 case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
1529 break;
1530 }
1531 case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
1532 break;
1533 }
1534 case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
1535 break;
1536 }
1537 case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
1538 break;
1539 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001540
1541 case ANDROID_SENSOR_EXPOSURE_TIME: {
1542 break;
1543 }
1544 case ANDROID_SENSOR_FRAME_DURATION: {
1545 break;
1546 }
1547 case ANDROID_SENSOR_SENSITIVITY: {
1548 break;
1549 }
1550 case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
1551 break;
1552 }
1553 case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
1554 break;
1555 }
1556 case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
1557 break;
1558 }
1559 case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
1560 break;
1561 }
1562 case ANDROID_SENSOR_COLOR_TRANSFORM1: {
1563 break;
1564 }
1565 case ANDROID_SENSOR_COLOR_TRANSFORM2: {
1566 break;
1567 }
1568 case ANDROID_SENSOR_FORWARD_MATRIX1: {
1569 break;
1570 }
1571 case ANDROID_SENSOR_FORWARD_MATRIX2: {
1572 break;
1573 }
1574 case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
1575 break;
1576 }
1577 case ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS: {
1578 break;
1579 }
1580 case ANDROID_SENSOR_ORIENTATION: {
1581 break;
1582 }
1583 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
1584 switch (value) {
1585 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
1586 msg = "DAYLIGHT";
1587 ret = 0;
1588 break;
1589 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
1590 msg = "FLUORESCENT";
1591 ret = 0;
1592 break;
1593 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
1594 msg = "TUNGSTEN";
1595 ret = 0;
1596 break;
1597 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
1598 msg = "FLASH";
1599 ret = 0;
1600 break;
1601 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
1602 msg = "FINE_WEATHER";
1603 ret = 0;
1604 break;
1605 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
1606 msg = "CLOUDY_WEATHER";
1607 ret = 0;
1608 break;
1609 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
1610 msg = "SHADE";
1611 ret = 0;
1612 break;
1613 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
1614 msg = "DAYLIGHT_FLUORESCENT";
1615 ret = 0;
1616 break;
1617 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
1618 msg = "DAY_WHITE_FLUORESCENT";
1619 ret = 0;
1620 break;
1621 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
1622 msg = "COOL_WHITE_FLUORESCENT";
1623 ret = 0;
1624 break;
1625 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
1626 msg = "WHITE_FLUORESCENT";
1627 ret = 0;
1628 break;
1629 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
1630 msg = "STANDARD_A";
1631 ret = 0;
1632 break;
1633 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
1634 msg = "STANDARD_B";
1635 ret = 0;
1636 break;
1637 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
1638 msg = "STANDARD_C";
1639 ret = 0;
1640 break;
1641 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55:
1642 msg = "D55";
1643 ret = 0;
1644 break;
1645 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65:
1646 msg = "D65";
1647 ret = 0;
1648 break;
1649 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75:
1650 msg = "D75";
1651 ret = 0;
1652 break;
1653 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50:
1654 msg = "D50";
1655 ret = 0;
1656 break;
1657 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
1658 msg = "ISO_STUDIO_TUNGSTEN";
1659 ret = 0;
1660 break;
1661 default:
1662 msg = "error: enum value out of range";
1663 }
1664 break;
1665 }
1666 case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
1667 break;
1668 }
1669 case ANDROID_SENSOR_TIMESTAMP: {
1670 break;
1671 }
Igor Murashkin656aa5a2013-08-13 14:23:39 -07001672 case ANDROID_SENSOR_TEMPERATURE: {
1673 break;
1674 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001675
1676 case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
1677 break;
1678 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001679 case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001680 break;
1681 }
1682 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
1683 switch (value) {
1684 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
1685 msg = "RGGB";
1686 ret = 0;
1687 break;
1688 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
1689 msg = "GRBG";
1690 ret = 0;
1691 break;
1692 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
1693 msg = "GBRG";
1694 ret = 0;
1695 break;
1696 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
1697 msg = "BGGR";
1698 ret = 0;
1699 break;
1700 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
1701 msg = "RGB";
1702 ret = 0;
1703 break;
1704 default:
1705 msg = "error: enum value out of range";
1706 }
1707 break;
1708 }
1709 case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
1710 break;
1711 }
1712 case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
1713 break;
1714 }
1715 case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
1716 break;
1717 }
1718 case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
1719 break;
1720 }
1721 case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
1722 break;
1723 }
1724
1725 case ANDROID_SHADING_MODE: {
1726 switch (value) {
1727 case ANDROID_SHADING_MODE_OFF:
1728 msg = "OFF";
1729 ret = 0;
1730 break;
1731 case ANDROID_SHADING_MODE_FAST:
1732 msg = "FAST";
1733 ret = 0;
1734 break;
1735 case ANDROID_SHADING_MODE_HIGH_QUALITY:
1736 msg = "HIGH_QUALITY";
1737 ret = 0;
1738 break;
1739 default:
1740 msg = "error: enum value out of range";
1741 }
1742 break;
1743 }
1744 case ANDROID_SHADING_STRENGTH: {
1745 break;
1746 }
1747
1748 case ANDROID_STATISTICS_FACE_DETECT_MODE: {
1749 switch (value) {
1750 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
1751 msg = "OFF";
1752 ret = 0;
1753 break;
1754 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
1755 msg = "SIMPLE";
1756 ret = 0;
1757 break;
1758 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
1759 msg = "FULL";
1760 ret = 0;
1761 break;
1762 default:
1763 msg = "error: enum value out of range";
1764 }
1765 break;
1766 }
1767 case ANDROID_STATISTICS_HISTOGRAM_MODE: {
1768 switch (value) {
1769 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
1770 msg = "OFF";
1771 ret = 0;
1772 break;
1773 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
1774 msg = "ON";
1775 ret = 0;
1776 break;
1777 default:
1778 msg = "error: enum value out of range";
1779 }
1780 break;
1781 }
1782 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
1783 switch (value) {
1784 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
1785 msg = "OFF";
1786 ret = 0;
1787 break;
1788 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
1789 msg = "ON";
1790 ret = 0;
1791 break;
1792 default:
1793 msg = "error: enum value out of range";
1794 }
1795 break;
1796 }
1797 case ANDROID_STATISTICS_FACE_IDS: {
1798 break;
1799 }
1800 case ANDROID_STATISTICS_FACE_LANDMARKS: {
1801 break;
1802 }
1803 case ANDROID_STATISTICS_FACE_RECTANGLES: {
1804 break;
1805 }
1806 case ANDROID_STATISTICS_FACE_SCORES: {
1807 break;
1808 }
1809 case ANDROID_STATISTICS_HISTOGRAM: {
1810 break;
1811 }
1812 case ANDROID_STATISTICS_SHARPNESS_MAP: {
1813 break;
1814 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001815 case ANDROID_STATISTICS_LENS_SHADING_MAP: {
1816 break;
1817 }
1818 case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
1819 break;
1820 }
1821 case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
1822 break;
1823 }
1824 case ANDROID_STATISTICS_SCENE_FLICKER: {
1825 switch (value) {
1826 case ANDROID_STATISTICS_SCENE_FLICKER_NONE:
1827 msg = "NONE";
1828 ret = 0;
1829 break;
1830 case ANDROID_STATISTICS_SCENE_FLICKER_50HZ:
1831 msg = "50HZ";
1832 ret = 0;
1833 break;
1834 case ANDROID_STATISTICS_SCENE_FLICKER_60HZ:
1835 msg = "60HZ";
1836 ret = 0;
1837 break;
1838 default:
1839 msg = "error: enum value out of range";
1840 }
1841 break;
1842 }
1843 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
1844 switch (value) {
1845 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
1846 msg = "OFF";
1847 ret = 0;
1848 break;
1849 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON:
1850 msg = "ON";
1851 ret = 0;
1852 break;
1853 default:
1854 msg = "error: enum value out of range";
1855 }
1856 break;
1857 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001858
1859 case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
1860 break;
1861 }
1862 case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
1863 break;
1864 }
1865 case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
1866 break;
1867 }
1868 case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
1869 break;
1870 }
1871 case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
1872 break;
1873 }
1874 case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
1875 break;
1876 }
1877
1878 case ANDROID_TONEMAP_CURVE_BLUE: {
1879 break;
1880 }
1881 case ANDROID_TONEMAP_CURVE_GREEN: {
1882 break;
1883 }
1884 case ANDROID_TONEMAP_CURVE_RED: {
1885 break;
1886 }
1887 case ANDROID_TONEMAP_MODE: {
1888 switch (value) {
1889 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
1890 msg = "CONTRAST_CURVE";
1891 ret = 0;
1892 break;
1893 case ANDROID_TONEMAP_MODE_FAST:
1894 msg = "FAST";
1895 ret = 0;
1896 break;
1897 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
1898 msg = "HIGH_QUALITY";
1899 ret = 0;
1900 break;
1901 default:
1902 msg = "error: enum value out of range";
1903 }
1904 break;
1905 }
1906 case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
1907 break;
1908 }
1909
Igor Murashkinc469f7d2013-04-23 14:31:02 -07001910 case ANDROID_LED_TRANSMIT: {
1911 switch (value) {
1912 case ANDROID_LED_TRANSMIT_OFF:
1913 msg = "OFF";
1914 ret = 0;
1915 break;
1916 case ANDROID_LED_TRANSMIT_ON:
1917 msg = "ON";
1918 ret = 0;
1919 break;
1920 default:
1921 msg = "error: enum value out of range";
1922 }
1923 break;
1924 }
1925 case ANDROID_LED_AVAILABLE_LEDS: {
1926 switch (value) {
1927 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
1928 msg = "TRANSMIT";
1929 ret = 0;
1930 break;
1931 default:
1932 msg = "error: enum value out of range";
1933 }
1934 break;
1935 }
1936
Igor Murashkin38b8cae2013-05-23 16:38:59 -07001937 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
1938 switch (value) {
1939 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
1940 msg = "LIMITED";
1941 ret = 0;
1942 break;
1943 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
1944 msg = "FULL";
1945 ret = 0;
1946 break;
1947 default:
1948 msg = "error: enum value out of range";
1949 }
1950 break;
1951 }
1952
Zhijun He69fc0ea2013-07-17 09:42:58 -07001953 case ANDROID_BLACK_LEVEL_LOCK: {
1954 switch (value) {
1955 case ANDROID_BLACK_LEVEL_LOCK_OFF:
1956 msg = "OFF";
1957 ret = 0;
1958 break;
1959 case ANDROID_BLACK_LEVEL_LOCK_ON:
1960 msg = "ON";
1961 ret = 0;
1962 break;
1963 default:
1964 msg = "error: enum value out of range";
1965 }
1966 break;
1967 }
1968
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001969 }
1970
1971 strncpy(dst, msg, size - 1);
1972 dst[size - 1] = '\0';
1973
1974 return ret;
1975}
1976
1977
Igor Murashkin375cfd32012-12-03 13:55:33 -08001978#define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 23