blob: e17d2b6ae6152412ac0d69d03ba396bf7b3ca932 [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",
Igor Murashkin5c1fc682014-01-16 17:51:36 -080059 [ANDROID_SYNC] = "android.sync",
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -080060};
61
62unsigned int camera_metadata_section_bounds[ANDROID_SECTION_COUNT][2] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -080063 [ANDROID_COLOR_CORRECTION] = { ANDROID_COLOR_CORRECTION_START,
64 ANDROID_COLOR_CORRECTION_END },
65 [ANDROID_CONTROL] = { ANDROID_CONTROL_START,
66 ANDROID_CONTROL_END },
67 [ANDROID_DEMOSAIC] = { ANDROID_DEMOSAIC_START,
68 ANDROID_DEMOSAIC_END },
69 [ANDROID_EDGE] = { ANDROID_EDGE_START,
70 ANDROID_EDGE_END },
71 [ANDROID_FLASH] = { ANDROID_FLASH_START,
72 ANDROID_FLASH_END },
73 [ANDROID_FLASH_INFO] = { ANDROID_FLASH_INFO_START,
74 ANDROID_FLASH_INFO_END },
75 [ANDROID_GEOMETRIC] = { ANDROID_GEOMETRIC_START,
76 ANDROID_GEOMETRIC_END },
77 [ANDROID_HOT_PIXEL] = { ANDROID_HOT_PIXEL_START,
78 ANDROID_HOT_PIXEL_END },
79 [ANDROID_HOT_PIXEL_INFO] = { ANDROID_HOT_PIXEL_INFO_START,
80 ANDROID_HOT_PIXEL_INFO_END },
81 [ANDROID_JPEG] = { ANDROID_JPEG_START,
82 ANDROID_JPEG_END },
83 [ANDROID_LENS] = { ANDROID_LENS_START,
84 ANDROID_LENS_END },
85 [ANDROID_LENS_INFO] = { ANDROID_LENS_INFO_START,
86 ANDROID_LENS_INFO_END },
87 [ANDROID_NOISE_REDUCTION] = { ANDROID_NOISE_REDUCTION_START,
88 ANDROID_NOISE_REDUCTION_END },
89 [ANDROID_QUIRKS] = { ANDROID_QUIRKS_START,
90 ANDROID_QUIRKS_END },
91 [ANDROID_REQUEST] = { ANDROID_REQUEST_START,
92 ANDROID_REQUEST_END },
93 [ANDROID_SCALER] = { ANDROID_SCALER_START,
94 ANDROID_SCALER_END },
95 [ANDROID_SENSOR] = { ANDROID_SENSOR_START,
96 ANDROID_SENSOR_END },
97 [ANDROID_SENSOR_INFO] = { ANDROID_SENSOR_INFO_START,
98 ANDROID_SENSOR_INFO_END },
99 [ANDROID_SHADING] = { ANDROID_SHADING_START,
100 ANDROID_SHADING_END },
101 [ANDROID_STATISTICS] = { ANDROID_STATISTICS_START,
102 ANDROID_STATISTICS_END },
103 [ANDROID_STATISTICS_INFO] = { ANDROID_STATISTICS_INFO_START,
104 ANDROID_STATISTICS_INFO_END },
105 [ANDROID_TONEMAP] = { ANDROID_TONEMAP_START,
106 ANDROID_TONEMAP_END },
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700107 [ANDROID_LED] = { ANDROID_LED_START,
108 ANDROID_LED_END },
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700109 [ANDROID_INFO] = { ANDROID_INFO_START,
110 ANDROID_INFO_END },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700111 [ANDROID_BLACK_LEVEL] = { ANDROID_BLACK_LEVEL_START,
112 ANDROID_BLACK_LEVEL_END },
Igor Murashkin5c1fc682014-01-16 17:51:36 -0800113 [ANDROID_SYNC] = { ANDROID_SYNC_START,
114 ANDROID_SYNC_END },
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800115};
116
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800117static tag_info_t android_color_correction[ANDROID_COLOR_CORRECTION_END -
118 ANDROID_COLOR_CORRECTION_START] = {
119 [ ANDROID_COLOR_CORRECTION_MODE - ANDROID_COLOR_CORRECTION_START ] =
120 { "mode", TYPE_BYTE },
121 [ ANDROID_COLOR_CORRECTION_TRANSFORM - ANDROID_COLOR_CORRECTION_START ] =
Zhijun He69fc0ea2013-07-17 09:42:58 -0700122 { "transform", TYPE_RATIONAL
123 },
124 [ ANDROID_COLOR_CORRECTION_GAINS - ANDROID_COLOR_CORRECTION_START ] =
125 { "gains", TYPE_FLOAT },
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800126};
127
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800128static tag_info_t android_control[ANDROID_CONTROL_END -
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700129 ANDROID_CONTROL_START] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800130 [ ANDROID_CONTROL_AE_ANTIBANDING_MODE - ANDROID_CONTROL_START ] =
131 { "aeAntibandingMode", TYPE_BYTE },
132 [ ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION - ANDROID_CONTROL_START ] =
133 { "aeExposureCompensation", TYPE_INT32 },
134 [ ANDROID_CONTROL_AE_LOCK - ANDROID_CONTROL_START ] =
135 { "aeLock", TYPE_BYTE },
136 [ ANDROID_CONTROL_AE_MODE - ANDROID_CONTROL_START ] =
137 { "aeMode", TYPE_BYTE },
138 [ ANDROID_CONTROL_AE_REGIONS - ANDROID_CONTROL_START ] =
139 { "aeRegions", TYPE_INT32 },
140 [ ANDROID_CONTROL_AE_TARGET_FPS_RANGE - ANDROID_CONTROL_START ] =
141 { "aeTargetFpsRange", TYPE_INT32 },
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700142 [ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER - ANDROID_CONTROL_START ] =
143 { "aePrecaptureTrigger", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800144 [ ANDROID_CONTROL_AF_MODE - ANDROID_CONTROL_START ] =
145 { "afMode", TYPE_BYTE },
146 [ ANDROID_CONTROL_AF_REGIONS - ANDROID_CONTROL_START ] =
147 { "afRegions", TYPE_INT32 },
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700148 [ ANDROID_CONTROL_AF_TRIGGER - ANDROID_CONTROL_START ] =
149 { "afTrigger", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800150 [ ANDROID_CONTROL_AWB_LOCK - ANDROID_CONTROL_START ] =
151 { "awbLock", TYPE_BYTE },
152 [ ANDROID_CONTROL_AWB_MODE - ANDROID_CONTROL_START ] =
153 { "awbMode", TYPE_BYTE },
154 [ ANDROID_CONTROL_AWB_REGIONS - ANDROID_CONTROL_START ] =
155 { "awbRegions", TYPE_INT32 },
156 [ ANDROID_CONTROL_CAPTURE_INTENT - ANDROID_CONTROL_START ] =
157 { "captureIntent", TYPE_BYTE },
158 [ ANDROID_CONTROL_EFFECT_MODE - ANDROID_CONTROL_START ] =
159 { "effectMode", TYPE_BYTE },
160 [ ANDROID_CONTROL_MODE - ANDROID_CONTROL_START ] =
161 { "mode", TYPE_BYTE },
162 [ ANDROID_CONTROL_SCENE_MODE - ANDROID_CONTROL_START ] =
163 { "sceneMode", TYPE_BYTE },
164 [ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE - ANDROID_CONTROL_START ] =
165 { "videoStabilizationMode", TYPE_BYTE },
166 [ ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES - ANDROID_CONTROL_START ] =
167 { "aeAvailableAntibandingModes", TYPE_BYTE },
168 [ ANDROID_CONTROL_AE_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
169 { "aeAvailableModes", TYPE_BYTE },
170 [ ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES - ANDROID_CONTROL_START ] =
171 { "aeAvailableTargetFpsRanges", TYPE_INT32 },
172 [ ANDROID_CONTROL_AE_COMPENSATION_RANGE - ANDROID_CONTROL_START ] =
173 { "aeCompensationRange", TYPE_INT32 },
174 [ ANDROID_CONTROL_AE_COMPENSATION_STEP - ANDROID_CONTROL_START ] =
175 { "aeCompensationStep", TYPE_RATIONAL
176 },
177 [ ANDROID_CONTROL_AF_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
178 { "afAvailableModes", TYPE_BYTE },
179 [ ANDROID_CONTROL_AVAILABLE_EFFECTS - ANDROID_CONTROL_START ] =
180 { "availableEffects", TYPE_BYTE },
181 [ ANDROID_CONTROL_AVAILABLE_SCENE_MODES - ANDROID_CONTROL_START ] =
182 { "availableSceneModes", TYPE_BYTE },
183 [ ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES - ANDROID_CONTROL_START ] =
184 { "availableVideoStabilizationModes",
185 TYPE_BYTE },
186 [ ANDROID_CONTROL_AWB_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
187 { "awbAvailableModes", TYPE_BYTE },
188 [ ANDROID_CONTROL_MAX_REGIONS - ANDROID_CONTROL_START ] =
189 { "maxRegions", TYPE_INT32 },
190 [ ANDROID_CONTROL_SCENE_MODE_OVERRIDES - ANDROID_CONTROL_START ] =
191 { "sceneModeOverrides", TYPE_BYTE },
192 [ ANDROID_CONTROL_AE_PRECAPTURE_ID - ANDROID_CONTROL_START ] =
193 { "aePrecaptureId", TYPE_INT32 },
194 [ ANDROID_CONTROL_AE_STATE - ANDROID_CONTROL_START ] =
195 { "aeState", TYPE_BYTE },
196 [ ANDROID_CONTROL_AF_STATE - ANDROID_CONTROL_START ] =
197 { "afState", TYPE_BYTE },
198 [ ANDROID_CONTROL_AF_TRIGGER_ID - ANDROID_CONTROL_START ] =
199 { "afTriggerId", TYPE_INT32 },
200 [ ANDROID_CONTROL_AWB_STATE - ANDROID_CONTROL_START ] =
201 { "awbState", TYPE_BYTE },
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700202};
203
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800204static tag_info_t android_demosaic[ANDROID_DEMOSAIC_END -
205 ANDROID_DEMOSAIC_START] = {
206 [ ANDROID_DEMOSAIC_MODE - ANDROID_DEMOSAIC_START ] =
207 { "mode", TYPE_BYTE },
Eino-Ville Talvala94879bd2012-10-01 16:33:03 -0700208};
209
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800210static tag_info_t android_edge[ANDROID_EDGE_END -
211 ANDROID_EDGE_START] = {
212 [ ANDROID_EDGE_MODE - ANDROID_EDGE_START ] =
213 { "mode", TYPE_BYTE },
214 [ ANDROID_EDGE_STRENGTH - ANDROID_EDGE_START ] =
215 { "strength", TYPE_BYTE },
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700216};
217
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800218static tag_info_t android_flash[ANDROID_FLASH_END -
219 ANDROID_FLASH_START] = {
220 [ ANDROID_FLASH_FIRING_POWER - ANDROID_FLASH_START ] =
221 { "firingPower", TYPE_BYTE },
222 [ ANDROID_FLASH_FIRING_TIME - ANDROID_FLASH_START ] =
223 { "firingTime", TYPE_INT64 },
224 [ ANDROID_FLASH_MODE - ANDROID_FLASH_START ] =
225 { "mode", TYPE_BYTE },
226 [ ANDROID_FLASH_COLOR_TEMPERATURE - ANDROID_FLASH_START ] =
227 { "colorTemperature", TYPE_BYTE },
228 [ ANDROID_FLASH_MAX_ENERGY - ANDROID_FLASH_START ] =
229 { "maxEnergy", TYPE_BYTE },
230 [ ANDROID_FLASH_STATE - ANDROID_FLASH_START ] =
231 { "state", TYPE_BYTE },
232};
233
234static tag_info_t android_flash_info[ANDROID_FLASH_INFO_END -
235 ANDROID_FLASH_INFO_START] = {
236 [ ANDROID_FLASH_INFO_AVAILABLE - ANDROID_FLASH_INFO_START ] =
237 { "available", TYPE_BYTE },
238 [ ANDROID_FLASH_INFO_CHARGE_DURATION - ANDROID_FLASH_INFO_START ] =
239 { "chargeDuration", TYPE_INT64 },
240};
241
242static tag_info_t android_geometric[ANDROID_GEOMETRIC_END -
243 ANDROID_GEOMETRIC_START] = {
244 [ ANDROID_GEOMETRIC_MODE - ANDROID_GEOMETRIC_START ] =
245 { "mode", TYPE_BYTE },
246 [ ANDROID_GEOMETRIC_STRENGTH - ANDROID_GEOMETRIC_START ] =
247 { "strength", TYPE_BYTE },
248};
249
250static tag_info_t android_hot_pixel[ANDROID_HOT_PIXEL_END -
251 ANDROID_HOT_PIXEL_START] = {
252 [ ANDROID_HOT_PIXEL_MODE - ANDROID_HOT_PIXEL_START ] =
253 { "mode", TYPE_BYTE },
254};
255
256static tag_info_t android_hot_pixel_info[ANDROID_HOT_PIXEL_INFO_END -
257 ANDROID_HOT_PIXEL_INFO_START] = {
258 [ ANDROID_HOT_PIXEL_INFO_MAP - ANDROID_HOT_PIXEL_INFO_START ] =
259 { "map", TYPE_INT32 },
260};
261
262static tag_info_t android_jpeg[ANDROID_JPEG_END -
263 ANDROID_JPEG_START] = {
264 [ ANDROID_JPEG_GPS_COORDINATES - ANDROID_JPEG_START ] =
265 { "gpsCoordinates", TYPE_DOUBLE },
266 [ ANDROID_JPEG_GPS_PROCESSING_METHOD - ANDROID_JPEG_START ] =
267 { "gpsProcessingMethod", TYPE_BYTE },
268 [ ANDROID_JPEG_GPS_TIMESTAMP - ANDROID_JPEG_START ] =
269 { "gpsTimestamp", TYPE_INT64 },
270 [ ANDROID_JPEG_ORIENTATION - ANDROID_JPEG_START ] =
271 { "orientation", TYPE_INT32 },
272 [ ANDROID_JPEG_QUALITY - ANDROID_JPEG_START ] =
273 { "quality", TYPE_BYTE },
274 [ ANDROID_JPEG_THUMBNAIL_QUALITY - ANDROID_JPEG_START ] =
275 { "thumbnailQuality", TYPE_BYTE },
276 [ ANDROID_JPEG_THUMBNAIL_SIZE - ANDROID_JPEG_START ] =
277 { "thumbnailSize", TYPE_INT32 },
278 [ ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES - ANDROID_JPEG_START ] =
279 { "availableThumbnailSizes", TYPE_INT32 },
280 [ ANDROID_JPEG_MAX_SIZE - ANDROID_JPEG_START ] =
281 { "maxSize", TYPE_INT32 },
282 [ ANDROID_JPEG_SIZE - ANDROID_JPEG_START ] =
283 { "size", TYPE_INT32 },
284};
285
286static tag_info_t android_lens[ANDROID_LENS_END -
287 ANDROID_LENS_START] = {
288 [ ANDROID_LENS_APERTURE - ANDROID_LENS_START ] =
289 { "aperture", TYPE_FLOAT },
290 [ ANDROID_LENS_FILTER_DENSITY - ANDROID_LENS_START ] =
291 { "filterDensity", TYPE_FLOAT },
292 [ ANDROID_LENS_FOCAL_LENGTH - ANDROID_LENS_START ] =
293 { "focalLength", TYPE_FLOAT },
294 [ ANDROID_LENS_FOCUS_DISTANCE - ANDROID_LENS_START ] =
295 { "focusDistance", TYPE_FLOAT },
296 [ ANDROID_LENS_OPTICAL_STABILIZATION_MODE - ANDROID_LENS_START ] =
297 { "opticalStabilizationMode", TYPE_BYTE },
298 [ ANDROID_LENS_FACING - ANDROID_LENS_START ] =
299 { "facing", TYPE_BYTE },
300 [ ANDROID_LENS_OPTICAL_AXIS_ANGLE - ANDROID_LENS_START ] =
301 { "opticalAxisAngle", TYPE_FLOAT },
302 [ ANDROID_LENS_POSITION - ANDROID_LENS_START ] =
303 { "position", TYPE_FLOAT },
304 [ ANDROID_LENS_FOCUS_RANGE - ANDROID_LENS_START ] =
305 { "focusRange", TYPE_FLOAT },
306 [ ANDROID_LENS_STATE - ANDROID_LENS_START ] =
307 { "state", TYPE_BYTE },
308};
309
310static tag_info_t android_lens_info[ANDROID_LENS_INFO_END -
311 ANDROID_LENS_INFO_START] = {
312 [ ANDROID_LENS_INFO_AVAILABLE_APERTURES - ANDROID_LENS_INFO_START ] =
313 { "availableApertures", TYPE_FLOAT },
314 [ ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES - ANDROID_LENS_INFO_START ] =
315 { "availableFilterDensities", TYPE_FLOAT },
316 [ ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS - ANDROID_LENS_INFO_START ] =
317 { "availableFocalLengths", TYPE_FLOAT },
318 [ ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION - ANDROID_LENS_INFO_START ] =
319 { "availableOpticalStabilization", TYPE_BYTE },
320 [ ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP - ANDROID_LENS_INFO_START ] =
321 { "geometricCorrectionMap", TYPE_FLOAT },
322 [ ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE - ANDROID_LENS_INFO_START ] =
323 { "geometricCorrectionMapSize", TYPE_INT32 },
324 [ ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE - ANDROID_LENS_INFO_START ] =
325 { "hyperfocalDistance", TYPE_FLOAT },
326 [ ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE - ANDROID_LENS_INFO_START ] =
327 { "minimumFocusDistance", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800328 [ ANDROID_LENS_INFO_SHADING_MAP_SIZE - ANDROID_LENS_INFO_START ] =
329 { "shadingMapSize", TYPE_INT32 },
Zhijun Hef92c76a2014-02-06 01:40:35 -0800330 [ ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION - ANDROID_LENS_INFO_START ] =
331 { "focusDistanceCalibration", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800332};
333
334static tag_info_t android_noise_reduction[ANDROID_NOISE_REDUCTION_END -
335 ANDROID_NOISE_REDUCTION_START] = {
336 [ ANDROID_NOISE_REDUCTION_MODE - ANDROID_NOISE_REDUCTION_START ] =
337 { "mode", TYPE_BYTE },
338 [ ANDROID_NOISE_REDUCTION_STRENGTH - ANDROID_NOISE_REDUCTION_START ] =
339 { "strength", TYPE_BYTE },
340};
341
342static tag_info_t android_quirks[ANDROID_QUIRKS_END -
343 ANDROID_QUIRKS_START] = {
344 [ ANDROID_QUIRKS_METERING_CROP_REGION - ANDROID_QUIRKS_START ] =
345 { "meteringCropRegion", TYPE_BYTE },
346 [ ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO - ANDROID_QUIRKS_START ] =
347 { "triggerAfWithAuto", TYPE_BYTE },
348 [ ANDROID_QUIRKS_USE_ZSL_FORMAT - ANDROID_QUIRKS_START ] =
349 { "useZslFormat", TYPE_BYTE },
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700350 [ ANDROID_QUIRKS_USE_PARTIAL_RESULT - ANDROID_QUIRKS_START ] =
351 { "usePartialResult", TYPE_BYTE },
352 [ ANDROID_QUIRKS_PARTIAL_RESULT - ANDROID_QUIRKS_START ] =
353 { "partialResult", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800354};
355
356static tag_info_t android_request[ANDROID_REQUEST_END -
357 ANDROID_REQUEST_START] = {
358 [ ANDROID_REQUEST_FRAME_COUNT - ANDROID_REQUEST_START ] =
359 { "frameCount", TYPE_INT32 },
360 [ ANDROID_REQUEST_ID - ANDROID_REQUEST_START ] =
361 { "id", TYPE_INT32 },
362 [ ANDROID_REQUEST_INPUT_STREAMS - ANDROID_REQUEST_START ] =
Zhijun Hee36cdbe2013-09-06 14:28:37 -0700363 { "inputStreams", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800364 [ ANDROID_REQUEST_METADATA_MODE - ANDROID_REQUEST_START ] =
365 { "metadataMode", TYPE_BYTE },
366 [ ANDROID_REQUEST_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
Zhijun Hee36cdbe2013-09-06 14:28:37 -0700367 { "outputStreams", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800368 [ ANDROID_REQUEST_TYPE - ANDROID_REQUEST_START ] =
369 { "type", TYPE_BYTE },
370 [ ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
371 { "maxNumOutputStreams", TYPE_INT32 },
372 [ ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS - ANDROID_REQUEST_START ] =
373 { "maxNumReprocessStreams", TYPE_INT32 },
Zhijun He12744b22014-01-22 15:58:57 -0800374 [ ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS - ANDROID_REQUEST_START ] =
375 { "maxNumInputStreams", TYPE_INT32 },
Igor Murashkina46e02f2014-01-09 17:43:38 -0800376 [ ANDROID_REQUEST_PIPELINE_DEPTH - ANDROID_REQUEST_START ] =
377 { "pipelineDepth", TYPE_BYTE },
378 [ ANDROID_REQUEST_PIPELINE_MAX_DEPTH - ANDROID_REQUEST_START ] =
379 { "pipelineMaxDepth", TYPE_BYTE },
Igor Murashkin2e291102014-01-10 14:18:30 -0800380 [ ANDROID_REQUEST_PARTIAL_RESULT_COUNT - ANDROID_REQUEST_START ] =
381 { "partialResultCount", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800382};
383
384static tag_info_t android_scaler[ANDROID_SCALER_END -
385 ANDROID_SCALER_START] = {
386 [ ANDROID_SCALER_CROP_REGION - ANDROID_SCALER_START ] =
387 { "cropRegion", TYPE_INT32 },
388 [ ANDROID_SCALER_AVAILABLE_FORMATS - ANDROID_SCALER_START ] =
389 { "availableFormats", TYPE_INT32 },
390 [ ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS - ANDROID_SCALER_START ] =
391 { "availableJpegMinDurations", TYPE_INT64 },
392 [ ANDROID_SCALER_AVAILABLE_JPEG_SIZES - ANDROID_SCALER_START ] =
393 { "availableJpegSizes", TYPE_INT32 },
394 [ ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM - ANDROID_SCALER_START ] =
Igor Murashkinf11a4df2013-05-07 10:00:46 -0700395 { "availableMaxDigitalZoom", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800396 [ ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS - ANDROID_SCALER_START ] =
397 { "availableProcessedMinDurations",
398 TYPE_INT64 },
399 [ ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES - ANDROID_SCALER_START ] =
400 { "availableProcessedSizes", TYPE_INT32 },
401 [ ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS - ANDROID_SCALER_START ] =
402 { "availableRawMinDurations", TYPE_INT64 },
403 [ ANDROID_SCALER_AVAILABLE_RAW_SIZES - ANDROID_SCALER_START ] =
404 { "availableRawSizes", TYPE_INT32 },
Igor Murashkin7f15ddd2014-02-04 18:02:27 -0800405 [ ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP - ANDROID_SCALER_START ] =
406 { "availableInputOutputFormatsMap",
407 TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800408};
409
410static tag_info_t android_sensor[ANDROID_SENSOR_END -
411 ANDROID_SENSOR_START] = {
412 [ ANDROID_SENSOR_EXPOSURE_TIME - ANDROID_SENSOR_START ] =
413 { "exposureTime", TYPE_INT64 },
414 [ ANDROID_SENSOR_FRAME_DURATION - ANDROID_SENSOR_START ] =
415 { "frameDuration", TYPE_INT64 },
416 [ ANDROID_SENSOR_SENSITIVITY - ANDROID_SENSOR_START ] =
417 { "sensitivity", TYPE_INT32 },
418 [ ANDROID_SENSOR_BASE_GAIN_FACTOR - ANDROID_SENSOR_START ] =
419 { "baseGainFactor", TYPE_RATIONAL
420 },
421 [ ANDROID_SENSOR_BLACK_LEVEL_PATTERN - ANDROID_SENSOR_START ] =
422 { "blackLevelPattern", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800423 [ ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY - ANDROID_SENSOR_START ] =
424 { "maxAnalogSensitivity", TYPE_INT32 },
425 [ ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS - ANDROID_SENSOR_START ] =
426 { "noiseModelCoefficients", TYPE_FLOAT },
427 [ ANDROID_SENSOR_ORIENTATION - ANDROID_SENSOR_START ] =
428 { "orientation", TYPE_INT32 },
Ruben Brunk2bebe312014-02-06 13:04:38 -0800429 [ ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS - ANDROID_SENSOR_START ] =
430 { "profileHueSatMapDimensions", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800431 [ 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 },
Ruben Brunk7c63f0f2014-01-31 16:50:27 -0800435 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT - ANDROID_SENSOR_START ] =
436 { "referenceIlluminant", TYPE_BYTE },
437 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM - ANDROID_SENSOR_START ] =
438 { "calibrationTransform", TYPE_RATIONAL
439 },
440 [ ANDROID_SENSOR_COLOR_TRANSFORM - ANDROID_SENSOR_START ] =
441 { "colorTransform", TYPE_RATIONAL
442 },
443 [ ANDROID_SENSOR_FORWARD_MATRIX - ANDROID_SENSOR_START ] =
444 { "forwardMatrix", TYPE_RATIONAL
445 },
Ruben Brunk7b9e9bc2014-02-06 18:37:48 -0800446 [ ANDROID_SENSOR_NEUTRAL_COLOR_POINT - ANDROID_SENSOR_START ] =
447 { "neutralColorPoint", TYPE_RATIONAL
448 },
Ruben Brunk2bebe312014-02-06 13:04:38 -0800449 [ ANDROID_SENSOR_PROFILE_HUE_SAT_MAP - ANDROID_SENSOR_START ] =
450 { "profileHueSatMap", TYPE_FLOAT },
451 [ ANDROID_SENSOR_PROFILE_TONE_CURVE - ANDROID_SENSOR_START ] =
452 { "profileToneCurve", TYPE_FLOAT },
Igor Murashkina46e02f2014-01-09 17:43:38 -0800453 [ ANDROID_SENSOR_TEST_PATTERN_DATA - ANDROID_SENSOR_START ] =
454 { "testPatternData", TYPE_INT32 },
455 [ ANDROID_SENSOR_TEST_PATTERN_MODE - ANDROID_SENSOR_START ] =
456 { "testPatternMode", TYPE_INT32 },
457 [ ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES - ANDROID_SENSOR_START ] =
458 { "availableTestPatternModes", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800459};
460
461static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
462 ANDROID_SENSOR_INFO_START] = {
463 [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
464 { "activeArraySize", TYPE_INT32 },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700465 [ ANDROID_SENSOR_INFO_SENSITIVITY_RANGE - ANDROID_SENSOR_INFO_START ] =
466 { "sensitivityRange", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800467 [ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT - ANDROID_SENSOR_INFO_START ] =
468 { "colorFilterArrangement", TYPE_BYTE },
469 [ ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE - ANDROID_SENSOR_INFO_START ] =
470 { "exposureTimeRange", TYPE_INT64 },
471 [ ANDROID_SENSOR_INFO_MAX_FRAME_DURATION - ANDROID_SENSOR_INFO_START ] =
472 { "maxFrameDuration", TYPE_INT64 },
473 [ ANDROID_SENSOR_INFO_PHYSICAL_SIZE - ANDROID_SENSOR_INFO_START ] =
474 { "physicalSize", TYPE_FLOAT },
475 [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
476 { "pixelArraySize", TYPE_INT32 },
477 [ ANDROID_SENSOR_INFO_WHITE_LEVEL - ANDROID_SENSOR_INFO_START ] =
478 { "whiteLevel", TYPE_INT32 },
479};
480
481static tag_info_t android_shading[ANDROID_SHADING_END -
482 ANDROID_SHADING_START] = {
483 [ ANDROID_SHADING_MODE - ANDROID_SHADING_START ] =
484 { "mode", TYPE_BYTE },
485 [ ANDROID_SHADING_STRENGTH - ANDROID_SHADING_START ] =
486 { "strength", TYPE_BYTE },
487};
488
489static tag_info_t android_statistics[ANDROID_STATISTICS_END -
490 ANDROID_STATISTICS_START] = {
491 [ ANDROID_STATISTICS_FACE_DETECT_MODE - ANDROID_STATISTICS_START ] =
492 { "faceDetectMode", TYPE_BYTE },
493 [ ANDROID_STATISTICS_HISTOGRAM_MODE - ANDROID_STATISTICS_START ] =
494 { "histogramMode", TYPE_BYTE },
495 [ ANDROID_STATISTICS_SHARPNESS_MAP_MODE - ANDROID_STATISTICS_START ] =
496 { "sharpnessMapMode", TYPE_BYTE },
497 [ ANDROID_STATISTICS_FACE_IDS - ANDROID_STATISTICS_START ] =
498 { "faceIds", TYPE_INT32 },
499 [ ANDROID_STATISTICS_FACE_LANDMARKS - ANDROID_STATISTICS_START ] =
500 { "faceLandmarks", TYPE_INT32 },
501 [ ANDROID_STATISTICS_FACE_RECTANGLES - ANDROID_STATISTICS_START ] =
502 { "faceRectangles", TYPE_INT32 },
503 [ ANDROID_STATISTICS_FACE_SCORES - ANDROID_STATISTICS_START ] =
504 { "faceScores", TYPE_BYTE },
505 [ ANDROID_STATISTICS_HISTOGRAM - ANDROID_STATISTICS_START ] =
506 { "histogram", TYPE_INT32 },
507 [ ANDROID_STATISTICS_SHARPNESS_MAP - ANDROID_STATISTICS_START ] =
508 { "sharpnessMap", TYPE_INT32 },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700509 [ ANDROID_STATISTICS_LENS_SHADING_MAP - ANDROID_STATISTICS_START ] =
510 { "lensShadingMap", TYPE_FLOAT },
511 [ ANDROID_STATISTICS_PREDICTED_COLOR_GAINS - ANDROID_STATISTICS_START ] =
512 { "predictedColorGains", TYPE_FLOAT },
513 [ ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM - ANDROID_STATISTICS_START ] =
514 { "predictedColorTransform", TYPE_RATIONAL
515 },
516 [ ANDROID_STATISTICS_SCENE_FLICKER - ANDROID_STATISTICS_START ] =
517 { "sceneFlicker", TYPE_BYTE },
518 [ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE - ANDROID_STATISTICS_START ] =
519 { "lensShadingMapMode", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800520};
521
522static tag_info_t android_statistics_info[ANDROID_STATISTICS_INFO_END -
523 ANDROID_STATISTICS_INFO_START] = {
524 [ ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES - ANDROID_STATISTICS_INFO_START ] =
525 { "availableFaceDetectModes", TYPE_BYTE },
526 [ ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT - ANDROID_STATISTICS_INFO_START ] =
527 { "histogramBucketCount", TYPE_INT32 },
528 [ ANDROID_STATISTICS_INFO_MAX_FACE_COUNT - ANDROID_STATISTICS_INFO_START ] =
529 { "maxFaceCount", TYPE_INT32 },
530 [ ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT - ANDROID_STATISTICS_INFO_START ] =
531 { "maxHistogramCount", TYPE_INT32 },
532 [ ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE - ANDROID_STATISTICS_INFO_START ] =
533 { "maxSharpnessMapValue", TYPE_INT32 },
534 [ ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE - ANDROID_STATISTICS_INFO_START ] =
535 { "sharpnessMapSize", TYPE_INT32 },
536};
537
538static tag_info_t android_tonemap[ANDROID_TONEMAP_END -
539 ANDROID_TONEMAP_START] = {
540 [ ANDROID_TONEMAP_CURVE_BLUE - ANDROID_TONEMAP_START ] =
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800541 { "curveBlue", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800542 [ ANDROID_TONEMAP_CURVE_GREEN - ANDROID_TONEMAP_START ] =
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800543 { "curveGreen", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800544 [ ANDROID_TONEMAP_CURVE_RED - ANDROID_TONEMAP_START ] =
545 { "curveRed", TYPE_FLOAT },
546 [ ANDROID_TONEMAP_MODE - ANDROID_TONEMAP_START ] =
547 { "mode", TYPE_BYTE },
548 [ ANDROID_TONEMAP_MAX_CURVE_POINTS - ANDROID_TONEMAP_START ] =
549 { "maxCurvePoints", TYPE_INT32 },
550};
551
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700552static tag_info_t android_led[ANDROID_LED_END -
553 ANDROID_LED_START] = {
554 [ ANDROID_LED_TRANSMIT - ANDROID_LED_START ] =
555 { "transmit", TYPE_BYTE },
556 [ ANDROID_LED_AVAILABLE_LEDS - ANDROID_LED_START ] =
557 { "availableLeds", TYPE_BYTE },
558};
559
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700560static tag_info_t android_info[ANDROID_INFO_END -
561 ANDROID_INFO_START] = {
562 [ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL - ANDROID_INFO_START ] =
563 { "supportedHardwareLevel", TYPE_BYTE },
564};
565
Zhijun He69fc0ea2013-07-17 09:42:58 -0700566static tag_info_t android_black_level[ANDROID_BLACK_LEVEL_END -
567 ANDROID_BLACK_LEVEL_START] = {
568 [ ANDROID_BLACK_LEVEL_LOCK - ANDROID_BLACK_LEVEL_START ] =
569 { "lock", TYPE_BYTE },
570};
571
Igor Murashkin5c1fc682014-01-16 17:51:36 -0800572static tag_info_t android_sync[ANDROID_SYNC_END -
573 ANDROID_SYNC_START] = {
574 [ ANDROID_SYNC_FRAME_NUMBER - ANDROID_SYNC_START ] =
575 { "frameNumber", TYPE_INT64 },
576 [ ANDROID_SYNC_MAX_LATENCY - ANDROID_SYNC_START ] =
577 { "maxLatency", TYPE_INT32 },
578};
579
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700580
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800581tag_info_t *tag_info[ANDROID_SECTION_COUNT] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800582 android_color_correction,
583 android_control,
584 android_demosaic,
585 android_edge,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800586 android_flash,
587 android_flash_info,
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800588 android_geometric,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800589 android_hot_pixel,
590 android_hot_pixel_info,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800591 android_jpeg,
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800592 android_lens,
593 android_lens_info,
594 android_noise_reduction,
595 android_quirks,
596 android_request,
597 android_scaler,
598 android_sensor,
599 android_sensor_info,
600 android_shading,
601 android_statistics,
602 android_statistics_info,
603 android_tonemap,
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700604 android_led,
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700605 android_info,
Zhijun He69fc0ea2013-07-17 09:42:58 -0700606 android_black_level,
Igor Murashkin5c1fc682014-01-16 17:51:36 -0800607 android_sync,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800608};
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800609
610int camera_metadata_enum_snprint(uint32_t tag,
611 uint32_t value,
612 char *dst,
613 size_t size) {
614 const char *msg = "error: not an enum";
615 int ret = -1;
616
617 switch(tag) {
618 case ANDROID_COLOR_CORRECTION_MODE: {
619 switch (value) {
620 case ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
621 msg = "TRANSFORM_MATRIX";
622 ret = 0;
623 break;
624 case ANDROID_COLOR_CORRECTION_MODE_FAST:
625 msg = "FAST";
626 ret = 0;
627 break;
628 case ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY:
629 msg = "HIGH_QUALITY";
630 ret = 0;
631 break;
632 default:
633 msg = "error: enum value out of range";
634 }
635 break;
636 }
637 case ANDROID_COLOR_CORRECTION_TRANSFORM: {
638 break;
639 }
Zhijun He69fc0ea2013-07-17 09:42:58 -0700640 case ANDROID_COLOR_CORRECTION_GAINS: {
641 break;
642 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800643
644 case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
645 switch (value) {
646 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF:
647 msg = "OFF";
648 ret = 0;
649 break;
650 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ:
651 msg = "50HZ";
652 ret = 0;
653 break;
654 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ:
655 msg = "60HZ";
656 ret = 0;
657 break;
658 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO:
659 msg = "AUTO";
660 ret = 0;
661 break;
662 default:
663 msg = "error: enum value out of range";
664 }
665 break;
666 }
667 case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
668 break;
669 }
670 case ANDROID_CONTROL_AE_LOCK: {
671 switch (value) {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800672 case ANDROID_CONTROL_AE_LOCK_OFF:
673 msg = "OFF";
674 ret = 0;
675 break;
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800676 case ANDROID_CONTROL_AE_LOCK_ON:
677 msg = "ON";
678 ret = 0;
679 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800680 default:
681 msg = "error: enum value out of range";
682 }
683 break;
684 }
685 case ANDROID_CONTROL_AE_MODE: {
686 switch (value) {
687 case ANDROID_CONTROL_AE_MODE_OFF:
688 msg = "OFF";
689 ret = 0;
690 break;
691 case ANDROID_CONTROL_AE_MODE_ON:
692 msg = "ON";
693 ret = 0;
694 break;
695 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:
696 msg = "ON_AUTO_FLASH";
697 ret = 0;
698 break;
699 case ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
700 msg = "ON_ALWAYS_FLASH";
701 ret = 0;
702 break;
703 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
704 msg = "ON_AUTO_FLASH_REDEYE";
705 ret = 0;
706 break;
707 default:
708 msg = "error: enum value out of range";
709 }
710 break;
711 }
712 case ANDROID_CONTROL_AE_REGIONS: {
713 break;
714 }
715 case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
716 break;
717 }
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700718 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
719 switch (value) {
720 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
721 msg = "IDLE";
722 ret = 0;
723 break;
724 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START:
725 msg = "START";
726 ret = 0;
727 break;
728 default:
729 msg = "error: enum value out of range";
730 }
731 break;
732 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800733 case ANDROID_CONTROL_AF_MODE: {
734 switch (value) {
735 case ANDROID_CONTROL_AF_MODE_OFF:
736 msg = "OFF";
737 ret = 0;
738 break;
739 case ANDROID_CONTROL_AF_MODE_AUTO:
740 msg = "AUTO";
741 ret = 0;
742 break;
743 case ANDROID_CONTROL_AF_MODE_MACRO:
744 msg = "MACRO";
745 ret = 0;
746 break;
747 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
748 msg = "CONTINUOUS_VIDEO";
749 ret = 0;
750 break;
751 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
752 msg = "CONTINUOUS_PICTURE";
753 ret = 0;
754 break;
755 case ANDROID_CONTROL_AF_MODE_EDOF:
756 msg = "EDOF";
757 ret = 0;
758 break;
759 default:
760 msg = "error: enum value out of range";
761 }
762 break;
763 }
764 case ANDROID_CONTROL_AF_REGIONS: {
765 break;
766 }
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700767 case ANDROID_CONTROL_AF_TRIGGER: {
768 switch (value) {
769 case ANDROID_CONTROL_AF_TRIGGER_IDLE:
770 msg = "IDLE";
771 ret = 0;
772 break;
773 case ANDROID_CONTROL_AF_TRIGGER_START:
774 msg = "START";
775 ret = 0;
776 break;
777 case ANDROID_CONTROL_AF_TRIGGER_CANCEL:
778 msg = "CANCEL";
779 ret = 0;
780 break;
781 default:
782 msg = "error: enum value out of range";
783 }
784 break;
785 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800786 case ANDROID_CONTROL_AWB_LOCK: {
787 switch (value) {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800788 case ANDROID_CONTROL_AWB_LOCK_OFF:
789 msg = "OFF";
790 ret = 0;
791 break;
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800792 case ANDROID_CONTROL_AWB_LOCK_ON:
793 msg = "ON";
794 ret = 0;
795 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800796 default:
797 msg = "error: enum value out of range";
798 }
799 break;
800 }
801 case ANDROID_CONTROL_AWB_MODE: {
802 switch (value) {
803 case ANDROID_CONTROL_AWB_MODE_OFF:
804 msg = "OFF";
805 ret = 0;
806 break;
807 case ANDROID_CONTROL_AWB_MODE_AUTO:
808 msg = "AUTO";
809 ret = 0;
810 break;
811 case ANDROID_CONTROL_AWB_MODE_INCANDESCENT:
812 msg = "INCANDESCENT";
813 ret = 0;
814 break;
815 case ANDROID_CONTROL_AWB_MODE_FLUORESCENT:
816 msg = "FLUORESCENT";
817 ret = 0;
818 break;
819 case ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT:
820 msg = "WARM_FLUORESCENT";
821 ret = 0;
822 break;
823 case ANDROID_CONTROL_AWB_MODE_DAYLIGHT:
824 msg = "DAYLIGHT";
825 ret = 0;
826 break;
827 case ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
828 msg = "CLOUDY_DAYLIGHT";
829 ret = 0;
830 break;
831 case ANDROID_CONTROL_AWB_MODE_TWILIGHT:
832 msg = "TWILIGHT";
833 ret = 0;
834 break;
835 case ANDROID_CONTROL_AWB_MODE_SHADE:
836 msg = "SHADE";
837 ret = 0;
838 break;
839 default:
840 msg = "error: enum value out of range";
841 }
842 break;
843 }
844 case ANDROID_CONTROL_AWB_REGIONS: {
845 break;
846 }
847 case ANDROID_CONTROL_CAPTURE_INTENT: {
848 switch (value) {
849 case ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM:
850 msg = "CUSTOM";
851 ret = 0;
852 break;
853 case ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW:
854 msg = "PREVIEW";
855 ret = 0;
856 break;
857 case ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
858 msg = "STILL_CAPTURE";
859 ret = 0;
860 break;
861 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
862 msg = "VIDEO_RECORD";
863 ret = 0;
864 break;
865 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
866 msg = "VIDEO_SNAPSHOT";
867 ret = 0;
868 break;
869 case ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
870 msg = "ZERO_SHUTTER_LAG";
871 ret = 0;
872 break;
873 default:
874 msg = "error: enum value out of range";
875 }
876 break;
877 }
878 case ANDROID_CONTROL_EFFECT_MODE: {
879 switch (value) {
880 case ANDROID_CONTROL_EFFECT_MODE_OFF:
881 msg = "OFF";
882 ret = 0;
883 break;
884 case ANDROID_CONTROL_EFFECT_MODE_MONO:
885 msg = "MONO";
886 ret = 0;
887 break;
888 case ANDROID_CONTROL_EFFECT_MODE_NEGATIVE:
889 msg = "NEGATIVE";
890 ret = 0;
891 break;
892 case ANDROID_CONTROL_EFFECT_MODE_SOLARIZE:
893 msg = "SOLARIZE";
894 ret = 0;
895 break;
896 case ANDROID_CONTROL_EFFECT_MODE_SEPIA:
897 msg = "SEPIA";
898 ret = 0;
899 break;
900 case ANDROID_CONTROL_EFFECT_MODE_POSTERIZE:
901 msg = "POSTERIZE";
902 ret = 0;
903 break;
904 case ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD:
905 msg = "WHITEBOARD";
906 ret = 0;
907 break;
908 case ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD:
909 msg = "BLACKBOARD";
910 ret = 0;
911 break;
912 case ANDROID_CONTROL_EFFECT_MODE_AQUA:
913 msg = "AQUA";
914 ret = 0;
915 break;
916 default:
917 msg = "error: enum value out of range";
918 }
919 break;
920 }
921 case ANDROID_CONTROL_MODE: {
922 switch (value) {
923 case ANDROID_CONTROL_MODE_OFF:
924 msg = "OFF";
925 ret = 0;
926 break;
927 case ANDROID_CONTROL_MODE_AUTO:
928 msg = "AUTO";
929 ret = 0;
930 break;
931 case ANDROID_CONTROL_MODE_USE_SCENE_MODE:
932 msg = "USE_SCENE_MODE";
933 ret = 0;
934 break;
Zhijun He4412faa2014-02-06 00:28:22 -0800935 case ANDROID_CONTROL_MODE_OFF_KEEP_STATE:
936 msg = "OFF_KEEP_STATE";
937 ret = 0;
938 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800939 default:
940 msg = "error: enum value out of range";
941 }
942 break;
943 }
944 case ANDROID_CONTROL_SCENE_MODE: {
945 switch (value) {
Ruben Brunk9e28ea72014-01-14 18:55:29 -0800946 case ANDROID_CONTROL_SCENE_MODE_DISABLED:
947 msg = "DISABLED";
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800948 ret = 0;
949 break;
950 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
951 msg = "FACE_PRIORITY";
952 ret = 0;
953 break;
954 case ANDROID_CONTROL_SCENE_MODE_ACTION:
955 msg = "ACTION";
956 ret = 0;
957 break;
958 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
959 msg = "PORTRAIT";
960 ret = 0;
961 break;
962 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
963 msg = "LANDSCAPE";
964 ret = 0;
965 break;
966 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
967 msg = "NIGHT";
968 ret = 0;
969 break;
970 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
971 msg = "NIGHT_PORTRAIT";
972 ret = 0;
973 break;
974 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
975 msg = "THEATRE";
976 ret = 0;
977 break;
978 case ANDROID_CONTROL_SCENE_MODE_BEACH:
979 msg = "BEACH";
980 ret = 0;
981 break;
982 case ANDROID_CONTROL_SCENE_MODE_SNOW:
983 msg = "SNOW";
984 ret = 0;
985 break;
986 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
987 msg = "SUNSET";
988 ret = 0;
989 break;
990 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
991 msg = "STEADYPHOTO";
992 ret = 0;
993 break;
994 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
995 msg = "FIREWORKS";
996 ret = 0;
997 break;
998 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
999 msg = "SPORTS";
1000 ret = 0;
1001 break;
1002 case ANDROID_CONTROL_SCENE_MODE_PARTY:
1003 msg = "PARTY";
1004 ret = 0;
1005 break;
1006 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
1007 msg = "CANDLELIGHT";
1008 ret = 0;
1009 break;
1010 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
1011 msg = "BARCODE";
1012 ret = 0;
1013 break;
1014 default:
1015 msg = "error: enum value out of range";
1016 }
1017 break;
1018 }
1019 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
1020 switch (value) {
1021 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
1022 msg = "OFF";
1023 ret = 0;
1024 break;
1025 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
1026 msg = "ON";
1027 ret = 0;
1028 break;
1029 default:
1030 msg = "error: enum value out of range";
1031 }
1032 break;
1033 }
1034 case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
1035 break;
1036 }
1037 case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
1038 break;
1039 }
1040 case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
1041 break;
1042 }
1043 case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
1044 break;
1045 }
1046 case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
1047 break;
1048 }
1049 case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
1050 break;
1051 }
1052 case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
1053 break;
1054 }
1055 case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
1056 break;
1057 }
1058 case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
1059 break;
1060 }
1061 case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
1062 break;
1063 }
1064 case ANDROID_CONTROL_MAX_REGIONS: {
1065 break;
1066 }
1067 case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
1068 break;
1069 }
1070 case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1071 break;
1072 }
1073 case ANDROID_CONTROL_AE_STATE: {
1074 switch (value) {
1075 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1076 msg = "INACTIVE";
1077 ret = 0;
1078 break;
1079 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1080 msg = "SEARCHING";
1081 ret = 0;
1082 break;
1083 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1084 msg = "CONVERGED";
1085 ret = 0;
1086 break;
1087 case ANDROID_CONTROL_AE_STATE_LOCKED:
1088 msg = "LOCKED";
1089 ret = 0;
1090 break;
1091 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1092 msg = "FLASH_REQUIRED";
1093 ret = 0;
1094 break;
1095 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1096 msg = "PRECAPTURE";
1097 ret = 0;
1098 break;
1099 default:
1100 msg = "error: enum value out of range";
1101 }
1102 break;
1103 }
1104 case ANDROID_CONTROL_AF_STATE: {
1105 switch (value) {
1106 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1107 msg = "INACTIVE";
1108 ret = 0;
1109 break;
1110 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1111 msg = "PASSIVE_SCAN";
1112 ret = 0;
1113 break;
1114 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1115 msg = "PASSIVE_FOCUSED";
1116 ret = 0;
1117 break;
1118 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1119 msg = "ACTIVE_SCAN";
1120 ret = 0;
1121 break;
1122 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1123 msg = "FOCUSED_LOCKED";
1124 ret = 0;
1125 break;
1126 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1127 msg = "NOT_FOCUSED_LOCKED";
1128 ret = 0;
1129 break;
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07001130 case ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
1131 msg = "PASSIVE_UNFOCUSED";
1132 ret = 0;
1133 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001134 default:
1135 msg = "error: enum value out of range";
1136 }
1137 break;
1138 }
1139 case ANDROID_CONTROL_AF_TRIGGER_ID: {
1140 break;
1141 }
1142 case ANDROID_CONTROL_AWB_STATE: {
1143 switch (value) {
1144 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1145 msg = "INACTIVE";
1146 ret = 0;
1147 break;
1148 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1149 msg = "SEARCHING";
1150 ret = 0;
1151 break;
1152 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1153 msg = "CONVERGED";
1154 ret = 0;
1155 break;
1156 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1157 msg = "LOCKED";
1158 ret = 0;
1159 break;
1160 default:
1161 msg = "error: enum value out of range";
1162 }
1163 break;
1164 }
1165
1166 case ANDROID_DEMOSAIC_MODE: {
1167 switch (value) {
1168 case ANDROID_DEMOSAIC_MODE_FAST:
1169 msg = "FAST";
1170 ret = 0;
1171 break;
1172 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
1173 msg = "HIGH_QUALITY";
1174 ret = 0;
1175 break;
1176 default:
1177 msg = "error: enum value out of range";
1178 }
1179 break;
1180 }
1181
1182 case ANDROID_EDGE_MODE: {
1183 switch (value) {
1184 case ANDROID_EDGE_MODE_OFF:
1185 msg = "OFF";
1186 ret = 0;
1187 break;
1188 case ANDROID_EDGE_MODE_FAST:
1189 msg = "FAST";
1190 ret = 0;
1191 break;
1192 case ANDROID_EDGE_MODE_HIGH_QUALITY:
1193 msg = "HIGH_QUALITY";
1194 ret = 0;
1195 break;
1196 default:
1197 msg = "error: enum value out of range";
1198 }
1199 break;
1200 }
1201 case ANDROID_EDGE_STRENGTH: {
1202 break;
1203 }
1204
1205 case ANDROID_FLASH_FIRING_POWER: {
1206 break;
1207 }
1208 case ANDROID_FLASH_FIRING_TIME: {
1209 break;
1210 }
1211 case ANDROID_FLASH_MODE: {
1212 switch (value) {
1213 case ANDROID_FLASH_MODE_OFF:
1214 msg = "OFF";
1215 ret = 0;
1216 break;
1217 case ANDROID_FLASH_MODE_SINGLE:
1218 msg = "SINGLE";
1219 ret = 0;
1220 break;
1221 case ANDROID_FLASH_MODE_TORCH:
1222 msg = "TORCH";
1223 ret = 0;
1224 break;
1225 default:
1226 msg = "error: enum value out of range";
1227 }
1228 break;
1229 }
1230 case ANDROID_FLASH_COLOR_TEMPERATURE: {
1231 break;
1232 }
1233 case ANDROID_FLASH_MAX_ENERGY: {
1234 break;
1235 }
1236 case ANDROID_FLASH_STATE: {
1237 switch (value) {
1238 case ANDROID_FLASH_STATE_UNAVAILABLE:
1239 msg = "UNAVAILABLE";
1240 ret = 0;
1241 break;
1242 case ANDROID_FLASH_STATE_CHARGING:
1243 msg = "CHARGING";
1244 ret = 0;
1245 break;
1246 case ANDROID_FLASH_STATE_READY:
1247 msg = "READY";
1248 ret = 0;
1249 break;
1250 case ANDROID_FLASH_STATE_FIRED:
1251 msg = "FIRED";
1252 ret = 0;
1253 break;
1254 default:
1255 msg = "error: enum value out of range";
1256 }
1257 break;
1258 }
1259
1260 case ANDROID_FLASH_INFO_AVAILABLE: {
Zhijun He5169ce12014-01-24 16:48:25 -08001261 switch (value) {
1262 case ANDROID_FLASH_INFO_AVAILABLE_FALSE:
1263 msg = "FALSE";
1264 ret = 0;
1265 break;
1266 case ANDROID_FLASH_INFO_AVAILABLE_TRUE:
1267 msg = "TRUE";
1268 ret = 0;
1269 break;
1270 default:
1271 msg = "error: enum value out of range";
1272 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001273 break;
1274 }
1275 case ANDROID_FLASH_INFO_CHARGE_DURATION: {
1276 break;
1277 }
1278
1279 case ANDROID_GEOMETRIC_MODE: {
1280 switch (value) {
1281 case ANDROID_GEOMETRIC_MODE_OFF:
1282 msg = "OFF";
1283 ret = 0;
1284 break;
1285 case ANDROID_GEOMETRIC_MODE_FAST:
1286 msg = "FAST";
1287 ret = 0;
1288 break;
1289 case ANDROID_GEOMETRIC_MODE_HIGH_QUALITY:
1290 msg = "HIGH_QUALITY";
1291 ret = 0;
1292 break;
1293 default:
1294 msg = "error: enum value out of range";
1295 }
1296 break;
1297 }
1298 case ANDROID_GEOMETRIC_STRENGTH: {
1299 break;
1300 }
1301
1302 case ANDROID_HOT_PIXEL_MODE: {
1303 switch (value) {
1304 case ANDROID_HOT_PIXEL_MODE_OFF:
1305 msg = "OFF";
1306 ret = 0;
1307 break;
1308 case ANDROID_HOT_PIXEL_MODE_FAST:
1309 msg = "FAST";
1310 ret = 0;
1311 break;
1312 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
1313 msg = "HIGH_QUALITY";
1314 ret = 0;
1315 break;
1316 default:
1317 msg = "error: enum value out of range";
1318 }
1319 break;
1320 }
1321
1322 case ANDROID_HOT_PIXEL_INFO_MAP: {
1323 break;
1324 }
1325
1326 case ANDROID_JPEG_GPS_COORDINATES: {
1327 break;
1328 }
1329 case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
1330 break;
1331 }
1332 case ANDROID_JPEG_GPS_TIMESTAMP: {
1333 break;
1334 }
1335 case ANDROID_JPEG_ORIENTATION: {
1336 break;
1337 }
1338 case ANDROID_JPEG_QUALITY: {
1339 break;
1340 }
1341 case ANDROID_JPEG_THUMBNAIL_QUALITY: {
1342 break;
1343 }
1344 case ANDROID_JPEG_THUMBNAIL_SIZE: {
1345 break;
1346 }
1347 case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
1348 break;
1349 }
1350 case ANDROID_JPEG_MAX_SIZE: {
1351 break;
1352 }
1353 case ANDROID_JPEG_SIZE: {
1354 break;
1355 }
1356
1357 case ANDROID_LENS_APERTURE: {
1358 break;
1359 }
1360 case ANDROID_LENS_FILTER_DENSITY: {
1361 break;
1362 }
1363 case ANDROID_LENS_FOCAL_LENGTH: {
1364 break;
1365 }
1366 case ANDROID_LENS_FOCUS_DISTANCE: {
1367 break;
1368 }
1369 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
1370 switch (value) {
1371 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
1372 msg = "OFF";
1373 ret = 0;
1374 break;
1375 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
1376 msg = "ON";
1377 ret = 0;
1378 break;
1379 default:
1380 msg = "error: enum value out of range";
1381 }
1382 break;
1383 }
1384 case ANDROID_LENS_FACING: {
1385 switch (value) {
1386 case ANDROID_LENS_FACING_FRONT:
1387 msg = "FRONT";
1388 ret = 0;
1389 break;
1390 case ANDROID_LENS_FACING_BACK:
1391 msg = "BACK";
1392 ret = 0;
1393 break;
1394 default:
1395 msg = "error: enum value out of range";
1396 }
1397 break;
1398 }
1399 case ANDROID_LENS_OPTICAL_AXIS_ANGLE: {
1400 break;
1401 }
1402 case ANDROID_LENS_POSITION: {
1403 break;
1404 }
1405 case ANDROID_LENS_FOCUS_RANGE: {
1406 break;
1407 }
1408 case ANDROID_LENS_STATE: {
1409 switch (value) {
1410 case ANDROID_LENS_STATE_STATIONARY:
1411 msg = "STATIONARY";
1412 ret = 0;
1413 break;
Igor Murashkin0e323a12013-09-06 11:50:48 -07001414 case ANDROID_LENS_STATE_MOVING:
1415 msg = "MOVING";
1416 ret = 0;
1417 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001418 default:
1419 msg = "error: enum value out of range";
1420 }
1421 break;
1422 }
1423
1424 case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
1425 break;
1426 }
1427 case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
1428 break;
1429 }
1430 case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
1431 break;
1432 }
1433 case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
1434 break;
1435 }
1436 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP: {
1437 break;
1438 }
1439 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE: {
1440 break;
1441 }
1442 case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
1443 break;
1444 }
1445 case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
1446 break;
1447 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001448 case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
1449 break;
1450 }
Zhijun Hef92c76a2014-02-06 01:40:35 -08001451 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: {
1452 switch (value) {
1453 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
1454 msg = "UNCALIBRATED";
1455 ret = 0;
1456 break;
1457 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
1458 msg = "APPROXIMATE";
1459 ret = 0;
1460 break;
1461 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
1462 msg = "CALIBRATED";
1463 ret = 0;
1464 break;
1465 default:
1466 msg = "error: enum value out of range";
1467 }
1468 break;
1469 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001470
1471 case ANDROID_NOISE_REDUCTION_MODE: {
1472 switch (value) {
1473 case ANDROID_NOISE_REDUCTION_MODE_OFF:
1474 msg = "OFF";
1475 ret = 0;
1476 break;
1477 case ANDROID_NOISE_REDUCTION_MODE_FAST:
1478 msg = "FAST";
1479 ret = 0;
1480 break;
1481 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
1482 msg = "HIGH_QUALITY";
1483 ret = 0;
1484 break;
1485 default:
1486 msg = "error: enum value out of range";
1487 }
1488 break;
1489 }
1490 case ANDROID_NOISE_REDUCTION_STRENGTH: {
1491 break;
1492 }
1493
1494 case ANDROID_QUIRKS_METERING_CROP_REGION: {
1495 break;
1496 }
1497 case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
1498 break;
1499 }
1500 case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
1501 break;
1502 }
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07001503 case ANDROID_QUIRKS_USE_PARTIAL_RESULT: {
1504 break;
1505 }
1506 case ANDROID_QUIRKS_PARTIAL_RESULT: {
1507 switch (value) {
1508 case ANDROID_QUIRKS_PARTIAL_RESULT_FINAL:
1509 msg = "FINAL";
1510 ret = 0;
1511 break;
1512 case ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL:
1513 msg = "PARTIAL";
1514 ret = 0;
1515 break;
1516 default:
1517 msg = "error: enum value out of range";
1518 }
1519 break;
1520 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001521
1522 case ANDROID_REQUEST_FRAME_COUNT: {
1523 break;
1524 }
1525 case ANDROID_REQUEST_ID: {
1526 break;
1527 }
1528 case ANDROID_REQUEST_INPUT_STREAMS: {
1529 break;
1530 }
1531 case ANDROID_REQUEST_METADATA_MODE: {
1532 switch (value) {
1533 case ANDROID_REQUEST_METADATA_MODE_NONE:
1534 msg = "NONE";
1535 ret = 0;
1536 break;
1537 case ANDROID_REQUEST_METADATA_MODE_FULL:
1538 msg = "FULL";
1539 ret = 0;
1540 break;
1541 default:
1542 msg = "error: enum value out of range";
1543 }
1544 break;
1545 }
1546 case ANDROID_REQUEST_OUTPUT_STREAMS: {
1547 break;
1548 }
1549 case ANDROID_REQUEST_TYPE: {
1550 switch (value) {
1551 case ANDROID_REQUEST_TYPE_CAPTURE:
1552 msg = "CAPTURE";
1553 ret = 0;
1554 break;
1555 case ANDROID_REQUEST_TYPE_REPROCESS:
1556 msg = "REPROCESS";
1557 ret = 0;
1558 break;
1559 default:
1560 msg = "error: enum value out of range";
1561 }
1562 break;
1563 }
1564 case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
1565 break;
1566 }
1567 case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
1568 break;
1569 }
Zhijun He12744b22014-01-22 15:58:57 -08001570 case ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS: {
1571 break;
1572 }
Igor Murashkina46e02f2014-01-09 17:43:38 -08001573 case ANDROID_REQUEST_PIPELINE_DEPTH: {
1574 break;
1575 }
1576 case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
1577 break;
1578 }
Igor Murashkin2e291102014-01-10 14:18:30 -08001579 case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
1580 break;
1581 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001582
1583 case ANDROID_SCALER_CROP_REGION: {
1584 break;
1585 }
1586 case ANDROID_SCALER_AVAILABLE_FORMATS: {
1587 switch (value) {
Ruben Brunk8f48c182014-02-04 18:27:20 -08001588 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW16:
1589 msg = "RAW16";
1590 ret = 0;
1591 break;
1592 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE:
1593 msg = "RAW_OPAQUE";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001594 ret = 0;
1595 break;
1596 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
1597 msg = "YV12";
1598 ret = 0;
1599 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001600 case ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP:
1601 msg = "YCrCb_420_SP";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001602 ret = 0;
1603 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001604 case ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED:
1605 msg = "IMPLEMENTATION_DEFINED";
1606 ret = 0;
1607 break;
1608 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888:
1609 msg = "YCbCr_420_888";
1610 ret = 0;
1611 break;
1612 case ANDROID_SCALER_AVAILABLE_FORMATS_BLOB:
1613 msg = "BLOB";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001614 ret = 0;
1615 break;
1616 default:
1617 msg = "error: enum value out of range";
1618 }
1619 break;
1620 }
1621 case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
1622 break;
1623 }
1624 case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
1625 break;
1626 }
1627 case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
1628 break;
1629 }
1630 case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
1631 break;
1632 }
1633 case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
1634 break;
1635 }
1636 case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
1637 break;
1638 }
1639 case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
1640 break;
1641 }
Igor Murashkin7f15ddd2014-02-04 18:02:27 -08001642 case ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP: {
1643 break;
1644 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001645
1646 case ANDROID_SENSOR_EXPOSURE_TIME: {
1647 break;
1648 }
1649 case ANDROID_SENSOR_FRAME_DURATION: {
1650 break;
1651 }
1652 case ANDROID_SENSOR_SENSITIVITY: {
1653 break;
1654 }
1655 case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
1656 break;
1657 }
1658 case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
1659 break;
1660 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001661 case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
1662 break;
1663 }
1664 case ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS: {
1665 break;
1666 }
1667 case ANDROID_SENSOR_ORIENTATION: {
1668 break;
1669 }
Ruben Brunk2bebe312014-02-06 13:04:38 -08001670 case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS: {
1671 break;
1672 }
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001673 case ANDROID_SENSOR_TIMESTAMP: {
1674 break;
1675 }
1676 case ANDROID_SENSOR_TEMPERATURE: {
1677 break;
1678 }
1679 case ANDROID_SENSOR_REFERENCE_ILLUMINANT: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001680 switch (value) {
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001681 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_DAYLIGHT:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001682 msg = "DAYLIGHT";
1683 ret = 0;
1684 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001685 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_FLUORESCENT:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686 msg = "FLUORESCENT";
1687 ret = 0;
1688 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001689 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_TUNGSTEN:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001690 msg = "TUNGSTEN";
1691 ret = 0;
1692 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001693 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_FLASH:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001694 msg = "FLASH";
1695 ret = 0;
1696 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001697 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_FINE_WEATHER:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001698 msg = "FINE_WEATHER";
1699 ret = 0;
1700 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001701 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_CLOUDY_WEATHER:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001702 msg = "CLOUDY_WEATHER";
1703 ret = 0;
1704 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001705 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_SHADE:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001706 msg = "SHADE";
1707 ret = 0;
1708 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001709 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_DAYLIGHT_FLUORESCENT:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001710 msg = "DAYLIGHT_FLUORESCENT";
1711 ret = 0;
1712 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001713 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_DAY_WHITE_FLUORESCENT:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001714 msg = "DAY_WHITE_FLUORESCENT";
1715 ret = 0;
1716 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001717 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_COOL_WHITE_FLUORESCENT:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001718 msg = "COOL_WHITE_FLUORESCENT";
1719 ret = 0;
1720 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001721 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_WHITE_FLUORESCENT:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001722 msg = "WHITE_FLUORESCENT";
1723 ret = 0;
1724 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001725 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_STANDARD_A:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 msg = "STANDARD_A";
1727 ret = 0;
1728 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001729 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_STANDARD_B:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001730 msg = "STANDARD_B";
1731 ret = 0;
1732 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001733 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_STANDARD_C:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001734 msg = "STANDARD_C";
1735 ret = 0;
1736 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001737 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_D55:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001738 msg = "D55";
1739 ret = 0;
1740 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001741 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_D65:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001742 msg = "D65";
1743 ret = 0;
1744 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001745 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_D75:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001746 msg = "D75";
1747 ret = 0;
1748 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001749 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_D50:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001750 msg = "D50";
1751 ret = 0;
1752 break;
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001753 case ANDROID_SENSOR_REFERENCE_ILLUMINANT_ISO_STUDIO_TUNGSTEN:
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001754 msg = "ISO_STUDIO_TUNGSTEN";
1755 ret = 0;
1756 break;
1757 default:
1758 msg = "error: enum value out of range";
1759 }
1760 break;
1761 }
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001762 case ANDROID_SENSOR_CALIBRATION_TRANSFORM: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001763 break;
1764 }
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001765 case ANDROID_SENSOR_COLOR_TRANSFORM: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001766 break;
1767 }
Ruben Brunk7c63f0f2014-01-31 16:50:27 -08001768 case ANDROID_SENSOR_FORWARD_MATRIX: {
Igor Murashkin656aa5a2013-08-13 14:23:39 -07001769 break;
1770 }
Ruben Brunk7b9e9bc2014-02-06 18:37:48 -08001771 case ANDROID_SENSOR_NEUTRAL_COLOR_POINT: {
1772 break;
1773 }
Ruben Brunk2bebe312014-02-06 13:04:38 -08001774 case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP: {
1775 break;
1776 }
1777 case ANDROID_SENSOR_PROFILE_TONE_CURVE: {
1778 break;
1779 }
Igor Murashkina46e02f2014-01-09 17:43:38 -08001780 case ANDROID_SENSOR_TEST_PATTERN_DATA: {
1781 break;
1782 }
1783 case ANDROID_SENSOR_TEST_PATTERN_MODE: {
1784 switch (value) {
1785 case ANDROID_SENSOR_TEST_PATTERN_MODE_OFF:
1786 msg = "OFF";
1787 ret = 0;
1788 break;
1789 case ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
1790 msg = "SOLID_COLOR";
1791 ret = 0;
1792 break;
1793 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
1794 msg = "COLOR_BARS";
1795 ret = 0;
1796 break;
1797 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
1798 msg = "COLOR_BARS_FADE_TO_GRAY";
1799 ret = 0;
1800 break;
1801 case ANDROID_SENSOR_TEST_PATTERN_MODE_PN9:
1802 msg = "PN9";
1803 ret = 0;
1804 break;
1805 case ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
1806 msg = "CUSTOM1";
1807 ret = 0;
1808 break;
1809 default:
1810 msg = "error: enum value out of range";
1811 }
1812 break;
1813 }
1814 case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
1815 break;
1816 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001817
1818 case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
1819 break;
1820 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001821 case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001822 break;
1823 }
1824 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
1825 switch (value) {
1826 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
1827 msg = "RGGB";
1828 ret = 0;
1829 break;
1830 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
1831 msg = "GRBG";
1832 ret = 0;
1833 break;
1834 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
1835 msg = "GBRG";
1836 ret = 0;
1837 break;
1838 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
1839 msg = "BGGR";
1840 ret = 0;
1841 break;
1842 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
1843 msg = "RGB";
1844 ret = 0;
1845 break;
1846 default:
1847 msg = "error: enum value out of range";
1848 }
1849 break;
1850 }
1851 case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
1852 break;
1853 }
1854 case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
1855 break;
1856 }
1857 case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
1858 break;
1859 }
1860 case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
1861 break;
1862 }
1863 case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
1864 break;
1865 }
1866
1867 case ANDROID_SHADING_MODE: {
1868 switch (value) {
1869 case ANDROID_SHADING_MODE_OFF:
1870 msg = "OFF";
1871 ret = 0;
1872 break;
1873 case ANDROID_SHADING_MODE_FAST:
1874 msg = "FAST";
1875 ret = 0;
1876 break;
1877 case ANDROID_SHADING_MODE_HIGH_QUALITY:
1878 msg = "HIGH_QUALITY";
1879 ret = 0;
1880 break;
1881 default:
1882 msg = "error: enum value out of range";
1883 }
1884 break;
1885 }
1886 case ANDROID_SHADING_STRENGTH: {
1887 break;
1888 }
1889
1890 case ANDROID_STATISTICS_FACE_DETECT_MODE: {
1891 switch (value) {
1892 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
1893 msg = "OFF";
1894 ret = 0;
1895 break;
1896 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
1897 msg = "SIMPLE";
1898 ret = 0;
1899 break;
1900 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
1901 msg = "FULL";
1902 ret = 0;
1903 break;
1904 default:
1905 msg = "error: enum value out of range";
1906 }
1907 break;
1908 }
1909 case ANDROID_STATISTICS_HISTOGRAM_MODE: {
1910 switch (value) {
1911 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
1912 msg = "OFF";
1913 ret = 0;
1914 break;
1915 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
1916 msg = "ON";
1917 ret = 0;
1918 break;
1919 default:
1920 msg = "error: enum value out of range";
1921 }
1922 break;
1923 }
1924 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
1925 switch (value) {
1926 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
1927 msg = "OFF";
1928 ret = 0;
1929 break;
1930 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
1931 msg = "ON";
1932 ret = 0;
1933 break;
1934 default:
1935 msg = "error: enum value out of range";
1936 }
1937 break;
1938 }
1939 case ANDROID_STATISTICS_FACE_IDS: {
1940 break;
1941 }
1942 case ANDROID_STATISTICS_FACE_LANDMARKS: {
1943 break;
1944 }
1945 case ANDROID_STATISTICS_FACE_RECTANGLES: {
1946 break;
1947 }
1948 case ANDROID_STATISTICS_FACE_SCORES: {
1949 break;
1950 }
1951 case ANDROID_STATISTICS_HISTOGRAM: {
1952 break;
1953 }
1954 case ANDROID_STATISTICS_SHARPNESS_MAP: {
1955 break;
1956 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001957 case ANDROID_STATISTICS_LENS_SHADING_MAP: {
1958 break;
1959 }
1960 case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
1961 break;
1962 }
1963 case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
1964 break;
1965 }
1966 case ANDROID_STATISTICS_SCENE_FLICKER: {
1967 switch (value) {
1968 case ANDROID_STATISTICS_SCENE_FLICKER_NONE:
1969 msg = "NONE";
1970 ret = 0;
1971 break;
1972 case ANDROID_STATISTICS_SCENE_FLICKER_50HZ:
1973 msg = "50HZ";
1974 ret = 0;
1975 break;
1976 case ANDROID_STATISTICS_SCENE_FLICKER_60HZ:
1977 msg = "60HZ";
1978 ret = 0;
1979 break;
1980 default:
1981 msg = "error: enum value out of range";
1982 }
1983 break;
1984 }
1985 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
1986 switch (value) {
1987 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
1988 msg = "OFF";
1989 ret = 0;
1990 break;
1991 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON:
1992 msg = "ON";
1993 ret = 0;
1994 break;
1995 default:
1996 msg = "error: enum value out of range";
1997 }
1998 break;
1999 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002000
2001 case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
2002 break;
2003 }
2004 case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
2005 break;
2006 }
2007 case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
2008 break;
2009 }
2010 case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
2011 break;
2012 }
2013 case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
2014 break;
2015 }
2016 case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
2017 break;
2018 }
2019
2020 case ANDROID_TONEMAP_CURVE_BLUE: {
2021 break;
2022 }
2023 case ANDROID_TONEMAP_CURVE_GREEN: {
2024 break;
2025 }
2026 case ANDROID_TONEMAP_CURVE_RED: {
2027 break;
2028 }
2029 case ANDROID_TONEMAP_MODE: {
2030 switch (value) {
2031 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
2032 msg = "CONTRAST_CURVE";
2033 ret = 0;
2034 break;
2035 case ANDROID_TONEMAP_MODE_FAST:
2036 msg = "FAST";
2037 ret = 0;
2038 break;
2039 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
2040 msg = "HIGH_QUALITY";
2041 ret = 0;
2042 break;
2043 default:
2044 msg = "error: enum value out of range";
2045 }
2046 break;
2047 }
2048 case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
2049 break;
2050 }
2051
Igor Murashkinc469f7d2013-04-23 14:31:02 -07002052 case ANDROID_LED_TRANSMIT: {
2053 switch (value) {
2054 case ANDROID_LED_TRANSMIT_OFF:
2055 msg = "OFF";
2056 ret = 0;
2057 break;
2058 case ANDROID_LED_TRANSMIT_ON:
2059 msg = "ON";
2060 ret = 0;
2061 break;
2062 default:
2063 msg = "error: enum value out of range";
2064 }
2065 break;
2066 }
2067 case ANDROID_LED_AVAILABLE_LEDS: {
2068 switch (value) {
2069 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
2070 msg = "TRANSMIT";
2071 ret = 0;
2072 break;
2073 default:
2074 msg = "error: enum value out of range";
2075 }
2076 break;
2077 }
2078
Igor Murashkin38b8cae2013-05-23 16:38:59 -07002079 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
2080 switch (value) {
2081 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
2082 msg = "LIMITED";
2083 ret = 0;
2084 break;
2085 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
2086 msg = "FULL";
2087 ret = 0;
2088 break;
2089 default:
2090 msg = "error: enum value out of range";
2091 }
2092 break;
2093 }
2094
Zhijun He69fc0ea2013-07-17 09:42:58 -07002095 case ANDROID_BLACK_LEVEL_LOCK: {
2096 switch (value) {
2097 case ANDROID_BLACK_LEVEL_LOCK_OFF:
2098 msg = "OFF";
2099 ret = 0;
2100 break;
2101 case ANDROID_BLACK_LEVEL_LOCK_ON:
2102 msg = "ON";
2103 ret = 0;
2104 break;
2105 default:
2106 msg = "error: enum value out of range";
2107 }
2108 break;
2109 }
2110
Igor Murashkin5c1fc682014-01-16 17:51:36 -08002111 case ANDROID_SYNC_FRAME_NUMBER: {
2112 switch (value) {
2113 case ANDROID_SYNC_FRAME_NUMBER_CONVERGING:
2114 msg = "CONVERGING";
2115 ret = 0;
2116 break;
2117 case ANDROID_SYNC_FRAME_NUMBER_UNKNOWN:
2118 msg = "UNKNOWN";
2119 ret = 0;
2120 break;
2121 default:
2122 msg = "error: enum value out of range";
2123 }
2124 break;
2125 }
2126 case ANDROID_SYNC_MAX_LATENCY: {
2127 switch (value) {
2128 case ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
2129 msg = "PER_FRAME_CONTROL";
2130 ret = 0;
2131 break;
2132 case ANDROID_SYNC_MAX_LATENCY_UNKNOWN:
2133 msg = "UNKNOWN";
2134 ret = 0;
2135 break;
2136 default:
2137 msg = "error: enum value out of range";
2138 }
2139 break;
2140 }
2141
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002142 }
2143
2144 strncpy(dst, msg, size - 1);
2145 dst[size - 1] = '\0';
2146
2147 return ret;
2148}
2149
2150
Igor Murashkina46e02f2014-01-09 17:43:38 -08002151#define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 24