blob: ffc3403cd1ee5025bff977c381b151ed49edece5 [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;
Zhijun He4412faa2014-02-06 00:28:22 -0800937 case ANDROID_CONTROL_MODE_OFF_KEEP_STATE:
938 msg = "OFF_KEEP_STATE";
939 ret = 0;
940 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800941 default:
942 msg = "error: enum value out of range";
943 }
944 break;
945 }
946 case ANDROID_CONTROL_SCENE_MODE: {
947 switch (value) {
Ruben Brunk9e28ea72014-01-14 18:55:29 -0800948 case ANDROID_CONTROL_SCENE_MODE_DISABLED:
949 msg = "DISABLED";
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800950 ret = 0;
951 break;
952 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
953 msg = "FACE_PRIORITY";
954 ret = 0;
955 break;
956 case ANDROID_CONTROL_SCENE_MODE_ACTION:
957 msg = "ACTION";
958 ret = 0;
959 break;
960 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
961 msg = "PORTRAIT";
962 ret = 0;
963 break;
964 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
965 msg = "LANDSCAPE";
966 ret = 0;
967 break;
968 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
969 msg = "NIGHT";
970 ret = 0;
971 break;
972 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
973 msg = "NIGHT_PORTRAIT";
974 ret = 0;
975 break;
976 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
977 msg = "THEATRE";
978 ret = 0;
979 break;
980 case ANDROID_CONTROL_SCENE_MODE_BEACH:
981 msg = "BEACH";
982 ret = 0;
983 break;
984 case ANDROID_CONTROL_SCENE_MODE_SNOW:
985 msg = "SNOW";
986 ret = 0;
987 break;
988 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
989 msg = "SUNSET";
990 ret = 0;
991 break;
992 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
993 msg = "STEADYPHOTO";
994 ret = 0;
995 break;
996 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
997 msg = "FIREWORKS";
998 ret = 0;
999 break;
1000 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
1001 msg = "SPORTS";
1002 ret = 0;
1003 break;
1004 case ANDROID_CONTROL_SCENE_MODE_PARTY:
1005 msg = "PARTY";
1006 ret = 0;
1007 break;
1008 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
1009 msg = "CANDLELIGHT";
1010 ret = 0;
1011 break;
1012 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
1013 msg = "BARCODE";
1014 ret = 0;
1015 break;
1016 default:
1017 msg = "error: enum value out of range";
1018 }
1019 break;
1020 }
1021 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
1022 switch (value) {
1023 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
1024 msg = "OFF";
1025 ret = 0;
1026 break;
1027 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
1028 msg = "ON";
1029 ret = 0;
1030 break;
1031 default:
1032 msg = "error: enum value out of range";
1033 }
1034 break;
1035 }
1036 case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
1037 break;
1038 }
1039 case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
1040 break;
1041 }
1042 case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
1043 break;
1044 }
1045 case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
1046 break;
1047 }
1048 case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
1049 break;
1050 }
1051 case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
1052 break;
1053 }
1054 case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
1055 break;
1056 }
1057 case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
1058 break;
1059 }
1060 case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
1061 break;
1062 }
1063 case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
1064 break;
1065 }
1066 case ANDROID_CONTROL_MAX_REGIONS: {
1067 break;
1068 }
1069 case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
1070 break;
1071 }
1072 case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1073 break;
1074 }
1075 case ANDROID_CONTROL_AE_STATE: {
1076 switch (value) {
1077 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1078 msg = "INACTIVE";
1079 ret = 0;
1080 break;
1081 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1082 msg = "SEARCHING";
1083 ret = 0;
1084 break;
1085 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1086 msg = "CONVERGED";
1087 ret = 0;
1088 break;
1089 case ANDROID_CONTROL_AE_STATE_LOCKED:
1090 msg = "LOCKED";
1091 ret = 0;
1092 break;
1093 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1094 msg = "FLASH_REQUIRED";
1095 ret = 0;
1096 break;
1097 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1098 msg = "PRECAPTURE";
1099 ret = 0;
1100 break;
1101 default:
1102 msg = "error: enum value out of range";
1103 }
1104 break;
1105 }
1106 case ANDROID_CONTROL_AF_STATE: {
1107 switch (value) {
1108 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1109 msg = "INACTIVE";
1110 ret = 0;
1111 break;
1112 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1113 msg = "PASSIVE_SCAN";
1114 ret = 0;
1115 break;
1116 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1117 msg = "PASSIVE_FOCUSED";
1118 ret = 0;
1119 break;
1120 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1121 msg = "ACTIVE_SCAN";
1122 ret = 0;
1123 break;
1124 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1125 msg = "FOCUSED_LOCKED";
1126 ret = 0;
1127 break;
1128 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1129 msg = "NOT_FOCUSED_LOCKED";
1130 ret = 0;
1131 break;
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07001132 case ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
1133 msg = "PASSIVE_UNFOCUSED";
1134 ret = 0;
1135 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001136 default:
1137 msg = "error: enum value out of range";
1138 }
1139 break;
1140 }
1141 case ANDROID_CONTROL_AF_TRIGGER_ID: {
1142 break;
1143 }
1144 case ANDROID_CONTROL_AWB_STATE: {
1145 switch (value) {
1146 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1147 msg = "INACTIVE";
1148 ret = 0;
1149 break;
1150 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1151 msg = "SEARCHING";
1152 ret = 0;
1153 break;
1154 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1155 msg = "CONVERGED";
1156 ret = 0;
1157 break;
1158 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1159 msg = "LOCKED";
1160 ret = 0;
1161 break;
1162 default:
1163 msg = "error: enum value out of range";
1164 }
1165 break;
1166 }
1167
1168 case ANDROID_DEMOSAIC_MODE: {
1169 switch (value) {
1170 case ANDROID_DEMOSAIC_MODE_FAST:
1171 msg = "FAST";
1172 ret = 0;
1173 break;
1174 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
1175 msg = "HIGH_QUALITY";
1176 ret = 0;
1177 break;
1178 default:
1179 msg = "error: enum value out of range";
1180 }
1181 break;
1182 }
1183
1184 case ANDROID_EDGE_MODE: {
1185 switch (value) {
1186 case ANDROID_EDGE_MODE_OFF:
1187 msg = "OFF";
1188 ret = 0;
1189 break;
1190 case ANDROID_EDGE_MODE_FAST:
1191 msg = "FAST";
1192 ret = 0;
1193 break;
1194 case ANDROID_EDGE_MODE_HIGH_QUALITY:
1195 msg = "HIGH_QUALITY";
1196 ret = 0;
1197 break;
1198 default:
1199 msg = "error: enum value out of range";
1200 }
1201 break;
1202 }
1203 case ANDROID_EDGE_STRENGTH: {
1204 break;
1205 }
1206
1207 case ANDROID_FLASH_FIRING_POWER: {
1208 break;
1209 }
1210 case ANDROID_FLASH_FIRING_TIME: {
1211 break;
1212 }
1213 case ANDROID_FLASH_MODE: {
1214 switch (value) {
1215 case ANDROID_FLASH_MODE_OFF:
1216 msg = "OFF";
1217 ret = 0;
1218 break;
1219 case ANDROID_FLASH_MODE_SINGLE:
1220 msg = "SINGLE";
1221 ret = 0;
1222 break;
1223 case ANDROID_FLASH_MODE_TORCH:
1224 msg = "TORCH";
1225 ret = 0;
1226 break;
1227 default:
1228 msg = "error: enum value out of range";
1229 }
1230 break;
1231 }
1232 case ANDROID_FLASH_COLOR_TEMPERATURE: {
1233 break;
1234 }
1235 case ANDROID_FLASH_MAX_ENERGY: {
1236 break;
1237 }
1238 case ANDROID_FLASH_STATE: {
1239 switch (value) {
1240 case ANDROID_FLASH_STATE_UNAVAILABLE:
1241 msg = "UNAVAILABLE";
1242 ret = 0;
1243 break;
1244 case ANDROID_FLASH_STATE_CHARGING:
1245 msg = "CHARGING";
1246 ret = 0;
1247 break;
1248 case ANDROID_FLASH_STATE_READY:
1249 msg = "READY";
1250 ret = 0;
1251 break;
1252 case ANDROID_FLASH_STATE_FIRED:
1253 msg = "FIRED";
1254 ret = 0;
1255 break;
1256 default:
1257 msg = "error: enum value out of range";
1258 }
1259 break;
1260 }
1261
1262 case ANDROID_FLASH_INFO_AVAILABLE: {
Zhijun He5169ce12014-01-24 16:48:25 -08001263 switch (value) {
1264 case ANDROID_FLASH_INFO_AVAILABLE_FALSE:
1265 msg = "FALSE";
1266 ret = 0;
1267 break;
1268 case ANDROID_FLASH_INFO_AVAILABLE_TRUE:
1269 msg = "TRUE";
1270 ret = 0;
1271 break;
1272 default:
1273 msg = "error: enum value out of range";
1274 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001275 break;
1276 }
1277 case ANDROID_FLASH_INFO_CHARGE_DURATION: {
1278 break;
1279 }
1280
1281 case ANDROID_GEOMETRIC_MODE: {
1282 switch (value) {
1283 case ANDROID_GEOMETRIC_MODE_OFF:
1284 msg = "OFF";
1285 ret = 0;
1286 break;
1287 case ANDROID_GEOMETRIC_MODE_FAST:
1288 msg = "FAST";
1289 ret = 0;
1290 break;
1291 case ANDROID_GEOMETRIC_MODE_HIGH_QUALITY:
1292 msg = "HIGH_QUALITY";
1293 ret = 0;
1294 break;
1295 default:
1296 msg = "error: enum value out of range";
1297 }
1298 break;
1299 }
1300 case ANDROID_GEOMETRIC_STRENGTH: {
1301 break;
1302 }
1303
1304 case ANDROID_HOT_PIXEL_MODE: {
1305 switch (value) {
1306 case ANDROID_HOT_PIXEL_MODE_OFF:
1307 msg = "OFF";
1308 ret = 0;
1309 break;
1310 case ANDROID_HOT_PIXEL_MODE_FAST:
1311 msg = "FAST";
1312 ret = 0;
1313 break;
1314 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
1315 msg = "HIGH_QUALITY";
1316 ret = 0;
1317 break;
1318 default:
1319 msg = "error: enum value out of range";
1320 }
1321 break;
1322 }
1323
1324 case ANDROID_HOT_PIXEL_INFO_MAP: {
1325 break;
1326 }
1327
1328 case ANDROID_JPEG_GPS_COORDINATES: {
1329 break;
1330 }
1331 case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
1332 break;
1333 }
1334 case ANDROID_JPEG_GPS_TIMESTAMP: {
1335 break;
1336 }
1337 case ANDROID_JPEG_ORIENTATION: {
1338 break;
1339 }
1340 case ANDROID_JPEG_QUALITY: {
1341 break;
1342 }
1343 case ANDROID_JPEG_THUMBNAIL_QUALITY: {
1344 break;
1345 }
1346 case ANDROID_JPEG_THUMBNAIL_SIZE: {
1347 break;
1348 }
1349 case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
1350 break;
1351 }
1352 case ANDROID_JPEG_MAX_SIZE: {
1353 break;
1354 }
1355 case ANDROID_JPEG_SIZE: {
1356 break;
1357 }
1358
1359 case ANDROID_LENS_APERTURE: {
1360 break;
1361 }
1362 case ANDROID_LENS_FILTER_DENSITY: {
1363 break;
1364 }
1365 case ANDROID_LENS_FOCAL_LENGTH: {
1366 break;
1367 }
1368 case ANDROID_LENS_FOCUS_DISTANCE: {
1369 break;
1370 }
1371 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
1372 switch (value) {
1373 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
1374 msg = "OFF";
1375 ret = 0;
1376 break;
1377 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
1378 msg = "ON";
1379 ret = 0;
1380 break;
1381 default:
1382 msg = "error: enum value out of range";
1383 }
1384 break;
1385 }
1386 case ANDROID_LENS_FACING: {
1387 switch (value) {
1388 case ANDROID_LENS_FACING_FRONT:
1389 msg = "FRONT";
1390 ret = 0;
1391 break;
1392 case ANDROID_LENS_FACING_BACK:
1393 msg = "BACK";
1394 ret = 0;
1395 break;
1396 default:
1397 msg = "error: enum value out of range";
1398 }
1399 break;
1400 }
1401 case ANDROID_LENS_OPTICAL_AXIS_ANGLE: {
1402 break;
1403 }
1404 case ANDROID_LENS_POSITION: {
1405 break;
1406 }
1407 case ANDROID_LENS_FOCUS_RANGE: {
1408 break;
1409 }
1410 case ANDROID_LENS_STATE: {
1411 switch (value) {
1412 case ANDROID_LENS_STATE_STATIONARY:
1413 msg = "STATIONARY";
1414 ret = 0;
1415 break;
Igor Murashkin0e323a12013-09-06 11:50:48 -07001416 case ANDROID_LENS_STATE_MOVING:
1417 msg = "MOVING";
1418 ret = 0;
1419 break;
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001420 default:
1421 msg = "error: enum value out of range";
1422 }
1423 break;
1424 }
1425
1426 case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
1427 break;
1428 }
1429 case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
1430 break;
1431 }
1432 case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
1433 break;
1434 }
1435 case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
1436 break;
1437 }
1438 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP: {
1439 break;
1440 }
1441 case ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE: {
1442 break;
1443 }
1444 case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
1445 break;
1446 }
1447 case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
1448 break;
1449 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001450 case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
1451 break;
1452 }
Zhijun Hef92c76a2014-02-06 01:40:35 -08001453 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: {
1454 switch (value) {
1455 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
1456 msg = "UNCALIBRATED";
1457 ret = 0;
1458 break;
1459 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
1460 msg = "APPROXIMATE";
1461 ret = 0;
1462 break;
1463 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
1464 msg = "CALIBRATED";
1465 ret = 0;
1466 break;
1467 default:
1468 msg = "error: enum value out of range";
1469 }
1470 break;
1471 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001472
1473 case ANDROID_NOISE_REDUCTION_MODE: {
1474 switch (value) {
1475 case ANDROID_NOISE_REDUCTION_MODE_OFF:
1476 msg = "OFF";
1477 ret = 0;
1478 break;
1479 case ANDROID_NOISE_REDUCTION_MODE_FAST:
1480 msg = "FAST";
1481 ret = 0;
1482 break;
1483 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
1484 msg = "HIGH_QUALITY";
1485 ret = 0;
1486 break;
1487 default:
1488 msg = "error: enum value out of range";
1489 }
1490 break;
1491 }
1492 case ANDROID_NOISE_REDUCTION_STRENGTH: {
1493 break;
1494 }
1495
1496 case ANDROID_QUIRKS_METERING_CROP_REGION: {
1497 break;
1498 }
1499 case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
1500 break;
1501 }
1502 case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
1503 break;
1504 }
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07001505 case ANDROID_QUIRKS_USE_PARTIAL_RESULT: {
1506 break;
1507 }
1508 case ANDROID_QUIRKS_PARTIAL_RESULT: {
1509 switch (value) {
1510 case ANDROID_QUIRKS_PARTIAL_RESULT_FINAL:
1511 msg = "FINAL";
1512 ret = 0;
1513 break;
1514 case ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL:
1515 msg = "PARTIAL";
1516 ret = 0;
1517 break;
1518 default:
1519 msg = "error: enum value out of range";
1520 }
1521 break;
1522 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001523
1524 case ANDROID_REQUEST_FRAME_COUNT: {
1525 break;
1526 }
1527 case ANDROID_REQUEST_ID: {
1528 break;
1529 }
1530 case ANDROID_REQUEST_INPUT_STREAMS: {
1531 break;
1532 }
1533 case ANDROID_REQUEST_METADATA_MODE: {
1534 switch (value) {
1535 case ANDROID_REQUEST_METADATA_MODE_NONE:
1536 msg = "NONE";
1537 ret = 0;
1538 break;
1539 case ANDROID_REQUEST_METADATA_MODE_FULL:
1540 msg = "FULL";
1541 ret = 0;
1542 break;
1543 default:
1544 msg = "error: enum value out of range";
1545 }
1546 break;
1547 }
1548 case ANDROID_REQUEST_OUTPUT_STREAMS: {
1549 break;
1550 }
1551 case ANDROID_REQUEST_TYPE: {
1552 switch (value) {
1553 case ANDROID_REQUEST_TYPE_CAPTURE:
1554 msg = "CAPTURE";
1555 ret = 0;
1556 break;
1557 case ANDROID_REQUEST_TYPE_REPROCESS:
1558 msg = "REPROCESS";
1559 ret = 0;
1560 break;
1561 default:
1562 msg = "error: enum value out of range";
1563 }
1564 break;
1565 }
1566 case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
1567 break;
1568 }
1569 case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
1570 break;
1571 }
Zhijun He12744b22014-01-22 15:58:57 -08001572 case ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS: {
1573 break;
1574 }
Igor Murashkina46e02f2014-01-09 17:43:38 -08001575 case ANDROID_REQUEST_PIPELINE_DEPTH: {
1576 break;
1577 }
1578 case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
1579 break;
1580 }
Igor Murashkin2e291102014-01-10 14:18:30 -08001581 case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
1582 break;
1583 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001584
1585 case ANDROID_SCALER_CROP_REGION: {
1586 break;
1587 }
1588 case ANDROID_SCALER_AVAILABLE_FORMATS: {
1589 switch (value) {
1590 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_SENSOR:
1591 msg = "RAW_SENSOR";
1592 ret = 0;
1593 break;
1594 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
1595 msg = "YV12";
1596 ret = 0;
1597 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001598 case ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP:
1599 msg = "YCrCb_420_SP";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001600 ret = 0;
1601 break;
Zhijun Hec2eebff2013-05-16 17:49:35 -07001602 case ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED:
1603 msg = "IMPLEMENTATION_DEFINED";
1604 ret = 0;
1605 break;
1606 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888:
1607 msg = "YCbCr_420_888";
1608 ret = 0;
1609 break;
1610 case ANDROID_SCALER_AVAILABLE_FORMATS_BLOB:
1611 msg = "BLOB";
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001612 ret = 0;
1613 break;
1614 default:
1615 msg = "error: enum value out of range";
1616 }
1617 break;
1618 }
1619 case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
1620 break;
1621 }
1622 case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
1623 break;
1624 }
1625 case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
1626 break;
1627 }
1628 case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
1629 break;
1630 }
1631 case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
1632 break;
1633 }
1634 case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
1635 break;
1636 }
1637 case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
1638 break;
1639 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001640
1641 case ANDROID_SENSOR_EXPOSURE_TIME: {
1642 break;
1643 }
1644 case ANDROID_SENSOR_FRAME_DURATION: {
1645 break;
1646 }
1647 case ANDROID_SENSOR_SENSITIVITY: {
1648 break;
1649 }
1650 case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
1651 break;
1652 }
1653 case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
1654 break;
1655 }
1656 case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
1657 break;
1658 }
1659 case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
1660 break;
1661 }
1662 case ANDROID_SENSOR_COLOR_TRANSFORM1: {
1663 break;
1664 }
1665 case ANDROID_SENSOR_COLOR_TRANSFORM2: {
1666 break;
1667 }
1668 case ANDROID_SENSOR_FORWARD_MATRIX1: {
1669 break;
1670 }
1671 case ANDROID_SENSOR_FORWARD_MATRIX2: {
1672 break;
1673 }
1674 case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
1675 break;
1676 }
1677 case ANDROID_SENSOR_NOISE_MODEL_COEFFICIENTS: {
1678 break;
1679 }
1680 case ANDROID_SENSOR_ORIENTATION: {
1681 break;
1682 }
1683 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
1684 switch (value) {
1685 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
1686 msg = "DAYLIGHT";
1687 ret = 0;
1688 break;
1689 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
1690 msg = "FLUORESCENT";
1691 ret = 0;
1692 break;
1693 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
1694 msg = "TUNGSTEN";
1695 ret = 0;
1696 break;
1697 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
1698 msg = "FLASH";
1699 ret = 0;
1700 break;
1701 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
1702 msg = "FINE_WEATHER";
1703 ret = 0;
1704 break;
1705 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
1706 msg = "CLOUDY_WEATHER";
1707 ret = 0;
1708 break;
1709 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
1710 msg = "SHADE";
1711 ret = 0;
1712 break;
1713 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
1714 msg = "DAYLIGHT_FLUORESCENT";
1715 ret = 0;
1716 break;
1717 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
1718 msg = "DAY_WHITE_FLUORESCENT";
1719 ret = 0;
1720 break;
1721 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
1722 msg = "COOL_WHITE_FLUORESCENT";
1723 ret = 0;
1724 break;
1725 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
1726 msg = "WHITE_FLUORESCENT";
1727 ret = 0;
1728 break;
1729 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
1730 msg = "STANDARD_A";
1731 ret = 0;
1732 break;
1733 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
1734 msg = "STANDARD_B";
1735 ret = 0;
1736 break;
1737 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
1738 msg = "STANDARD_C";
1739 ret = 0;
1740 break;
1741 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55:
1742 msg = "D55";
1743 ret = 0;
1744 break;
1745 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65:
1746 msg = "D65";
1747 ret = 0;
1748 break;
1749 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75:
1750 msg = "D75";
1751 ret = 0;
1752 break;
1753 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50:
1754 msg = "D50";
1755 ret = 0;
1756 break;
1757 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
1758 msg = "ISO_STUDIO_TUNGSTEN";
1759 ret = 0;
1760 break;
1761 default:
1762 msg = "error: enum value out of range";
1763 }
1764 break;
1765 }
1766 case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
1767 break;
1768 }
1769 case ANDROID_SENSOR_TIMESTAMP: {
1770 break;
1771 }
Igor Murashkin656aa5a2013-08-13 14:23:39 -07001772 case ANDROID_SENSOR_TEMPERATURE: {
1773 break;
1774 }
Ruben Brunk7b9e9bc2014-02-06 18:37:48 -08001775 case ANDROID_SENSOR_NEUTRAL_COLOR_POINT: {
1776 break;
1777 }
Igor Murashkina46e02f2014-01-09 17:43:38 -08001778 case ANDROID_SENSOR_TEST_PATTERN_DATA: {
1779 break;
1780 }
1781 case ANDROID_SENSOR_TEST_PATTERN_MODE: {
1782 switch (value) {
1783 case ANDROID_SENSOR_TEST_PATTERN_MODE_OFF:
1784 msg = "OFF";
1785 ret = 0;
1786 break;
1787 case ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
1788 msg = "SOLID_COLOR";
1789 ret = 0;
1790 break;
1791 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
1792 msg = "COLOR_BARS";
1793 ret = 0;
1794 break;
1795 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
1796 msg = "COLOR_BARS_FADE_TO_GRAY";
1797 ret = 0;
1798 break;
1799 case ANDROID_SENSOR_TEST_PATTERN_MODE_PN9:
1800 msg = "PN9";
1801 ret = 0;
1802 break;
1803 case ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
1804 msg = "CUSTOM1";
1805 ret = 0;
1806 break;
1807 default:
1808 msg = "error: enum value out of range";
1809 }
1810 break;
1811 }
1812 case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
1813 break;
1814 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001815
1816 case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
1817 break;
1818 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001819 case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001820 break;
1821 }
1822 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
1823 switch (value) {
1824 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
1825 msg = "RGGB";
1826 ret = 0;
1827 break;
1828 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
1829 msg = "GRBG";
1830 ret = 0;
1831 break;
1832 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
1833 msg = "GBRG";
1834 ret = 0;
1835 break;
1836 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
1837 msg = "BGGR";
1838 ret = 0;
1839 break;
1840 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
1841 msg = "RGB";
1842 ret = 0;
1843 break;
1844 default:
1845 msg = "error: enum value out of range";
1846 }
1847 break;
1848 }
1849 case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
1850 break;
1851 }
1852 case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
1853 break;
1854 }
1855 case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
1856 break;
1857 }
1858 case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
1859 break;
1860 }
1861 case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
1862 break;
1863 }
1864
1865 case ANDROID_SHADING_MODE: {
1866 switch (value) {
1867 case ANDROID_SHADING_MODE_OFF:
1868 msg = "OFF";
1869 ret = 0;
1870 break;
1871 case ANDROID_SHADING_MODE_FAST:
1872 msg = "FAST";
1873 ret = 0;
1874 break;
1875 case ANDROID_SHADING_MODE_HIGH_QUALITY:
1876 msg = "HIGH_QUALITY";
1877 ret = 0;
1878 break;
1879 default:
1880 msg = "error: enum value out of range";
1881 }
1882 break;
1883 }
1884 case ANDROID_SHADING_STRENGTH: {
1885 break;
1886 }
1887
1888 case ANDROID_STATISTICS_FACE_DETECT_MODE: {
1889 switch (value) {
1890 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
1891 msg = "OFF";
1892 ret = 0;
1893 break;
1894 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
1895 msg = "SIMPLE";
1896 ret = 0;
1897 break;
1898 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
1899 msg = "FULL";
1900 ret = 0;
1901 break;
1902 default:
1903 msg = "error: enum value out of range";
1904 }
1905 break;
1906 }
1907 case ANDROID_STATISTICS_HISTOGRAM_MODE: {
1908 switch (value) {
1909 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
1910 msg = "OFF";
1911 ret = 0;
1912 break;
1913 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
1914 msg = "ON";
1915 ret = 0;
1916 break;
1917 default:
1918 msg = "error: enum value out of range";
1919 }
1920 break;
1921 }
1922 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
1923 switch (value) {
1924 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
1925 msg = "OFF";
1926 ret = 0;
1927 break;
1928 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
1929 msg = "ON";
1930 ret = 0;
1931 break;
1932 default:
1933 msg = "error: enum value out of range";
1934 }
1935 break;
1936 }
1937 case ANDROID_STATISTICS_FACE_IDS: {
1938 break;
1939 }
1940 case ANDROID_STATISTICS_FACE_LANDMARKS: {
1941 break;
1942 }
1943 case ANDROID_STATISTICS_FACE_RECTANGLES: {
1944 break;
1945 }
1946 case ANDROID_STATISTICS_FACE_SCORES: {
1947 break;
1948 }
1949 case ANDROID_STATISTICS_HISTOGRAM: {
1950 break;
1951 }
1952 case ANDROID_STATISTICS_SHARPNESS_MAP: {
1953 break;
1954 }
Zhijun He69fc0ea2013-07-17 09:42:58 -07001955 case ANDROID_STATISTICS_LENS_SHADING_MAP: {
1956 break;
1957 }
1958 case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
1959 break;
1960 }
1961 case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
1962 break;
1963 }
1964 case ANDROID_STATISTICS_SCENE_FLICKER: {
1965 switch (value) {
1966 case ANDROID_STATISTICS_SCENE_FLICKER_NONE:
1967 msg = "NONE";
1968 ret = 0;
1969 break;
1970 case ANDROID_STATISTICS_SCENE_FLICKER_50HZ:
1971 msg = "50HZ";
1972 ret = 0;
1973 break;
1974 case ANDROID_STATISTICS_SCENE_FLICKER_60HZ:
1975 msg = "60HZ";
1976 ret = 0;
1977 break;
1978 default:
1979 msg = "error: enum value out of range";
1980 }
1981 break;
1982 }
1983 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
1984 switch (value) {
1985 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
1986 msg = "OFF";
1987 ret = 0;
1988 break;
1989 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON:
1990 msg = "ON";
1991 ret = 0;
1992 break;
1993 default:
1994 msg = "error: enum value out of range";
1995 }
1996 break;
1997 }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001998
1999 case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
2000 break;
2001 }
2002 case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
2003 break;
2004 }
2005 case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
2006 break;
2007 }
2008 case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
2009 break;
2010 }
2011 case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
2012 break;
2013 }
2014 case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
2015 break;
2016 }
2017
2018 case ANDROID_TONEMAP_CURVE_BLUE: {
2019 break;
2020 }
2021 case ANDROID_TONEMAP_CURVE_GREEN: {
2022 break;
2023 }
2024 case ANDROID_TONEMAP_CURVE_RED: {
2025 break;
2026 }
2027 case ANDROID_TONEMAP_MODE: {
2028 switch (value) {
2029 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
2030 msg = "CONTRAST_CURVE";
2031 ret = 0;
2032 break;
2033 case ANDROID_TONEMAP_MODE_FAST:
2034 msg = "FAST";
2035 ret = 0;
2036 break;
2037 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
2038 msg = "HIGH_QUALITY";
2039 ret = 0;
2040 break;
2041 default:
2042 msg = "error: enum value out of range";
2043 }
2044 break;
2045 }
2046 case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
2047 break;
2048 }
2049
Igor Murashkinc469f7d2013-04-23 14:31:02 -07002050 case ANDROID_LED_TRANSMIT: {
2051 switch (value) {
2052 case ANDROID_LED_TRANSMIT_OFF:
2053 msg = "OFF";
2054 ret = 0;
2055 break;
2056 case ANDROID_LED_TRANSMIT_ON:
2057 msg = "ON";
2058 ret = 0;
2059 break;
2060 default:
2061 msg = "error: enum value out of range";
2062 }
2063 break;
2064 }
2065 case ANDROID_LED_AVAILABLE_LEDS: {
2066 switch (value) {
2067 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
2068 msg = "TRANSMIT";
2069 ret = 0;
2070 break;
2071 default:
2072 msg = "error: enum value out of range";
2073 }
2074 break;
2075 }
2076
Igor Murashkin38b8cae2013-05-23 16:38:59 -07002077 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
2078 switch (value) {
2079 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
2080 msg = "LIMITED";
2081 ret = 0;
2082 break;
2083 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
2084 msg = "FULL";
2085 ret = 0;
2086 break;
2087 default:
2088 msg = "error: enum value out of range";
2089 }
2090 break;
2091 }
2092
Zhijun He69fc0ea2013-07-17 09:42:58 -07002093 case ANDROID_BLACK_LEVEL_LOCK: {
2094 switch (value) {
2095 case ANDROID_BLACK_LEVEL_LOCK_OFF:
2096 msg = "OFF";
2097 ret = 0;
2098 break;
2099 case ANDROID_BLACK_LEVEL_LOCK_ON:
2100 msg = "ON";
2101 ret = 0;
2102 break;
2103 default:
2104 msg = "error: enum value out of range";
2105 }
2106 break;
2107 }
2108
Igor Murashkin5c1fc682014-01-16 17:51:36 -08002109 case ANDROID_SYNC_FRAME_NUMBER: {
2110 switch (value) {
2111 case ANDROID_SYNC_FRAME_NUMBER_CONVERGING:
2112 msg = "CONVERGING";
2113 ret = 0;
2114 break;
2115 case ANDROID_SYNC_FRAME_NUMBER_UNKNOWN:
2116 msg = "UNKNOWN";
2117 ret = 0;
2118 break;
2119 default:
2120 msg = "error: enum value out of range";
2121 }
2122 break;
2123 }
2124 case ANDROID_SYNC_MAX_LATENCY: {
2125 switch (value) {
2126 case ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
2127 msg = "PER_FRAME_CONTROL";
2128 ret = 0;
2129 break;
2130 case ANDROID_SYNC_MAX_LATENCY_UNKNOWN:
2131 msg = "UNKNOWN";
2132 ret = 0;
2133 break;
2134 default:
2135 msg = "error: enum value out of range";
2136 }
2137 break;
2138 }
2139
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002140 }
2141
2142 strncpy(dst, msg, size - 1);
2143 dst[size - 1] = '\0';
2144
2145 return ret;
2146}
2147
2148
Igor Murashkina46e02f2014-01-09 17:43:38 -08002149#define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 24