blob: dd215b48a0aa09f83a24a6d01a5ff9d1261265f1 [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 Murashkin08b8aad2012-11-29 15:23:03 -0800405};
406
407static tag_info_t android_sensor[ANDROID_SENSOR_END -
408 ANDROID_SENSOR_START] = {
409 [ ANDROID_SENSOR_EXPOSURE_TIME - ANDROID_SENSOR_START ] =
410 { "exposureTime", TYPE_INT64 },
411 [ ANDROID_SENSOR_FRAME_DURATION - ANDROID_SENSOR_START ] =
412 { "frameDuration", TYPE_INT64 },
413 [ ANDROID_SENSOR_SENSITIVITY - ANDROID_SENSOR_START ] =
414 { "sensitivity", TYPE_INT32 },
415 [ ANDROID_SENSOR_BASE_GAIN_FACTOR - ANDROID_SENSOR_START ] =
416 { "baseGainFactor", TYPE_RATIONAL
417 },
418 [ ANDROID_SENSOR_BLACK_LEVEL_PATTERN - ANDROID_SENSOR_START ] =
419 { "blackLevelPattern", TYPE_INT32 },
420 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM1 - ANDROID_SENSOR_START ] =
421 { "calibrationTransform1", TYPE_RATIONAL
422 },
423 [ ANDROID_SENSOR_CALIBRATION_TRANSFORM2 - ANDROID_SENSOR_START ] =
424 { "calibrationTransform2", TYPE_RATIONAL
425 },
426 [ ANDROID_SENSOR_COLOR_TRANSFORM1 - ANDROID_SENSOR_START ] =
427 { "colorTransform1", TYPE_RATIONAL
428 },
429 [ ANDROID_SENSOR_COLOR_TRANSFORM2 - ANDROID_SENSOR_START ] =
430 { "colorTransform2", TYPE_RATIONAL
431 },
432 [ ANDROID_SENSOR_FORWARD_MATRIX1 - ANDROID_SENSOR_START ] =
433 { "forwardMatrix1", TYPE_RATIONAL
434 },
435 [ ANDROID_SENSOR_FORWARD_MATRIX2 - ANDROID_SENSOR_START ] =
436 { "forwardMatrix2", TYPE_RATIONAL
437 },
438 [ ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY - ANDROID_SENSOR_START ] =
439 { "maxAnalogSensitivity", TYPE_INT32 },
440 [ ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS - ANDROID_SENSOR_START ] =
441 { "noiseModelCoefficients", TYPE_FLOAT },
442 [ ANDROID_SENSOR_ORIENTATION - ANDROID_SENSOR_START ] =
443 { "orientation", TYPE_INT32 },
444 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT1 - ANDROID_SENSOR_START ] =
445 { "referenceIlluminant1", TYPE_BYTE },
446 [ ANDROID_SENSOR_REFERENCE_ILLUMINANT2 - ANDROID_SENSOR_START ] =
447 { "referenceIlluminant2", TYPE_BYTE },
448 [ ANDROID_SENSOR_TIMESTAMP - ANDROID_SENSOR_START ] =
449 { "timestamp", TYPE_INT64 },
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700450 [ ANDROID_SENSOR_TEMPERATURE - ANDROID_SENSOR_START ] =
451 { "temperature", TYPE_FLOAT },
Ruben Brunk7b9e9bc2014-02-06 18:37:48 -0800452 [ ANDROID_SENSOR_NEUTRAL_COLOR_POINT - ANDROID_SENSOR_START ] =
453 { "neutralColorPoint", TYPE_RATIONAL
454 },
Igor Murashkina46e02f2014-01-09 17:43:38 -0800455 [ ANDROID_SENSOR_TEST_PATTERN_DATA - ANDROID_SENSOR_START ] =
456 { "testPatternData", TYPE_INT32 },
457 [ ANDROID_SENSOR_TEST_PATTERN_MODE - ANDROID_SENSOR_START ] =
458 { "testPatternMode", TYPE_INT32 },
459 [ ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES - ANDROID_SENSOR_START ] =
460 { "availableTestPatternModes", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800461};
462
463static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
464 ANDROID_SENSOR_INFO_START] = {
465 [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
466 { "activeArraySize", TYPE_INT32 },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700467 [ ANDROID_SENSOR_INFO_SENSITIVITY_RANGE - ANDROID_SENSOR_INFO_START ] =
468 { "sensitivityRange", TYPE_INT32 },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800469 [ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT - ANDROID_SENSOR_INFO_START ] =
470 { "colorFilterArrangement", TYPE_BYTE },
471 [ ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE - ANDROID_SENSOR_INFO_START ] =
472 { "exposureTimeRange", TYPE_INT64 },
473 [ ANDROID_SENSOR_INFO_MAX_FRAME_DURATION - ANDROID_SENSOR_INFO_START ] =
474 { "maxFrameDuration", TYPE_INT64 },
475 [ ANDROID_SENSOR_INFO_PHYSICAL_SIZE - ANDROID_SENSOR_INFO_START ] =
476 { "physicalSize", TYPE_FLOAT },
477 [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
478 { "pixelArraySize", TYPE_INT32 },
479 [ ANDROID_SENSOR_INFO_WHITE_LEVEL - ANDROID_SENSOR_INFO_START ] =
480 { "whiteLevel", TYPE_INT32 },
481};
482
483static tag_info_t android_shading[ANDROID_SHADING_END -
484 ANDROID_SHADING_START] = {
485 [ ANDROID_SHADING_MODE - ANDROID_SHADING_START ] =
486 { "mode", TYPE_BYTE },
487 [ ANDROID_SHADING_STRENGTH - ANDROID_SHADING_START ] =
488 { "strength", TYPE_BYTE },
489};
490
491static tag_info_t android_statistics[ANDROID_STATISTICS_END -
492 ANDROID_STATISTICS_START] = {
493 [ ANDROID_STATISTICS_FACE_DETECT_MODE - ANDROID_STATISTICS_START ] =
494 { "faceDetectMode", TYPE_BYTE },
495 [ ANDROID_STATISTICS_HISTOGRAM_MODE - ANDROID_STATISTICS_START ] =
496 { "histogramMode", TYPE_BYTE },
497 [ ANDROID_STATISTICS_SHARPNESS_MAP_MODE - ANDROID_STATISTICS_START ] =
498 { "sharpnessMapMode", TYPE_BYTE },
499 [ ANDROID_STATISTICS_FACE_IDS - ANDROID_STATISTICS_START ] =
500 { "faceIds", TYPE_INT32 },
501 [ ANDROID_STATISTICS_FACE_LANDMARKS - ANDROID_STATISTICS_START ] =
502 { "faceLandmarks", TYPE_INT32 },
503 [ ANDROID_STATISTICS_FACE_RECTANGLES - ANDROID_STATISTICS_START ] =
504 { "faceRectangles", TYPE_INT32 },
505 [ ANDROID_STATISTICS_FACE_SCORES - ANDROID_STATISTICS_START ] =
506 { "faceScores", TYPE_BYTE },
507 [ ANDROID_STATISTICS_HISTOGRAM - ANDROID_STATISTICS_START ] =
508 { "histogram", TYPE_INT32 },
509 [ ANDROID_STATISTICS_SHARPNESS_MAP - ANDROID_STATISTICS_START ] =
510 { "sharpnessMap", TYPE_INT32 },
Zhijun He69fc0ea2013-07-17 09:42:58 -0700511 [ ANDROID_STATISTICS_LENS_SHADING_MAP - ANDROID_STATISTICS_START ] =
512 { "lensShadingMap", TYPE_FLOAT },
513 [ ANDROID_STATISTICS_PREDICTED_COLOR_GAINS - ANDROID_STATISTICS_START ] =
514 { "predictedColorGains", TYPE_FLOAT },
515 [ ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM - ANDROID_STATISTICS_START ] =
516 { "predictedColorTransform", TYPE_RATIONAL
517 },
518 [ ANDROID_STATISTICS_SCENE_FLICKER - ANDROID_STATISTICS_START ] =
519 { "sceneFlicker", TYPE_BYTE },
520 [ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE - ANDROID_STATISTICS_START ] =
521 { "lensShadingMapMode", TYPE_BYTE },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800522};
523
524static tag_info_t android_statistics_info[ANDROID_STATISTICS_INFO_END -
525 ANDROID_STATISTICS_INFO_START] = {
526 [ ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES - ANDROID_STATISTICS_INFO_START ] =
527 { "availableFaceDetectModes", TYPE_BYTE },
528 [ ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT - ANDROID_STATISTICS_INFO_START ] =
529 { "histogramBucketCount", TYPE_INT32 },
530 [ ANDROID_STATISTICS_INFO_MAX_FACE_COUNT - ANDROID_STATISTICS_INFO_START ] =
531 { "maxFaceCount", TYPE_INT32 },
532 [ ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT - ANDROID_STATISTICS_INFO_START ] =
533 { "maxHistogramCount", TYPE_INT32 },
534 [ ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE - ANDROID_STATISTICS_INFO_START ] =
535 { "maxSharpnessMapValue", TYPE_INT32 },
536 [ ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE - ANDROID_STATISTICS_INFO_START ] =
537 { "sharpnessMapSize", TYPE_INT32 },
538};
539
540static tag_info_t android_tonemap[ANDROID_TONEMAP_END -
541 ANDROID_TONEMAP_START] = {
542 [ ANDROID_TONEMAP_CURVE_BLUE - ANDROID_TONEMAP_START ] =
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800543 { "curveBlue", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800544 [ ANDROID_TONEMAP_CURVE_GREEN - ANDROID_TONEMAP_START ] =
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800545 { "curveGreen", TYPE_FLOAT },
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800546 [ ANDROID_TONEMAP_CURVE_RED - ANDROID_TONEMAP_START ] =
547 { "curveRed", TYPE_FLOAT },
548 [ ANDROID_TONEMAP_MODE - ANDROID_TONEMAP_START ] =
549 { "mode", TYPE_BYTE },
550 [ ANDROID_TONEMAP_MAX_CURVE_POINTS - ANDROID_TONEMAP_START ] =
551 { "maxCurvePoints", TYPE_INT32 },
552};
553
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700554static tag_info_t android_led[ANDROID_LED_END -
555 ANDROID_LED_START] = {
556 [ ANDROID_LED_TRANSMIT - ANDROID_LED_START ] =
557 { "transmit", TYPE_BYTE },
558 [ ANDROID_LED_AVAILABLE_LEDS - ANDROID_LED_START ] =
559 { "availableLeds", TYPE_BYTE },
560};
561
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700562static tag_info_t android_info[ANDROID_INFO_END -
563 ANDROID_INFO_START] = {
564 [ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL - ANDROID_INFO_START ] =
565 { "supportedHardwareLevel", TYPE_BYTE },
566};
567
Zhijun He69fc0ea2013-07-17 09:42:58 -0700568static tag_info_t android_black_level[ANDROID_BLACK_LEVEL_END -
569 ANDROID_BLACK_LEVEL_START] = {
570 [ ANDROID_BLACK_LEVEL_LOCK - ANDROID_BLACK_LEVEL_START ] =
571 { "lock", TYPE_BYTE },
572};
573
Igor Murashkin5c1fc682014-01-16 17:51:36 -0800574static tag_info_t android_sync[ANDROID_SYNC_END -
575 ANDROID_SYNC_START] = {
576 [ ANDROID_SYNC_FRAME_NUMBER - ANDROID_SYNC_START ] =
577 { "frameNumber", TYPE_INT64 },
578 [ ANDROID_SYNC_MAX_LATENCY - ANDROID_SYNC_START ] =
579 { "maxLatency", TYPE_INT32 },
580};
581
Eino-Ville Talvala623ff652012-04-11 16:15:50 -0700582
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800583tag_info_t *tag_info[ANDROID_SECTION_COUNT] = {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800584 android_color_correction,
585 android_control,
586 android_demosaic,
587 android_edge,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800588 android_flash,
589 android_flash_info,
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800590 android_geometric,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800591 android_hot_pixel,
592 android_hot_pixel_info,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800593 android_jpeg,
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800594 android_lens,
595 android_lens_info,
596 android_noise_reduction,
597 android_quirks,
598 android_request,
599 android_scaler,
600 android_sensor,
601 android_sensor_info,
602 android_shading,
603 android_statistics,
604 android_statistics_info,
605 android_tonemap,
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700606 android_led,
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700607 android_info,
Zhijun He69fc0ea2013-07-17 09:42:58 -0700608 android_black_level,
Igor Murashkin5c1fc682014-01-16 17:51:36 -0800609 android_sync,
Eino-Ville Talvalad8afb4d2012-02-10 14:27:08 -0800610};
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800611
612int camera_metadata_enum_snprint(uint32_t tag,
613 uint32_t value,
614 char *dst,
615 size_t size) {
616 const char *msg = "error: not an enum";
617 int ret = -1;
618
619 switch(tag) {
620 case ANDROID_COLOR_CORRECTION_MODE: {
621 switch (value) {
622 case ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
623 msg = "TRANSFORM_MATRIX";
624 ret = 0;
625 break;
626 case ANDROID_COLOR_CORRECTION_MODE_FAST:
627 msg = "FAST";
628 ret = 0;
629 break;
630 case ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY:
631 msg = "HIGH_QUALITY";
632 ret = 0;
633 break;
634 default:
635 msg = "error: enum value out of range";
636 }
637 break;
638 }
639 case ANDROID_COLOR_CORRECTION_TRANSFORM: {
640 break;
641 }
Zhijun He69fc0ea2013-07-17 09:42:58 -0700642 case ANDROID_COLOR_CORRECTION_GAINS: {
643 break;
644 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800645
646 case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
647 switch (value) {
648 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF:
649 msg = "OFF";
650 ret = 0;
651 break;
652 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ:
653 msg = "50HZ";
654 ret = 0;
655 break;
656 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ:
657 msg = "60HZ";
658 ret = 0;
659 break;
660 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO:
661 msg = "AUTO";
662 ret = 0;
663 break;
664 default:
665 msg = "error: enum value out of range";
666 }
667 break;
668 }
669 case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
670 break;
671 }
672 case ANDROID_CONTROL_AE_LOCK: {
673 switch (value) {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800674 case ANDROID_CONTROL_AE_LOCK_OFF:
675 msg = "OFF";
676 ret = 0;
677 break;
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800678 case ANDROID_CONTROL_AE_LOCK_ON:
679 msg = "ON";
680 ret = 0;
681 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800682 default:
683 msg = "error: enum value out of range";
684 }
685 break;
686 }
687 case ANDROID_CONTROL_AE_MODE: {
688 switch (value) {
689 case ANDROID_CONTROL_AE_MODE_OFF:
690 msg = "OFF";
691 ret = 0;
692 break;
693 case ANDROID_CONTROL_AE_MODE_ON:
694 msg = "ON";
695 ret = 0;
696 break;
697 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:
698 msg = "ON_AUTO_FLASH";
699 ret = 0;
700 break;
701 case ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
702 msg = "ON_ALWAYS_FLASH";
703 ret = 0;
704 break;
705 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
706 msg = "ON_AUTO_FLASH_REDEYE";
707 ret = 0;
708 break;
709 default:
710 msg = "error: enum value out of range";
711 }
712 break;
713 }
714 case ANDROID_CONTROL_AE_REGIONS: {
715 break;
716 }
717 case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
718 break;
719 }
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700720 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
721 switch (value) {
722 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
723 msg = "IDLE";
724 ret = 0;
725 break;
726 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START:
727 msg = "START";
728 ret = 0;
729 break;
730 default:
731 msg = "error: enum value out of range";
732 }
733 break;
734 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800735 case ANDROID_CONTROL_AF_MODE: {
736 switch (value) {
737 case ANDROID_CONTROL_AF_MODE_OFF:
738 msg = "OFF";
739 ret = 0;
740 break;
741 case ANDROID_CONTROL_AF_MODE_AUTO:
742 msg = "AUTO";
743 ret = 0;
744 break;
745 case ANDROID_CONTROL_AF_MODE_MACRO:
746 msg = "MACRO";
747 ret = 0;
748 break;
749 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
750 msg = "CONTINUOUS_VIDEO";
751 ret = 0;
752 break;
753 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
754 msg = "CONTINUOUS_PICTURE";
755 ret = 0;
756 break;
757 case ANDROID_CONTROL_AF_MODE_EDOF:
758 msg = "EDOF";
759 ret = 0;
760 break;
761 default:
762 msg = "error: enum value out of range";
763 }
764 break;
765 }
766 case ANDROID_CONTROL_AF_REGIONS: {
767 break;
768 }
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700769 case ANDROID_CONTROL_AF_TRIGGER: {
770 switch (value) {
771 case ANDROID_CONTROL_AF_TRIGGER_IDLE:
772 msg = "IDLE";
773 ret = 0;
774 break;
775 case ANDROID_CONTROL_AF_TRIGGER_START:
776 msg = "START";
777 ret = 0;
778 break;
779 case ANDROID_CONTROL_AF_TRIGGER_CANCEL:
780 msg = "CANCEL";
781 ret = 0;
782 break;
783 default:
784 msg = "error: enum value out of range";
785 }
786 break;
787 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800788 case ANDROID_CONTROL_AWB_LOCK: {
789 switch (value) {
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800790 case ANDROID_CONTROL_AWB_LOCK_OFF:
791 msg = "OFF";
792 ret = 0;
793 break;
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800794 case ANDROID_CONTROL_AWB_LOCK_ON:
795 msg = "ON";
796 ret = 0;
797 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800798 default:
799 msg = "error: enum value out of range";
800 }
801 break;
802 }
803 case ANDROID_CONTROL_AWB_MODE: {
804 switch (value) {
805 case ANDROID_CONTROL_AWB_MODE_OFF:
806 msg = "OFF";
807 ret = 0;
808 break;
809 case ANDROID_CONTROL_AWB_MODE_AUTO:
810 msg = "AUTO";
811 ret = 0;
812 break;
813 case ANDROID_CONTROL_AWB_MODE_INCANDESCENT:
814 msg = "INCANDESCENT";
815 ret = 0;
816 break;
817 case ANDROID_CONTROL_AWB_MODE_FLUORESCENT:
818 msg = "FLUORESCENT";
819 ret = 0;
820 break;
821 case ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT:
822 msg = "WARM_FLUORESCENT";
823 ret = 0;
824 break;
825 case ANDROID_CONTROL_AWB_MODE_DAYLIGHT:
826 msg = "DAYLIGHT";
827 ret = 0;
828 break;
829 case ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
830 msg = "CLOUDY_DAYLIGHT";
831 ret = 0;
832 break;
833 case ANDROID_CONTROL_AWB_MODE_TWILIGHT:
834 msg = "TWILIGHT";
835 ret = 0;
836 break;
837 case ANDROID_CONTROL_AWB_MODE_SHADE:
838 msg = "SHADE";
839 ret = 0;
840 break;
841 default:
842 msg = "error: enum value out of range";
843 }
844 break;
845 }
846 case ANDROID_CONTROL_AWB_REGIONS: {
847 break;
848 }
849 case ANDROID_CONTROL_CAPTURE_INTENT: {
850 switch (value) {
851 case ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM:
852 msg = "CUSTOM";
853 ret = 0;
854 break;
855 case ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW:
856 msg = "PREVIEW";
857 ret = 0;
858 break;
859 case ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
860 msg = "STILL_CAPTURE";
861 ret = 0;
862 break;
863 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
864 msg = "VIDEO_RECORD";
865 ret = 0;
866 break;
867 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
868 msg = "VIDEO_SNAPSHOT";
869 ret = 0;
870 break;
871 case ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
872 msg = "ZERO_SHUTTER_LAG";
873 ret = 0;
874 break;
875 default:
876 msg = "error: enum value out of range";
877 }
878 break;
879 }
880 case ANDROID_CONTROL_EFFECT_MODE: {
881 switch (value) {
882 case ANDROID_CONTROL_EFFECT_MODE_OFF:
883 msg = "OFF";
884 ret = 0;
885 break;
886 case ANDROID_CONTROL_EFFECT_MODE_MONO:
887 msg = "MONO";
888 ret = 0;
889 break;
890 case ANDROID_CONTROL_EFFECT_MODE_NEGATIVE:
891 msg = "NEGATIVE";
892 ret = 0;
893 break;
894 case ANDROID_CONTROL_EFFECT_MODE_SOLARIZE:
895 msg = "SOLARIZE";
896 ret = 0;
897 break;
898 case ANDROID_CONTROL_EFFECT_MODE_SEPIA:
899 msg = "SEPIA";
900 ret = 0;
901 break;
902 case ANDROID_CONTROL_EFFECT_MODE_POSTERIZE:
903 msg = "POSTERIZE";
904 ret = 0;
905 break;
906 case ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD:
907 msg = "WHITEBOARD";
908 ret = 0;
909 break;
910 case ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD:
911 msg = "BLACKBOARD";
912 ret = 0;
913 break;
914 case ANDROID_CONTROL_EFFECT_MODE_AQUA:
915 msg = "AQUA";
916 ret = 0;
917 break;
918 default:
919 msg = "error: enum value out of range";
920 }
921 break;
922 }
923 case ANDROID_CONTROL_MODE: {
924 switch (value) {
925 case ANDROID_CONTROL_MODE_OFF:
926 msg = "OFF";
927 ret = 0;
928 break;
929 case ANDROID_CONTROL_MODE_AUTO:
930 msg = "AUTO";
931 ret = 0;
932 break;
933 case ANDROID_CONTROL_MODE_USE_SCENE_MODE:
934 msg = "USE_SCENE_MODE";
935 ret = 0;
936 break;
937 default:
938 msg = "error: enum value out of range";
939 }
940 break;
941 }
942 case ANDROID_CONTROL_SCENE_MODE: {
943 switch (value) {
Ruben Brunk9e28ea72014-01-14 18:55:29 -0800944 case ANDROID_CONTROL_SCENE_MODE_DISABLED:
945 msg = "DISABLED";
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800946 ret = 0;
947 break;
948 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
949 msg = "FACE_PRIORITY";
950 ret = 0;
951 break;
952 case ANDROID_CONTROL_SCENE_MODE_ACTION:
953 msg = "ACTION";
954 ret = 0;
955 break;
956 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
957 msg = "PORTRAIT";
958 ret = 0;
959 break;
960 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
961 msg = "LANDSCAPE";
962 ret = 0;
963 break;
964 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
965 msg = "NIGHT";
966 ret = 0;
967 break;
968 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
969 msg = "NIGHT_PORTRAIT";
970 ret = 0;
971 break;
972 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
973 msg = "THEATRE";
974 ret = 0;
975 break;
976 case ANDROID_CONTROL_SCENE_MODE_BEACH:
977 msg = "BEACH";
978 ret = 0;
979 break;
980 case ANDROID_CONTROL_SCENE_MODE_SNOW:
981 msg = "SNOW";
982 ret = 0;
983 break;
984 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
985 msg = "SUNSET";
986 ret = 0;
987 break;
988 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
989 msg = "STEADYPHOTO";
990 ret = 0;
991 break;
992 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
993 msg = "FIREWORKS";
994 ret = 0;
995 break;
996 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
997 msg = "SPORTS";
998 ret = 0;
999 break;
1000 case ANDROID_CONTROL_SCENE_MODE_PARTY:
1001 msg = "PARTY";
1002 ret = 0;
1003 break;
1004 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
1005 msg = "CANDLELIGHT";
1006 ret = 0;
1007 break;
1008 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
1009 msg = "BARCODE";
1010 ret = 0;
1011 break;
1012 default:
1013 msg = "error: enum value out of range";
1014 }
1015 break;
1016 }
1017 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
1018 switch (value) {
1019 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
1020 msg = "OFF";
1021 ret = 0;
1022 break;
1023 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
1024 msg = "ON";
1025 ret = 0;
1026 break;
1027 default:
1028 msg = "error: enum value out of range";
1029 }
1030 break;
1031 }
1032 case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
1033 break;
1034 }
1035 case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
1036 break;
1037 }
1038 case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
1039 break;
1040 }
1041 case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
1042 break;
1043 }
1044 case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
1045 break;
1046 }
1047 case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
1048 break;
1049 }
1050 case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
1051 break;
1052 }
1053 case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
1054 break;
1055 }
1056 case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
1057 break;
1058 }
1059 case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
1060 break;
1061 }
1062 case ANDROID_CONTROL_MAX_REGIONS: {
1063 break;
1064 }
1065 case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
1066 break;
1067 }
1068 case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1069 break;
1070 }
1071 case ANDROID_CONTROL_AE_STATE: {
1072 switch (value) {
1073 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1074 msg = "INACTIVE";
1075 ret = 0;
1076 break;
1077 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1078 msg = "SEARCHING";
1079 ret = 0;
1080 break;
1081 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1082 msg = "CONVERGED";
1083 ret = 0;
1084 break;
1085 case ANDROID_CONTROL_AE_STATE_LOCKED:
1086 msg = "LOCKED";
1087 ret = 0;
1088 break;
1089 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1090 msg = "FLASH_REQUIRED";
1091 ret = 0;
1092 break;
1093 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1094 msg = "PRECAPTURE";
1095 ret = 0;
1096 break;
1097 default:
1098 msg = "error: enum value out of range";
1099 }
1100 break;
1101 }
1102 case ANDROID_CONTROL_AF_STATE: {
1103 switch (value) {
1104 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1105 msg = "INACTIVE";
1106 ret = 0;
1107 break;
1108 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1109 msg = "PASSIVE_SCAN";
1110 ret = 0;
1111 break;
1112 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1113 msg = "PASSIVE_FOCUSED";
1114 ret = 0;
1115 break;
1116 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1117 msg = "ACTIVE_SCAN";
1118 ret = 0;
1119 break;
1120 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1121 msg = "FOCUSED_LOCKED";
1122 ret = 0;
1123 break;
1124 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1125 msg = "NOT_FOCUSED_LOCKED";
1126 ret = 0;
1127 break;
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07001128 case ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
1129 msg = "PASSIVE_UNFOCUSED";
1130 ret = 0;
1131 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132 default:
1133 msg = "error: enum value out of range";
1134 }
1135 break;
1136 }
1137 case ANDROID_CONTROL_AF_TRIGGER_ID: {
1138 break;
1139 }
1140 case ANDROID_CONTROL_AWB_STATE: {
1141 switch (value) {
1142 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1143 msg = "INACTIVE";
1144 ret = 0;
1145 break;
1146 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1147 msg = "SEARCHING";
1148 ret = 0;
1149 break;
1150 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1151 msg = "CONVERGED";
1152 ret = 0;
1153 break;
1154 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1155 msg = "LOCKED";
1156 ret = 0;
1157 break;
1158 default:
1159 msg = "error: enum value out of range";
1160 }
1161 break;
1162 }
1163
1164 case ANDROID_DEMOSAIC_MODE: {
1165 switch (value) {
1166 case ANDROID_DEMOSAIC_MODE_FAST:
1167 msg = "FAST";
1168 ret = 0;
1169 break;
1170 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
1171 msg = "HIGH_QUALITY";
1172 ret = 0;
1173 break;
1174 default:
1175 msg = "error: enum value out of range";
1176 }
1177 break;
1178 }
1179
1180 case ANDROID_EDGE_MODE: {
1181 switch (value) {
1182 case ANDROID_EDGE_MODE_OFF:
1183 msg = "OFF";
1184 ret = 0;
1185 break;
1186 case ANDROID_EDGE_MODE_FAST:
1187 msg = "FAST";
1188 ret = 0;
1189 break;
1190 case ANDROID_EDGE_MODE_HIGH_QUALITY:
1191 msg = "HIGH_QUALITY";
1192 ret = 0;
1193 break;
1194 default:
1195 msg = "error: enum value out of range";
1196 }
1197 break;
1198 }
1199 case ANDROID_EDGE_STRENGTH: {
1200 break;
1201 }
1202
1203 case ANDROID_FLASH_FIRING_POWER: {
1204 break;
1205 }
1206 case ANDROID_FLASH_FIRING_TIME: {
1207 break;
1208 }
1209 case ANDROID_FLASH_MODE: {
1210 switch (value) {
1211 case ANDROID_FLASH_MODE_OFF:
1212 msg = "OFF";
1213 ret = 0;
1214 break;
1215 case ANDROID_FLASH_MODE_SINGLE:
1216 msg = "SINGLE";
1217 ret = 0;
1218 break;
1219 case ANDROID_FLASH_MODE_TORCH:
1220 msg = "TORCH";
1221 ret = 0;
1222 break;
1223 default:
1224 msg = "error: enum value out of range";
1225 }
1226 break;
1227 }
1228 case ANDROID_FLASH_COLOR_TEMPERATURE: {
1229 break;
1230 }
1231 case ANDROID_FLASH_MAX_ENERGY: {
1232 break;
1233 }
1234 case ANDROID_FLASH_STATE: {
1235 switch (value) {
1236 case ANDROID_FLASH_STATE_UNAVAILABLE:
1237 msg = "UNAVAILABLE";
1238 ret = 0;
1239 break;
1240 case ANDROID_FLASH_STATE_CHARGING:
1241 msg = "CHARGING";
1242 ret = 0;
1243 break;
1244 case ANDROID_FLASH_STATE_READY:
1245 msg = "READY";
1246 ret = 0;
1247 break;
1248 case ANDROID_FLASH_STATE_FIRED:
1249 msg = "FIRED";
1250 ret = 0;
1251 break;
1252 default:
1253 msg = "error: enum value out of range";
1254 }
1255 break;
1256 }
1257
1258 case ANDROID_FLASH_INFO_AVAILABLE: {
Zhijun He5169ce12014-01-24 16:48:25 -08001259 switch (value) {
1260 case ANDROID_FLASH_INFO_AVAILABLE_FALSE:
1261 msg = "FALSE";
1262 ret = 0;
1263 break;
1264 case ANDROID_FLASH_INFO_AVAILABLE_TRUE:
1265 msg = "TRUE";
1266 ret = 0;
1267 break;
1268 default:
1269 msg = "error: enum value out of range";
1270 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001271 break;
1272 }
1273 case ANDROID_FLASH_INFO_CHARGE_DURATION: {
1274 break;
1275 }
1276
1277 case ANDROID_GEOMETRIC_MODE: {
1278 switch (value) {
1279 case ANDROID_GEOMETRIC_MODE_OFF:
1280 msg = "OFF";
1281 ret = 0;
1282 break;
1283 case ANDROID_GEOMETRIC_MODE_FAST:
1284 msg = "FAST";
1285 ret = 0;
1286 break;
1287 case ANDROID_GEOMETRIC_MODE_HIGH_QUALITY:
1288 msg = "HIGH_QUALITY";
1289 ret = 0;
1290 break;
1291 default:
1292 msg = "error: enum value out of range";
1293 }
1294 break;
1295 }
1296 case ANDROID_GEOMETRIC_STRENGTH: {
1297 break;
1298 }
1299
1300 case ANDROID_HOT_PIXEL_MODE: {
1301 switch (value) {
1302 case ANDROID_HOT_PIXEL_MODE_OFF:
1303 msg = "OFF";
1304 ret = 0;
1305 break;
1306 case ANDROID_HOT_PIXEL_MODE_FAST:
1307 msg = "FAST";
1308 ret = 0;
1309 break;
1310 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
1311 msg = "HIGH_QUALITY";
1312 ret = 0;
1313 break;
1314 default:
1315 msg = "error: enum value out of range";
1316 }
1317 break;
1318 }
1319
1320 case ANDROID_HOT_PIXEL_INFO_MAP: {
1321 break;
1322 }
1323
1324 case ANDROID_JPEG_GPS_COORDINATES: {
1325 break;
1326 }
1327 case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
1328 break;
1329 }
1330 case ANDROID_JPEG_GPS_TIMESTAMP: {
1331 break;
1332 }
1333 case ANDROID_JPEG_ORIENTATION: {
1334 break;
1335 }
1336 case ANDROID_JPEG_QUALITY: {
1337 break;
1338 }
1339 case ANDROID_JPEG_THUMBNAIL_QUALITY: {
1340 break;
1341 }
1342 case ANDROID_JPEG_THUMBNAIL_SIZE: {
1343 break;
1344 }
1345 case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
1346 break;
1347 }
1348 case ANDROID_JPEG_MAX_SIZE: {
1349 break;
1350 }
1351 case ANDROID_JPEG_SIZE: {
1352 break;
1353 }
1354
1355 case ANDROID_LENS_APERTURE: {
1356 break;
1357 }
1358 case ANDROID_LENS_FILTER_DENSITY: {
1359 break;
1360 }
1361 case ANDROID_LENS_FOCAL_LENGTH: {
1362 break;
1363 }
1364 case ANDROID_LENS_FOCUS_DISTANCE: {
1365 break;
1366 }
1367 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
1368 switch (value) {
1369 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
1370 msg = "OFF";
1371 ret = 0;
1372 break;
1373 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
1374 msg = "ON";
1375 ret = 0;
1376 break;
1377 default:
1378 msg = "error: enum value out of range";
1379 }
1380 break;
1381 }
1382 case ANDROID_LENS_FACING: {
1383 switch (value) {
1384 case ANDROID_LENS_FACING_FRONT:
1385 msg = "FRONT";
1386 ret = 0;
1387 break;
1388 case ANDROID_LENS_FACING_BACK:
1389 msg = "BACK";
1390 ret = 0;
1391 break;
1392 default:
1393 msg = "error: enum value out of range";
1394 }
1395 break;
1396 }
1397 case ANDROID_LENS_OPTICAL_AXIS_ANGLE: {
1398 break;
1399 }
1400 case ANDROID_LENS_POSITION: {
1401 break;
1402 }
1403 case ANDROID_LENS_FOCUS_RANGE: {
1404 break;
1405 }
1406 case ANDROID_LENS_STATE: {
1407 switch (value) {
1408 case ANDROID_LENS_STATE_STATIONARY:
1409 msg = "STATIONARY";
1410 ret = 0;
1411 break;
Igor Murashkin0e323a12013-09-06 11:50:48 -07001412 case ANDROID_LENS_STATE_MOVING:
1413 msg = "MOVING";
1414 ret = 0;
1415 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001416 default:
1417 msg = "error: enum value out of range";
1418 }
1419 break;
1420 }
1421
1422 case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
1423 break;
1424 }
1425 case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
1426 break;
1427 }
1428 case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
1429 break;
1430 }
1431 case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
1432 break;
1433 }
1434 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP: {
1435 break;
1436 }
1437 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE: {
1438 break;
1439 }
1440 case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
1441 break;
1442 }
1443 case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
1444 break;
1445 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001446 case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
1447 break;
1448 }
Zhijun Hef92c76a2014-02-06 01:40:35 -08001449 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: {
1450 switch (value) {
1451 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
1452 msg = "UNCALIBRATED";
1453 ret = 0;
1454 break;
1455 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
1456 msg = "APPROXIMATE";
1457 ret = 0;
1458 break;
1459 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
1460 msg = "CALIBRATED";
1461 ret = 0;
1462 break;
1463 default:
1464 msg = "error: enum value out of range";
1465 }
1466 break;
1467 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001468
1469 case ANDROID_NOISE_REDUCTION_MODE: {
1470 switch (value) {
1471 case ANDROID_NOISE_REDUCTION_MODE_OFF:
1472 msg = "OFF";
1473 ret = 0;
1474 break;
1475 case ANDROID_NOISE_REDUCTION_MODE_FAST:
1476 msg = "FAST";
1477 ret = 0;
1478 break;
1479 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
1480 msg = "HIGH_QUALITY";
1481 ret = 0;
1482 break;
1483 default:
1484 msg = "error: enum value out of range";
1485 }
1486 break;
1487 }
1488 case ANDROID_NOISE_REDUCTION_STRENGTH: {
1489 break;
1490 }
1491
1492 case ANDROID_QUIRKS_METERING_CROP_REGION: {
1493 break;
1494 }
1495 case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
1496 break;
1497 }
1498 case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
1499 break;
1500 }
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07001501 case ANDROID_QUIRKS_USE_PARTIAL_RESULT: {
1502 break;
1503 }
1504 case ANDROID_QUIRKS_PARTIAL_RESULT: {
1505 switch (value) {
1506 case ANDROID_QUIRKS_PARTIAL_RESULT_FINAL:
1507 msg = "FINAL";
1508 ret = 0;
1509 break;
1510 case ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL:
1511 msg = "PARTIAL";
1512 ret = 0;
1513 break;
1514 default:
1515 msg = "error: enum value out of range";
1516 }
1517 break;
1518 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001519
1520 case ANDROID_REQUEST_FRAME_COUNT: {
1521 break;
1522 }
1523 case ANDROID_REQUEST_ID: {
1524 break;
1525 }
1526 case ANDROID_REQUEST_INPUT_STREAMS: {
1527 break;
1528 }
1529 case ANDROID_REQUEST_METADATA_MODE: {
1530 switch (value) {
1531 case ANDROID_REQUEST_METADATA_MODE_NONE:
1532 msg = "NONE";
1533 ret = 0;
1534 break;
1535 case ANDROID_REQUEST_METADATA_MODE_FULL:
1536 msg = "FULL";
1537 ret = 0;
1538 break;
1539 default:
1540 msg = "error: enum value out of range";
1541 }
1542 break;
1543 }
1544 case ANDROID_REQUEST_OUTPUT_STREAMS: {
1545 break;
1546 }
1547 case ANDROID_REQUEST_TYPE: {
1548 switch (value) {
1549 case ANDROID_REQUEST_TYPE_CAPTURE:
1550 msg = "CAPTURE";
1551 ret = 0;
1552 break;
1553 case ANDROID_REQUEST_TYPE_REPROCESS:
1554 msg = "REPROCESS";
1555 ret = 0;
1556 break;
1557 default:
1558 msg = "error: enum value out of range";
1559 }
1560 break;
1561 }
1562 case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
1563 break;
1564 }
1565 case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
1566 break;
1567 }
Zhijun He12744b22014-01-22 15:58:57 -08001568 case ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS: {
1569 break;
1570 }
Igor Murashkina46e02f2014-01-09 17:43:38 -08001571 case ANDROID_REQUEST_PIPELINE_DEPTH: {
1572 break;
1573 }
1574 case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
1575 break;
1576 }
Igor Murashkin2e291102014-01-10 14:18:30 -08001577 case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
1578 break;
1579 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001580
1581 case ANDROID_SCALER_CROP_REGION: {
1582 break;
1583 }
1584 case ANDROID_SCALER_AVAILABLE_FORMATS: {
1585 switch (value) {
1586 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_SENSOR:
1587 msg = "RAW_SENSOR";
1588 ret = 0;
1589 break;
1590 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
1591 msg = "YV12";
1592 ret = 0;
1593 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001594 case ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP:
1595 msg = "YCrCb_420_SP";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001596 ret = 0;
1597 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001598 case ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED:
1599 msg = "IMPLEMENTATION_DEFINED";
1600 ret = 0;
1601 break;
1602 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888:
1603 msg = "YCbCr_420_888";
1604 ret = 0;
1605 break;
1606 case ANDROID_SCALER_AVAILABLE_FORMATS_BLOB:
1607 msg = "BLOB";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001608 ret = 0;
1609 break;
1610 default:
1611 msg = "error: enum value out of range";
1612 }
1613 break;
1614 }
1615 case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
1616 break;
1617 }
1618 case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
1619 break;
1620 }
1621 case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
1622 break;
1623 }
1624 case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
1625 break;
1626 }
1627 case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
1628 break;
1629 }
1630 case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
1631 break;
1632 }
1633 case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
1634 break;
1635 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001636
1637 case ANDROID_SENSOR_EXPOSURE_TIME: {
1638 break;
1639 }
1640 case ANDROID_SENSOR_FRAME_DURATION: {
1641 break;
1642 }
1643 case ANDROID_SENSOR_SENSITIVITY: {
1644 break;
1645 }
1646 case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
1647 break;
1648 }
1649 case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
1650 break;
1651 }
1652 case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
1653 break;
1654 }
1655 case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
1656 break;
1657 }
1658 case ANDROID_SENSOR_COLOR_TRANSFORM1: {
1659 break;
1660 }
1661 case ANDROID_SENSOR_COLOR_TRANSFORM2: {
1662 break;
1663 }
1664 case ANDROID_SENSOR_FORWARD_MATRIX1: {
1665 break;
1666 }
1667 case ANDROID_SENSOR_FORWARD_MATRIX2: {
1668 break;
1669 }
1670 case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
1671 break;
1672 }
1673 case ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS: {
1674 break;
1675 }
1676 case ANDROID_SENSOR_ORIENTATION: {
1677 break;
1678 }
1679 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
1680 switch (value) {
1681 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
1682 msg = "DAYLIGHT";
1683 ret = 0;
1684 break;
1685 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
1686 msg = "FLUORESCENT";
1687 ret = 0;
1688 break;
1689 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
1690 msg = "TUNGSTEN";
1691 ret = 0;
1692 break;
1693 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
1694 msg = "FLASH";
1695 ret = 0;
1696 break;
1697 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
1698 msg = "FINE_WEATHER";
1699 ret = 0;
1700 break;
1701 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
1702 msg = "CLOUDY_WEATHER";
1703 ret = 0;
1704 break;
1705 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
1706 msg = "SHADE";
1707 ret = 0;
1708 break;
1709 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
1710 msg = "DAYLIGHT_FLUORESCENT";
1711 ret = 0;
1712 break;
1713 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
1714 msg = "DAY_WHITE_FLUORESCENT";
1715 ret = 0;
1716 break;
1717 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
1718 msg = "COOL_WHITE_FLUORESCENT";
1719 ret = 0;
1720 break;
1721 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
1722 msg = "WHITE_FLUORESCENT";
1723 ret = 0;
1724 break;
1725 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
1726 msg = "STANDARD_A";
1727 ret = 0;
1728 break;
1729 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
1730 msg = "STANDARD_B";
1731 ret = 0;
1732 break;
1733 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
1734 msg = "STANDARD_C";
1735 ret = 0;
1736 break;
1737 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55:
1738 msg = "D55";
1739 ret = 0;
1740 break;
1741 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65:
1742 msg = "D65";
1743 ret = 0;
1744 break;
1745 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75:
1746 msg = "D75";
1747 ret = 0;
1748 break;
1749 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50:
1750 msg = "D50";
1751 ret = 0;
1752 break;
1753 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
1754 msg = "ISO_STUDIO_TUNGSTEN";
1755 ret = 0;
1756 break;
1757 default:
1758 msg = "error: enum value out of range";
1759 }
1760 break;
1761 }
1762 case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
1763 break;
1764 }
1765 case ANDROID_SENSOR_TIMESTAMP: {
1766 break;
1767 }
Igor Murashkin656aa5a2013-08-13 14:23:39 -07001768 case ANDROID_SENSOR_TEMPERATURE: {
1769 break;
1770 }
Ruben Brunk7b9e9bc2014-02-06 18:37:48 -08001771 case ANDROID_SENSOR_NEUTRAL_COLOR_POINT: {
1772 break;
1773 }
Igor Murashkina46e02f2014-01-09 17:43:38 -08001774 case ANDROID_SENSOR_TEST_PATTERN_DATA: {
1775 break;
1776 }
1777 case ANDROID_SENSOR_TEST_PATTERN_MODE: {
1778 switch (value) {
1779 case ANDROID_SENSOR_TEST_PATTERN_MODE_OFF:
1780 msg = "OFF";
1781 ret = 0;
1782 break;
1783 case ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
1784 msg = "SOLID_COLOR";
1785 ret = 0;
1786 break;
1787 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
1788 msg = "COLOR_BARS";
1789 ret = 0;
1790 break;
1791 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
1792 msg = "COLOR_BARS_FADE_TO_GRAY";
1793 ret = 0;
1794 break;
1795 case ANDROID_SENSOR_TEST_PATTERN_MODE_PN9:
1796 msg = "PN9";
1797 ret = 0;
1798 break;
1799 case ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
1800 msg = "CUSTOM1";
1801 ret = 0;
1802 break;
1803 default:
1804 msg = "error: enum value out of range";
1805 }
1806 break;
1807 }
1808 case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
1809 break;
1810 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001811
1812 case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
1813 break;
1814 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001815 case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001816 break;
1817 }
1818 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
1819 switch (value) {
1820 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
1821 msg = "RGGB";
1822 ret = 0;
1823 break;
1824 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
1825 msg = "GRBG";
1826 ret = 0;
1827 break;
1828 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
1829 msg = "GBRG";
1830 ret = 0;
1831 break;
1832 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
1833 msg = "BGGR";
1834 ret = 0;
1835 break;
1836 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
1837 msg = "RGB";
1838 ret = 0;
1839 break;
1840 default:
1841 msg = "error: enum value out of range";
1842 }
1843 break;
1844 }
1845 case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
1846 break;
1847 }
1848 case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
1849 break;
1850 }
1851 case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
1852 break;
1853 }
1854 case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
1855 break;
1856 }
1857 case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
1858 break;
1859 }
1860
1861 case ANDROID_SHADING_MODE: {
1862 switch (value) {
1863 case ANDROID_SHADING_MODE_OFF:
1864 msg = "OFF";
1865 ret = 0;
1866 break;
1867 case ANDROID_SHADING_MODE_FAST:
1868 msg = "FAST";
1869 ret = 0;
1870 break;
1871 case ANDROID_SHADING_MODE_HIGH_QUALITY:
1872 msg = "HIGH_QUALITY";
1873 ret = 0;
1874 break;
1875 default:
1876 msg = "error: enum value out of range";
1877 }
1878 break;
1879 }
1880 case ANDROID_SHADING_STRENGTH: {
1881 break;
1882 }
1883
1884 case ANDROID_STATISTICS_FACE_DETECT_MODE: {
1885 switch (value) {
1886 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
1887 msg = "OFF";
1888 ret = 0;
1889 break;
1890 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
1891 msg = "SIMPLE";
1892 ret = 0;
1893 break;
1894 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
1895 msg = "FULL";
1896 ret = 0;
1897 break;
1898 default:
1899 msg = "error: enum value out of range";
1900 }
1901 break;
1902 }
1903 case ANDROID_STATISTICS_HISTOGRAM_MODE: {
1904 switch (value) {
1905 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
1906 msg = "OFF";
1907 ret = 0;
1908 break;
1909 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
1910 msg = "ON";
1911 ret = 0;
1912 break;
1913 default:
1914 msg = "error: enum value out of range";
1915 }
1916 break;
1917 }
1918 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
1919 switch (value) {
1920 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
1921 msg = "OFF";
1922 ret = 0;
1923 break;
1924 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
1925 msg = "ON";
1926 ret = 0;
1927 break;
1928 default:
1929 msg = "error: enum value out of range";
1930 }
1931 break;
1932 }
1933 case ANDROID_STATISTICS_FACE_IDS: {
1934 break;
1935 }
1936 case ANDROID_STATISTICS_FACE_LANDMARKS: {
1937 break;
1938 }
1939 case ANDROID_STATISTICS_FACE_RECTANGLES: {
1940 break;
1941 }
1942 case ANDROID_STATISTICS_FACE_SCORES: {
1943 break;
1944 }
1945 case ANDROID_STATISTICS_HISTOGRAM: {
1946 break;
1947 }
1948 case ANDROID_STATISTICS_SHARPNESS_MAP: {
1949 break;
1950 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001951 case ANDROID_STATISTICS_LENS_SHADING_MAP: {
1952 break;
1953 }
1954 case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
1955 break;
1956 }
1957 case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
1958 break;
1959 }
1960 case ANDROID_STATISTICS_SCENE_FLICKER: {
1961 switch (value) {
1962 case ANDROID_STATISTICS_SCENE_FLICKER_NONE:
1963 msg = "NONE";
1964 ret = 0;
1965 break;
1966 case ANDROID_STATISTICS_SCENE_FLICKER_50HZ:
1967 msg = "50HZ";
1968 ret = 0;
1969 break;
1970 case ANDROID_STATISTICS_SCENE_FLICKER_60HZ:
1971 msg = "60HZ";
1972 ret = 0;
1973 break;
1974 default:
1975 msg = "error: enum value out of range";
1976 }
1977 break;
1978 }
1979 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
1980 switch (value) {
1981 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
1982 msg = "OFF";
1983 ret = 0;
1984 break;
1985 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON:
1986 msg = "ON";
1987 ret = 0;
1988 break;
1989 default:
1990 msg = "error: enum value out of range";
1991 }
1992 break;
1993 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001994
1995 case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
1996 break;
1997 }
1998 case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
1999 break;
2000 }
2001 case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
2002 break;
2003 }
2004 case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
2005 break;
2006 }
2007 case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
2008 break;
2009 }
2010 case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
2011 break;
2012 }
2013
2014 case ANDROID_TONEMAP_CURVE_BLUE: {
2015 break;
2016 }
2017 case ANDROID_TONEMAP_CURVE_GREEN: {
2018 break;
2019 }
2020 case ANDROID_TONEMAP_CURVE_RED: {
2021 break;
2022 }
2023 case ANDROID_TONEMAP_MODE: {
2024 switch (value) {
2025 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
2026 msg = "CONTRAST_CURVE";
2027 ret = 0;
2028 break;
2029 case ANDROID_TONEMAP_MODE_FAST:
2030 msg = "FAST";
2031 ret = 0;
2032 break;
2033 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
2034 msg = "HIGH_QUALITY";
2035 ret = 0;
2036 break;
2037 default:
2038 msg = "error: enum value out of range";
2039 }
2040 break;
2041 }
2042 case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
2043 break;
2044 }
2045
Igor Murashkinc469f7d2013-04-23 14:31:02 -07002046 case ANDROID_LED_TRANSMIT: {
2047 switch (value) {
2048 case ANDROID_LED_TRANSMIT_OFF:
2049 msg = "OFF";
2050 ret = 0;
2051 break;
2052 case ANDROID_LED_TRANSMIT_ON:
2053 msg = "ON";
2054 ret = 0;
2055 break;
2056 default:
2057 msg = "error: enum value out of range";
2058 }
2059 break;
2060 }
2061 case ANDROID_LED_AVAILABLE_LEDS: {
2062 switch (value) {
2063 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
2064 msg = "TRANSMIT";
2065 ret = 0;
2066 break;
2067 default:
2068 msg = "error: enum value out of range";
2069 }
2070 break;
2071 }
2072
Igor Murashkin38b8cae2013-05-23 16:38:59 -07002073 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
2074 switch (value) {
2075 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
2076 msg = "LIMITED";
2077 ret = 0;
2078 break;
2079 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
2080 msg = "FULL";
2081 ret = 0;
2082 break;
2083 default:
2084 msg = "error: enum value out of range";
2085 }
2086 break;
2087 }
2088
Zhijun He69fc0ea2013-07-17 09:42:58 -07002089 case ANDROID_BLACK_LEVEL_LOCK: {
2090 switch (value) {
2091 case ANDROID_BLACK_LEVEL_LOCK_OFF:
2092 msg = "OFF";
2093 ret = 0;
2094 break;
2095 case ANDROID_BLACK_LEVEL_LOCK_ON:
2096 msg = "ON";
2097 ret = 0;
2098 break;
2099 default:
2100 msg = "error: enum value out of range";
2101 }
2102 break;
2103 }
2104
Igor Murashkin5c1fc682014-01-16 17:51:36 -08002105 case ANDROID_SYNC_FRAME_NUMBER: {
2106 switch (value) {
2107 case ANDROID_SYNC_FRAME_NUMBER_CONVERGING:
2108 msg = "CONVERGING";
2109 ret = 0;
2110 break;
2111 case ANDROID_SYNC_FRAME_NUMBER_UNKNOWN:
2112 msg = "UNKNOWN";
2113 ret = 0;
2114 break;
2115 default:
2116 msg = "error: enum value out of range";
2117 }
2118 break;
2119 }
2120 case ANDROID_SYNC_MAX_LATENCY: {
2121 switch (value) {
2122 case ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
2123 msg = "PER_FRAME_CONTROL";
2124 ret = 0;
2125 break;
2126 case ANDROID_SYNC_MAX_LATENCY_UNKNOWN:
2127 msg = "UNKNOWN";
2128 ret = 0;
2129 break;
2130 default:
2131 msg = "error: enum value out of range";
2132 }
2133 break;
2134 }
2135
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002136 }
2137
2138 strncpy(dst, msg, size - 1);
2139 dst[size - 1] = '\0';
2140
2141 return ret;
2142}
2143
2144
Igor Murashkina46e02f2014-01-09 17:43:38 -08002145#define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 24