xref: /aosp_15_r20/system/media/camera/src/camera_metadata_tag_info.c (revision b9df5ad1c9ac98a7fefaac271a55f7ae3db05414)
1 /*
2  * Copyright (C) 2012 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /**
18  * !! Do not 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.
22  *
23  * Array assignments are done using specified-index syntax to keep things in
24  * sync with camera_metadata_tags.h
25  */
26 
27 /**
28  * ! Do not edit this file directly !
29  *
30  * Generated automatically from camera_metadata_tag_info.mako
31  */
32 
33 const char *camera_metadata_section_names[ANDROID_SECTION_COUNT] = {
34     [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_HOT_PIXEL]            = "android.hotPixel",
41     [ANDROID_JPEG]                 = "android.jpeg",
42     [ANDROID_LENS]                 = "android.lens",
43     [ANDROID_LENS_INFO]            = "android.lens.info",
44     [ANDROID_NOISE_REDUCTION]      = "android.noiseReduction",
45     [ANDROID_QUIRKS]               = "android.quirks",
46     [ANDROID_REQUEST]              = "android.request",
47     [ANDROID_SCALER]               = "android.scaler",
48     [ANDROID_SENSOR]               = "android.sensor",
49     [ANDROID_SENSOR_INFO]          = "android.sensor.info",
50     [ANDROID_SHADING]              = "android.shading",
51     [ANDROID_STATISTICS]           = "android.statistics",
52     [ANDROID_STATISTICS_INFO]      = "android.statistics.info",
53     [ANDROID_TONEMAP]              = "android.tonemap",
54     [ANDROID_LED]                  = "android.led",
55     [ANDROID_INFO]                 = "android.info",
56     [ANDROID_BLACK_LEVEL]          = "android.blackLevel",
57     [ANDROID_SYNC]                 = "android.sync",
58     [ANDROID_REPROCESS]            = "android.reprocess",
59     [ANDROID_DEPTH]                = "android.depth",
60     [ANDROID_LOGICAL_MULTI_CAMERA] = "android.logicalMultiCamera",
61     [ANDROID_DISTORTION_CORRECTION]
62                                     = "android.distortionCorrection",
63     [ANDROID_HEIC]                 = "android.heic",
64     [ANDROID_HEIC_INFO]            = "android.heic.info",
65     [ANDROID_AUTOMOTIVE]           = "android.automotive",
66     [ANDROID_AUTOMOTIVE_LENS]      = "android.automotive.lens",
67     [ANDROID_EXTENSION]            = "android.extension",
68     [ANDROID_JPEGR]                = "android.jpegr",
69     [ANDROID_SHARED_SESSION]       = "android.sharedSession",
70     [ANDROID_DESKTOP_EFFECTS]      = "android.desktopEffects",
71 };
72 
73 unsigned int camera_metadata_section_bounds[ANDROID_SECTION_COUNT][2] = {
74     [ANDROID_COLOR_CORRECTION]     = { ANDROID_COLOR_CORRECTION_START,
75                                        ANDROID_COLOR_CORRECTION_END },
76     [ANDROID_CONTROL]              = { ANDROID_CONTROL_START,
77                                        ANDROID_CONTROL_END },
78     [ANDROID_DEMOSAIC]             = { ANDROID_DEMOSAIC_START,
79                                        ANDROID_DEMOSAIC_END },
80     [ANDROID_EDGE]                 = { ANDROID_EDGE_START,
81                                        ANDROID_EDGE_END },
82     [ANDROID_FLASH]                = { ANDROID_FLASH_START,
83                                        ANDROID_FLASH_END },
84     [ANDROID_FLASH_INFO]           = { ANDROID_FLASH_INFO_START,
85                                        ANDROID_FLASH_INFO_END },
86     [ANDROID_HOT_PIXEL]            = { ANDROID_HOT_PIXEL_START,
87                                        ANDROID_HOT_PIXEL_END },
88     [ANDROID_JPEG]                 = { ANDROID_JPEG_START,
89                                        ANDROID_JPEG_END },
90     [ANDROID_LENS]                 = { ANDROID_LENS_START,
91                                        ANDROID_LENS_END },
92     [ANDROID_LENS_INFO]            = { ANDROID_LENS_INFO_START,
93                                        ANDROID_LENS_INFO_END },
94     [ANDROID_NOISE_REDUCTION]      = { ANDROID_NOISE_REDUCTION_START,
95                                        ANDROID_NOISE_REDUCTION_END },
96     [ANDROID_QUIRKS]               = { ANDROID_QUIRKS_START,
97                                        ANDROID_QUIRKS_END },
98     [ANDROID_REQUEST]              = { ANDROID_REQUEST_START,
99                                        ANDROID_REQUEST_END },
100     [ANDROID_SCALER]               = { ANDROID_SCALER_START,
101                                        ANDROID_SCALER_END },
102     [ANDROID_SENSOR]               = { ANDROID_SENSOR_START,
103                                        ANDROID_SENSOR_END },
104     [ANDROID_SENSOR_INFO]          = { ANDROID_SENSOR_INFO_START,
105                                        ANDROID_SENSOR_INFO_END },
106     [ANDROID_SHADING]              = { ANDROID_SHADING_START,
107                                        ANDROID_SHADING_END },
108     [ANDROID_STATISTICS]           = { ANDROID_STATISTICS_START,
109                                        ANDROID_STATISTICS_END },
110     [ANDROID_STATISTICS_INFO]      = { ANDROID_STATISTICS_INFO_START,
111                                        ANDROID_STATISTICS_INFO_END },
112     [ANDROID_TONEMAP]              = { ANDROID_TONEMAP_START,
113                                        ANDROID_TONEMAP_END },
114     [ANDROID_LED]                  = { ANDROID_LED_START,
115                                        ANDROID_LED_END },
116     [ANDROID_INFO]                 = { ANDROID_INFO_START,
117                                        ANDROID_INFO_END },
118     [ANDROID_BLACK_LEVEL]          = { ANDROID_BLACK_LEVEL_START,
119                                        ANDROID_BLACK_LEVEL_END },
120     [ANDROID_SYNC]                 = { ANDROID_SYNC_START,
121                                        ANDROID_SYNC_END },
122     [ANDROID_REPROCESS]            = { ANDROID_REPROCESS_START,
123                                        ANDROID_REPROCESS_END },
124     [ANDROID_DEPTH]                = { ANDROID_DEPTH_START,
125                                        ANDROID_DEPTH_END },
126     [ANDROID_LOGICAL_MULTI_CAMERA] = { ANDROID_LOGICAL_MULTI_CAMERA_START,
127                                        ANDROID_LOGICAL_MULTI_CAMERA_END },
128     [ANDROID_DISTORTION_CORRECTION]
129                                     = { ANDROID_DISTORTION_CORRECTION_START,
130                                        ANDROID_DISTORTION_CORRECTION_END },
131     [ANDROID_HEIC]                 = { ANDROID_HEIC_START,
132                                        ANDROID_HEIC_END },
133     [ANDROID_HEIC_INFO]            = { ANDROID_HEIC_INFO_START,
134                                        ANDROID_HEIC_INFO_END },
135     [ANDROID_AUTOMOTIVE]           = { ANDROID_AUTOMOTIVE_START,
136                                        ANDROID_AUTOMOTIVE_END },
137     [ANDROID_AUTOMOTIVE_LENS]      = { ANDROID_AUTOMOTIVE_LENS_START,
138                                        ANDROID_AUTOMOTIVE_LENS_END },
139     [ANDROID_EXTENSION]            = { ANDROID_EXTENSION_START,
140                                        ANDROID_EXTENSION_END },
141     [ANDROID_JPEGR]                = { ANDROID_JPEGR_START,
142                                        ANDROID_JPEGR_END },
143     [ANDROID_SHARED_SESSION]       = { ANDROID_SHARED_SESSION_START,
144                                        ANDROID_SHARED_SESSION_END },
145     [ANDROID_DESKTOP_EFFECTS]      = { ANDROID_DESKTOP_EFFECTS_START,
146                                        ANDROID_DESKTOP_EFFECTS_END },
147 };
148 
149 static tag_info_t android_color_correction[ANDROID_COLOR_CORRECTION_END -
150         ANDROID_COLOR_CORRECTION_START] = {
151     [ ANDROID_COLOR_CORRECTION_MODE - ANDROID_COLOR_CORRECTION_START ] =
152     { "mode",                          TYPE_BYTE   },
153     [ ANDROID_COLOR_CORRECTION_TRANSFORM - ANDROID_COLOR_CORRECTION_START ] =
154     { "transform",                     TYPE_RATIONAL
155                 },
156     [ ANDROID_COLOR_CORRECTION_GAINS - ANDROID_COLOR_CORRECTION_START ] =
157     { "gains",                         TYPE_FLOAT  },
158     [ ANDROID_COLOR_CORRECTION_ABERRATION_MODE - ANDROID_COLOR_CORRECTION_START ] =
159     { "aberrationMode",                TYPE_BYTE   },
160     [ ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES - ANDROID_COLOR_CORRECTION_START ] =
161     { "availableAberrationModes",      TYPE_BYTE   },
162     [ ANDROID_COLOR_CORRECTION_COLOR_TEMPERATURE - ANDROID_COLOR_CORRECTION_START ] =
163     { "colorTemperature",              TYPE_INT32  },
164     [ ANDROID_COLOR_CORRECTION_COLOR_TINT - ANDROID_COLOR_CORRECTION_START ] =
165     { "colorTint",                     TYPE_INT32  },
166     [ ANDROID_COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE - ANDROID_COLOR_CORRECTION_START ] =
167     { "colorTemperatureRange",         TYPE_INT32  },
168     [ ANDROID_COLOR_CORRECTION_AVAILABLE_MODES - ANDROID_COLOR_CORRECTION_START ] =
169     { "availableModes",                TYPE_BYTE   },
170 };
171 
172 static tag_info_t android_control[ANDROID_CONTROL_END -
173         ANDROID_CONTROL_START] = {
174     [ ANDROID_CONTROL_AE_ANTIBANDING_MODE - ANDROID_CONTROL_START ] =
175     { "aeAntibandingMode",             TYPE_BYTE   },
176     [ ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION - ANDROID_CONTROL_START ] =
177     { "aeExposureCompensation",        TYPE_INT32  },
178     [ ANDROID_CONTROL_AE_LOCK - ANDROID_CONTROL_START ] =
179     { "aeLock",                        TYPE_BYTE   },
180     [ ANDROID_CONTROL_AE_MODE - ANDROID_CONTROL_START ] =
181     { "aeMode",                        TYPE_BYTE   },
182     [ ANDROID_CONTROL_AE_REGIONS - ANDROID_CONTROL_START ] =
183     { "aeRegions",                     TYPE_INT32  },
184     [ ANDROID_CONTROL_AE_TARGET_FPS_RANGE - ANDROID_CONTROL_START ] =
185     { "aeTargetFpsRange",              TYPE_INT32  },
186     [ ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER - ANDROID_CONTROL_START ] =
187     { "aePrecaptureTrigger",           TYPE_BYTE   },
188     [ ANDROID_CONTROL_AF_MODE - ANDROID_CONTROL_START ] =
189     { "afMode",                        TYPE_BYTE   },
190     [ ANDROID_CONTROL_AF_REGIONS - ANDROID_CONTROL_START ] =
191     { "afRegions",                     TYPE_INT32  },
192     [ ANDROID_CONTROL_AF_TRIGGER - ANDROID_CONTROL_START ] =
193     { "afTrigger",                     TYPE_BYTE   },
194     [ ANDROID_CONTROL_AWB_LOCK - ANDROID_CONTROL_START ] =
195     { "awbLock",                       TYPE_BYTE   },
196     [ ANDROID_CONTROL_AWB_MODE - ANDROID_CONTROL_START ] =
197     { "awbMode",                       TYPE_BYTE   },
198     [ ANDROID_CONTROL_AWB_REGIONS - ANDROID_CONTROL_START ] =
199     { "awbRegions",                    TYPE_INT32  },
200     [ ANDROID_CONTROL_CAPTURE_INTENT - ANDROID_CONTROL_START ] =
201     { "captureIntent",                 TYPE_BYTE   },
202     [ ANDROID_CONTROL_EFFECT_MODE - ANDROID_CONTROL_START ] =
203     { "effectMode",                    TYPE_BYTE   },
204     [ ANDROID_CONTROL_MODE - ANDROID_CONTROL_START ] =
205     { "mode",                          TYPE_BYTE   },
206     [ ANDROID_CONTROL_SCENE_MODE - ANDROID_CONTROL_START ] =
207     { "sceneMode",                     TYPE_BYTE   },
208     [ ANDROID_CONTROL_VIDEO_STABILIZATION_MODE - ANDROID_CONTROL_START ] =
209     { "videoStabilizationMode",        TYPE_BYTE   },
210     [ ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES - ANDROID_CONTROL_START ] =
211     { "aeAvailableAntibandingModes",   TYPE_BYTE   },
212     [ ANDROID_CONTROL_AE_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
213     { "aeAvailableModes",              TYPE_BYTE   },
214     [ ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES - ANDROID_CONTROL_START ] =
215     { "aeAvailableTargetFpsRanges",    TYPE_INT32  },
216     [ ANDROID_CONTROL_AE_COMPENSATION_RANGE - ANDROID_CONTROL_START ] =
217     { "aeCompensationRange",           TYPE_INT32  },
218     [ ANDROID_CONTROL_AE_COMPENSATION_STEP - ANDROID_CONTROL_START ] =
219     { "aeCompensationStep",            TYPE_RATIONAL
220                 },
221     [ ANDROID_CONTROL_AF_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
222     { "afAvailableModes",              TYPE_BYTE   },
223     [ ANDROID_CONTROL_AVAILABLE_EFFECTS - ANDROID_CONTROL_START ] =
224     { "availableEffects",              TYPE_BYTE   },
225     [ ANDROID_CONTROL_AVAILABLE_SCENE_MODES - ANDROID_CONTROL_START ] =
226     { "availableSceneModes",           TYPE_BYTE   },
227     [ ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES - ANDROID_CONTROL_START ] =
228     { "availableVideoStabilizationModes",
229                                         TYPE_BYTE   },
230     [ ANDROID_CONTROL_AWB_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
231     { "awbAvailableModes",             TYPE_BYTE   },
232     [ ANDROID_CONTROL_MAX_REGIONS - ANDROID_CONTROL_START ] =
233     { "maxRegions",                    TYPE_INT32  },
234     [ ANDROID_CONTROL_SCENE_MODE_OVERRIDES - ANDROID_CONTROL_START ] =
235     { "sceneModeOverrides",            TYPE_BYTE   },
236     [ ANDROID_CONTROL_AE_PRECAPTURE_ID - ANDROID_CONTROL_START ] =
237     { "aePrecaptureId",                TYPE_INT32  },
238     [ ANDROID_CONTROL_AE_STATE - ANDROID_CONTROL_START ] =
239     { "aeState",                       TYPE_BYTE   },
240     [ ANDROID_CONTROL_AF_STATE - ANDROID_CONTROL_START ] =
241     { "afState",                       TYPE_BYTE   },
242     [ ANDROID_CONTROL_AF_TRIGGER_ID - ANDROID_CONTROL_START ] =
243     { "afTriggerId",                   TYPE_INT32  },
244     [ ANDROID_CONTROL_AWB_STATE - ANDROID_CONTROL_START ] =
245     { "awbState",                      TYPE_BYTE   },
246     [ ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS - ANDROID_CONTROL_START ] =
247     { "availableHighSpeedVideoConfigurations",
248                                         TYPE_INT32  },
249     [ ANDROID_CONTROL_AE_LOCK_AVAILABLE - ANDROID_CONTROL_START ] =
250     { "aeLockAvailable",               TYPE_BYTE   },
251     [ ANDROID_CONTROL_AWB_LOCK_AVAILABLE - ANDROID_CONTROL_START ] =
252     { "awbLockAvailable",              TYPE_BYTE   },
253     [ ANDROID_CONTROL_AVAILABLE_MODES - ANDROID_CONTROL_START ] =
254     { "availableModes",                TYPE_BYTE   },
255     [ ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE - ANDROID_CONTROL_START ] =
256     { "postRawSensitivityBoostRange",  TYPE_INT32  },
257     [ ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST - ANDROID_CONTROL_START ] =
258     { "postRawSensitivityBoost",       TYPE_INT32  },
259     [ ANDROID_CONTROL_ENABLE_ZSL - ANDROID_CONTROL_START ] =
260     { "enableZsl",                     TYPE_BYTE   },
261     [ ANDROID_CONTROL_AF_SCENE_CHANGE - ANDROID_CONTROL_START ] =
262     { "afSceneChange",                 TYPE_BYTE   },
263     [ ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES - ANDROID_CONTROL_START ] =
264     { "availableExtendedSceneModeMaxSizes",
265                                         TYPE_INT32  },
266     [ ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES - ANDROID_CONTROL_START ] =
267     { "availableExtendedSceneModeZoomRatioRanges",
268                                         TYPE_FLOAT  },
269     [ ANDROID_CONTROL_EXTENDED_SCENE_MODE - ANDROID_CONTROL_START ] =
270     { "extendedSceneMode",             TYPE_BYTE   },
271     [ ANDROID_CONTROL_ZOOM_RATIO_RANGE - ANDROID_CONTROL_START ] =
272     { "zoomRatioRange",                TYPE_FLOAT  },
273     [ ANDROID_CONTROL_ZOOM_RATIO - ANDROID_CONTROL_START ] =
274     { "zoomRatio",                     TYPE_FLOAT  },
275     [ ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_CONTROL_START ] =
276     { "availableHighSpeedVideoConfigurationsMaximumResolution",
277                                         TYPE_INT32  },
278     [ ANDROID_CONTROL_AF_REGIONS_SET - ANDROID_CONTROL_START ] =
279     { "afRegionsSet",                  TYPE_BYTE   },
280     [ ANDROID_CONTROL_AE_REGIONS_SET - ANDROID_CONTROL_START ] =
281     { "aeRegionsSet",                  TYPE_BYTE   },
282     [ ANDROID_CONTROL_AWB_REGIONS_SET - ANDROID_CONTROL_START ] =
283     { "awbRegionsSet",                 TYPE_BYTE   },
284     [ ANDROID_CONTROL_SETTINGS_OVERRIDE - ANDROID_CONTROL_START ] =
285     { "settingsOverride",              TYPE_INT32  },
286     [ ANDROID_CONTROL_AVAILABLE_SETTINGS_OVERRIDES - ANDROID_CONTROL_START ] =
287     { "availableSettingsOverrides",    TYPE_INT32  },
288     [ ANDROID_CONTROL_SETTINGS_OVERRIDING_FRAME_NUMBER - ANDROID_CONTROL_START ] =
289     { "settingsOverridingFrameNumber", TYPE_INT32  },
290     [ ANDROID_CONTROL_AUTOFRAMING - ANDROID_CONTROL_START ] =
291     { "autoframing",                   TYPE_BYTE   },
292     [ ANDROID_CONTROL_AUTOFRAMING_AVAILABLE - ANDROID_CONTROL_START ] =
293     { "autoframingAvailable",          TYPE_BYTE   },
294     [ ANDROID_CONTROL_AUTOFRAMING_STATE - ANDROID_CONTROL_START ] =
295     { "autoframingState",              TYPE_BYTE   },
296     [ ANDROID_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE - ANDROID_CONTROL_START ] =
297     { "lowLightBoostInfoLuminanceRange",
298                                         TYPE_FLOAT  },
299     [ ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE - ANDROID_CONTROL_START ] =
300     { "lowLightBoostState",            TYPE_BYTE   },
301     [ ANDROID_CONTROL_ZOOM_METHOD - ANDROID_CONTROL_START ] =
302     { "zoomMethod",                    TYPE_BYTE   },
303     [ ANDROID_CONTROL_AE_PRIORITY_MODE - ANDROID_CONTROL_START ] =
304     { "aePriorityMode",                TYPE_BYTE   },
305     [ ANDROID_CONTROL_AE_AVAILABLE_PRIORITY_MODES - ANDROID_CONTROL_START ] =
306     { "aeAvailablePriorityModes",      TYPE_BYTE   },
307 };
308 
309 static tag_info_t android_demosaic[ANDROID_DEMOSAIC_END -
310         ANDROID_DEMOSAIC_START] = {
311     [ ANDROID_DEMOSAIC_MODE - ANDROID_DEMOSAIC_START ] =
312     { "mode",                          TYPE_BYTE   },
313 };
314 
315 static tag_info_t android_edge[ANDROID_EDGE_END -
316         ANDROID_EDGE_START] = {
317     [ ANDROID_EDGE_MODE - ANDROID_EDGE_START ] =
318     { "mode",                          TYPE_BYTE   },
319     [ ANDROID_EDGE_STRENGTH - ANDROID_EDGE_START ] =
320     { "strength",                      TYPE_BYTE   },
321     [ ANDROID_EDGE_AVAILABLE_EDGE_MODES - ANDROID_EDGE_START ] =
322     { "availableEdgeModes",            TYPE_BYTE   },
323 };
324 
325 static tag_info_t android_flash[ANDROID_FLASH_END -
326         ANDROID_FLASH_START] = {
327     [ ANDROID_FLASH_FIRING_POWER - ANDROID_FLASH_START ] =
328     { "firingPower",                   TYPE_BYTE   },
329     [ ANDROID_FLASH_FIRING_TIME - ANDROID_FLASH_START ] =
330     { "firingTime",                    TYPE_INT64  },
331     [ ANDROID_FLASH_MODE - ANDROID_FLASH_START ] =
332     { "mode",                          TYPE_BYTE   },
333     [ ANDROID_FLASH_COLOR_TEMPERATURE - ANDROID_FLASH_START ] =
334     { "colorTemperature",              TYPE_BYTE   },
335     [ ANDROID_FLASH_MAX_ENERGY - ANDROID_FLASH_START ] =
336     { "maxEnergy",                     TYPE_BYTE   },
337     [ ANDROID_FLASH_STATE - ANDROID_FLASH_START ] =
338     { "state",                         TYPE_BYTE   },
339     [ ANDROID_FLASH_STRENGTH_LEVEL - ANDROID_FLASH_START ] =
340     { "strengthLevel",                 TYPE_INT32  },
341     [ ANDROID_FLASH_SINGLE_STRENGTH_MAX_LEVEL - ANDROID_FLASH_START ] =
342     { "singleStrengthMaxLevel",        TYPE_INT32  },
343     [ ANDROID_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL - ANDROID_FLASH_START ] =
344     { "singleStrengthDefaultLevel",    TYPE_INT32  },
345     [ ANDROID_FLASH_TORCH_STRENGTH_MAX_LEVEL - ANDROID_FLASH_START ] =
346     { "torchStrengthMaxLevel",         TYPE_INT32  },
347     [ ANDROID_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL - ANDROID_FLASH_START ] =
348     { "torchStrengthDefaultLevel",     TYPE_INT32  },
349 };
350 
351 static tag_info_t android_flash_info[ANDROID_FLASH_INFO_END -
352         ANDROID_FLASH_INFO_START] = {
353     [ ANDROID_FLASH_INFO_AVAILABLE - ANDROID_FLASH_INFO_START ] =
354     { "available",                     TYPE_BYTE   },
355     [ ANDROID_FLASH_INFO_CHARGE_DURATION - ANDROID_FLASH_INFO_START ] =
356     { "chargeDuration",                TYPE_INT64  },
357     [ ANDROID_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL - ANDROID_FLASH_INFO_START ] =
358     { "strengthMaximumLevel",          TYPE_INT32  },
359     [ ANDROID_FLASH_INFO_STRENGTH_DEFAULT_LEVEL - ANDROID_FLASH_INFO_START ] =
360     { "strengthDefaultLevel",          TYPE_INT32  },
361 };
362 
363 static tag_info_t android_hot_pixel[ANDROID_HOT_PIXEL_END -
364         ANDROID_HOT_PIXEL_START] = {
365     [ ANDROID_HOT_PIXEL_MODE - ANDROID_HOT_PIXEL_START ] =
366     { "mode",                          TYPE_BYTE   },
367     [ ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES - ANDROID_HOT_PIXEL_START ] =
368     { "availableHotPixelModes",        TYPE_BYTE   },
369 };
370 
371 static tag_info_t android_jpeg[ANDROID_JPEG_END -
372         ANDROID_JPEG_START] = {
373     [ ANDROID_JPEG_GPS_COORDINATES - ANDROID_JPEG_START ] =
374     { "gpsCoordinates",                TYPE_DOUBLE },
375     [ ANDROID_JPEG_GPS_PROCESSING_METHOD - ANDROID_JPEG_START ] =
376     { "gpsProcessingMethod",           TYPE_BYTE   },
377     [ ANDROID_JPEG_GPS_TIMESTAMP - ANDROID_JPEG_START ] =
378     { "gpsTimestamp",                  TYPE_INT64  },
379     [ ANDROID_JPEG_ORIENTATION - ANDROID_JPEG_START ] =
380     { "orientation",                   TYPE_INT32  },
381     [ ANDROID_JPEG_QUALITY - ANDROID_JPEG_START ] =
382     { "quality",                       TYPE_BYTE   },
383     [ ANDROID_JPEG_THUMBNAIL_QUALITY - ANDROID_JPEG_START ] =
384     { "thumbnailQuality",              TYPE_BYTE   },
385     [ ANDROID_JPEG_THUMBNAIL_SIZE - ANDROID_JPEG_START ] =
386     { "thumbnailSize",                 TYPE_INT32  },
387     [ ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES - ANDROID_JPEG_START ] =
388     { "availableThumbnailSizes",       TYPE_INT32  },
389     [ ANDROID_JPEG_MAX_SIZE - ANDROID_JPEG_START ] =
390     { "maxSize",                       TYPE_INT32  },
391     [ ANDROID_JPEG_SIZE - ANDROID_JPEG_START ] =
392     { "size",                          TYPE_INT32  },
393 };
394 
395 static tag_info_t android_lens[ANDROID_LENS_END -
396         ANDROID_LENS_START] = {
397     [ ANDROID_LENS_APERTURE - ANDROID_LENS_START ] =
398     { "aperture",                      TYPE_FLOAT  },
399     [ ANDROID_LENS_FILTER_DENSITY - ANDROID_LENS_START ] =
400     { "filterDensity",                 TYPE_FLOAT  },
401     [ ANDROID_LENS_FOCAL_LENGTH - ANDROID_LENS_START ] =
402     { "focalLength",                   TYPE_FLOAT  },
403     [ ANDROID_LENS_FOCUS_DISTANCE - ANDROID_LENS_START ] =
404     { "focusDistance",                 TYPE_FLOAT  },
405     [ ANDROID_LENS_OPTICAL_STABILIZATION_MODE - ANDROID_LENS_START ] =
406     { "opticalStabilizationMode",      TYPE_BYTE   },
407     [ ANDROID_LENS_FACING - ANDROID_LENS_START ] =
408     { "facing",                        TYPE_BYTE   },
409     [ ANDROID_LENS_POSE_ROTATION - ANDROID_LENS_START ] =
410     { "poseRotation",                  TYPE_FLOAT  },
411     [ ANDROID_LENS_POSE_TRANSLATION - ANDROID_LENS_START ] =
412     { "poseTranslation",               TYPE_FLOAT  },
413     [ ANDROID_LENS_FOCUS_RANGE - ANDROID_LENS_START ] =
414     { "focusRange",                    TYPE_FLOAT  },
415     [ ANDROID_LENS_STATE - ANDROID_LENS_START ] =
416     { "state",                         TYPE_BYTE   },
417     [ ANDROID_LENS_INTRINSIC_CALIBRATION - ANDROID_LENS_START ] =
418     { "intrinsicCalibration",          TYPE_FLOAT  },
419     [ ANDROID_LENS_RADIAL_DISTORTION - ANDROID_LENS_START ] =
420     { "radialDistortion",              TYPE_FLOAT  },
421     [ ANDROID_LENS_POSE_REFERENCE - ANDROID_LENS_START ] =
422     { "poseReference",                 TYPE_BYTE   },
423     [ ANDROID_LENS_DISTORTION - ANDROID_LENS_START ] =
424     { "distortion",                    TYPE_FLOAT  },
425     [ ANDROID_LENS_DISTORTION_MAXIMUM_RESOLUTION - ANDROID_LENS_START ] =
426     { "distortionMaximumResolution",   TYPE_FLOAT  },
427     [ ANDROID_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION - ANDROID_LENS_START ] =
428     { "intrinsicCalibrationMaximumResolution",
429                                         TYPE_FLOAT  },
430 };
431 
432 static tag_info_t android_lens_info[ANDROID_LENS_INFO_END -
433         ANDROID_LENS_INFO_START] = {
434     [ ANDROID_LENS_INFO_AVAILABLE_APERTURES - ANDROID_LENS_INFO_START ] =
435     { "availableApertures",            TYPE_FLOAT  },
436     [ ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES - ANDROID_LENS_INFO_START ] =
437     { "availableFilterDensities",      TYPE_FLOAT  },
438     [ ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS - ANDROID_LENS_INFO_START ] =
439     { "availableFocalLengths",         TYPE_FLOAT  },
440     [ ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION - ANDROID_LENS_INFO_START ] =
441     { "availableOpticalStabilization", TYPE_BYTE   },
442     [ ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE - ANDROID_LENS_INFO_START ] =
443     { "hyperfocalDistance",            TYPE_FLOAT  },
444     [ ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE - ANDROID_LENS_INFO_START ] =
445     { "minimumFocusDistance",          TYPE_FLOAT  },
446     [ ANDROID_LENS_INFO_SHADING_MAP_SIZE - ANDROID_LENS_INFO_START ] =
447     { "shadingMapSize",                TYPE_INT32  },
448     [ ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION - ANDROID_LENS_INFO_START ] =
449     { "focusDistanceCalibration",      TYPE_BYTE   },
450 };
451 
452 static tag_info_t android_noise_reduction[ANDROID_NOISE_REDUCTION_END -
453         ANDROID_NOISE_REDUCTION_START] = {
454     [ ANDROID_NOISE_REDUCTION_MODE - ANDROID_NOISE_REDUCTION_START ] =
455     { "mode",                          TYPE_BYTE   },
456     [ ANDROID_NOISE_REDUCTION_STRENGTH - ANDROID_NOISE_REDUCTION_START ] =
457     { "strength",                      TYPE_BYTE   },
458     [ ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES - ANDROID_NOISE_REDUCTION_START ] =
459     { "availableNoiseReductionModes",  TYPE_BYTE   },
460 };
461 
462 static tag_info_t android_quirks[ANDROID_QUIRKS_END -
463         ANDROID_QUIRKS_START] = {
464     [ ANDROID_QUIRKS_METERING_CROP_REGION - ANDROID_QUIRKS_START ] =
465     { "meteringCropRegion",            TYPE_BYTE   },
466     [ ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO - ANDROID_QUIRKS_START ] =
467     { "triggerAfWithAuto",             TYPE_BYTE   },
468     [ ANDROID_QUIRKS_USE_ZSL_FORMAT - ANDROID_QUIRKS_START ] =
469     { "useZslFormat",                  TYPE_BYTE   },
470     [ ANDROID_QUIRKS_USE_PARTIAL_RESULT - ANDROID_QUIRKS_START ] =
471     { "usePartialResult",              TYPE_BYTE   },
472     [ ANDROID_QUIRKS_PARTIAL_RESULT - ANDROID_QUIRKS_START ] =
473     { "partialResult",                 TYPE_BYTE   },
474 };
475 
476 static tag_info_t android_request[ANDROID_REQUEST_END -
477         ANDROID_REQUEST_START] = {
478     [ ANDROID_REQUEST_FRAME_COUNT - ANDROID_REQUEST_START ] =
479     { "frameCount",                    TYPE_INT32  },
480     [ ANDROID_REQUEST_ID - ANDROID_REQUEST_START ] =
481     { "id",                            TYPE_INT32  },
482     [ ANDROID_REQUEST_INPUT_STREAMS - ANDROID_REQUEST_START ] =
483     { "inputStreams",                  TYPE_INT32  },
484     [ ANDROID_REQUEST_METADATA_MODE - ANDROID_REQUEST_START ] =
485     { "metadataMode",                  TYPE_BYTE   },
486     [ ANDROID_REQUEST_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
487     { "outputStreams",                 TYPE_INT32  },
488     [ ANDROID_REQUEST_TYPE - ANDROID_REQUEST_START ] =
489     { "type",                          TYPE_BYTE   },
490     [ ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS - ANDROID_REQUEST_START ] =
491     { "maxNumOutputStreams",           TYPE_INT32  },
492     [ ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS - ANDROID_REQUEST_START ] =
493     { "maxNumReprocessStreams",        TYPE_INT32  },
494     [ ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS - ANDROID_REQUEST_START ] =
495     { "maxNumInputStreams",            TYPE_INT32  },
496     [ ANDROID_REQUEST_PIPELINE_DEPTH - ANDROID_REQUEST_START ] =
497     { "pipelineDepth",                 TYPE_BYTE   },
498     [ ANDROID_REQUEST_PIPELINE_MAX_DEPTH - ANDROID_REQUEST_START ] =
499     { "pipelineMaxDepth",              TYPE_BYTE   },
500     [ ANDROID_REQUEST_PARTIAL_RESULT_COUNT - ANDROID_REQUEST_START ] =
501     { "partialResultCount",            TYPE_INT32  },
502     [ ANDROID_REQUEST_AVAILABLE_CAPABILITIES - ANDROID_REQUEST_START ] =
503     { "availableCapabilities",         TYPE_BYTE   },
504     [ ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS - ANDROID_REQUEST_START ] =
505     { "availableRequestKeys",          TYPE_INT32  },
506     [ ANDROID_REQUEST_AVAILABLE_RESULT_KEYS - ANDROID_REQUEST_START ] =
507     { "availableResultKeys",           TYPE_INT32  },
508     [ ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS - ANDROID_REQUEST_START ] =
509     { "availableCharacteristicsKeys",  TYPE_INT32  },
510     [ ANDROID_REQUEST_AVAILABLE_SESSION_KEYS - ANDROID_REQUEST_START ] =
511     { "availableSessionKeys",          TYPE_INT32  },
512     [ ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS - ANDROID_REQUEST_START ] =
513     { "availablePhysicalCameraRequestKeys",
514                                         TYPE_INT32  },
515     [ ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION - ANDROID_REQUEST_START ] =
516     { "characteristicKeysNeedingPermission",
517                                         TYPE_INT32  },
518     [ ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP - ANDROID_REQUEST_START ] =
519     { "availableDynamicRangeProfilesMap",
520                                         TYPE_INT64  },
521     [ ANDROID_REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE - ANDROID_REQUEST_START ] =
522     { "recommendedTenBitDynamicRangeProfile",
523                                         TYPE_INT64  },
524     [ ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP - ANDROID_REQUEST_START ] =
525     { "availableColorSpaceProfilesMap",
526                                         TYPE_INT64  },
527 };
528 
529 static tag_info_t android_scaler[ANDROID_SCALER_END -
530         ANDROID_SCALER_START] = {
531     [ ANDROID_SCALER_CROP_REGION - ANDROID_SCALER_START ] =
532     { "cropRegion",                    TYPE_INT32  },
533     [ ANDROID_SCALER_AVAILABLE_FORMATS - ANDROID_SCALER_START ] =
534     { "availableFormats",              TYPE_INT32  },
535     [ ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS - ANDROID_SCALER_START ] =
536     { "availableJpegMinDurations",     TYPE_INT64  },
537     [ ANDROID_SCALER_AVAILABLE_JPEG_SIZES - ANDROID_SCALER_START ] =
538     { "availableJpegSizes",            TYPE_INT32  },
539     [ ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM - ANDROID_SCALER_START ] =
540     { "availableMaxDigitalZoom",       TYPE_FLOAT  },
541     [ ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS - ANDROID_SCALER_START ] =
542     { "availableProcessedMinDurations",
543                                         TYPE_INT64  },
544     [ ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES - ANDROID_SCALER_START ] =
545     { "availableProcessedSizes",       TYPE_INT32  },
546     [ ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS - ANDROID_SCALER_START ] =
547     { "availableRawMinDurations",      TYPE_INT64  },
548     [ ANDROID_SCALER_AVAILABLE_RAW_SIZES - ANDROID_SCALER_START ] =
549     { "availableRawSizes",             TYPE_INT32  },
550     [ ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP - ANDROID_SCALER_START ] =
551     { "availableInputOutputFormatsMap",
552                                         TYPE_INT32  },
553     [ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS - ANDROID_SCALER_START ] =
554     { "availableStreamConfigurations", TYPE_INT32  },
555     [ ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS - ANDROID_SCALER_START ] =
556     { "availableMinFrameDurations",    TYPE_INT64  },
557     [ ANDROID_SCALER_AVAILABLE_STALL_DURATIONS - ANDROID_SCALER_START ] =
558     { "availableStallDurations",       TYPE_INT64  },
559     [ ANDROID_SCALER_CROPPING_TYPE - ANDROID_SCALER_START ] =
560     { "croppingType",                  TYPE_BYTE   },
561     [ ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS - ANDROID_SCALER_START ] =
562     { "availableRecommendedStreamConfigurations",
563                                         TYPE_INT32  },
564     [ ANDROID_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP - ANDROID_SCALER_START ] =
565     { "availableRecommendedInputOutputFormatsMap",
566                                         TYPE_INT32  },
567     [ ANDROID_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES - ANDROID_SCALER_START ] =
568     { "availableRotateAndCropModes",   TYPE_BYTE   },
569     [ ANDROID_SCALER_ROTATE_AND_CROP - ANDROID_SCALER_START ] =
570     { "rotateAndCrop",                 TYPE_BYTE   },
571     [ ANDROID_SCALER_DEFAULT_SECURE_IMAGE_SIZE - ANDROID_SCALER_START ] =
572     { "defaultSecureImageSize",        TYPE_INT32  },
573     [ ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS - ANDROID_SCALER_START ] =
574     { "physicalCameraMultiResolutionStreamConfigurations",
575                                         TYPE_INT32  },
576     [ ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_SCALER_START ] =
577     { "availableStreamConfigurationsMaximumResolution",
578                                         TYPE_INT32  },
579     [ ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_SCALER_START ] =
580     { "availableMinFrameDurationsMaximumResolution",
581                                         TYPE_INT64  },
582     [ ANDROID_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_SCALER_START ] =
583     { "availableStallDurationsMaximumResolution",
584                                         TYPE_INT64  },
585     [ ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION - ANDROID_SCALER_START ] =
586     { "availableInputOutputFormatsMapMaximumResolution",
587                                         TYPE_INT32  },
588     [ ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED - ANDROID_SCALER_START ] =
589     { "multiResolutionStreamSupported",
590                                         TYPE_BYTE   },
591     [ ANDROID_SCALER_CROP_REGION_SET - ANDROID_SCALER_START ] =
592     { "cropRegionSet",                 TYPE_BYTE   },
593     [ ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES - ANDROID_SCALER_START ] =
594     { "availableStreamUseCases",       TYPE_INT64  },
595     [ ANDROID_SCALER_RAW_CROP_REGION - ANDROID_SCALER_START ] =
596     { "rawCropRegion",                 TYPE_INT32  },
597 };
598 
599 static tag_info_t android_sensor[ANDROID_SENSOR_END -
600         ANDROID_SENSOR_START] = {
601     [ ANDROID_SENSOR_EXPOSURE_TIME - ANDROID_SENSOR_START ] =
602     { "exposureTime",                  TYPE_INT64  },
603     [ ANDROID_SENSOR_FRAME_DURATION - ANDROID_SENSOR_START ] =
604     { "frameDuration",                 TYPE_INT64  },
605     [ ANDROID_SENSOR_SENSITIVITY - ANDROID_SENSOR_START ] =
606     { "sensitivity",                   TYPE_INT32  },
607     [ ANDROID_SENSOR_REFERENCE_ILLUMINANT1 - ANDROID_SENSOR_START ] =
608     { "referenceIlluminant1",          TYPE_BYTE   },
609     [ ANDROID_SENSOR_REFERENCE_ILLUMINANT2 - ANDROID_SENSOR_START ] =
610     { "referenceIlluminant2",          TYPE_BYTE   },
611     [ ANDROID_SENSOR_CALIBRATION_TRANSFORM1 - ANDROID_SENSOR_START ] =
612     { "calibrationTransform1",         TYPE_RATIONAL
613                 },
614     [ ANDROID_SENSOR_CALIBRATION_TRANSFORM2 - ANDROID_SENSOR_START ] =
615     { "calibrationTransform2",         TYPE_RATIONAL
616                 },
617     [ ANDROID_SENSOR_COLOR_TRANSFORM1 - ANDROID_SENSOR_START ] =
618     { "colorTransform1",               TYPE_RATIONAL
619                 },
620     [ ANDROID_SENSOR_COLOR_TRANSFORM2 - ANDROID_SENSOR_START ] =
621     { "colorTransform2",               TYPE_RATIONAL
622                 },
623     [ ANDROID_SENSOR_FORWARD_MATRIX1 - ANDROID_SENSOR_START ] =
624     { "forwardMatrix1",                TYPE_RATIONAL
625                 },
626     [ ANDROID_SENSOR_FORWARD_MATRIX2 - ANDROID_SENSOR_START ] =
627     { "forwardMatrix2",                TYPE_RATIONAL
628                 },
629     [ ANDROID_SENSOR_BASE_GAIN_FACTOR - ANDROID_SENSOR_START ] =
630     { "baseGainFactor",                TYPE_RATIONAL
631                 },
632     [ ANDROID_SENSOR_BLACK_LEVEL_PATTERN - ANDROID_SENSOR_START ] =
633     { "blackLevelPattern",             TYPE_INT32  },
634     [ ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY - ANDROID_SENSOR_START ] =
635     { "maxAnalogSensitivity",          TYPE_INT32  },
636     [ ANDROID_SENSOR_ORIENTATION - ANDROID_SENSOR_START ] =
637     { "orientation",                   TYPE_INT32  },
638     [ ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS - ANDROID_SENSOR_START ] =
639     { "profileHueSatMapDimensions",    TYPE_INT32  },
640     [ ANDROID_SENSOR_TIMESTAMP - ANDROID_SENSOR_START ] =
641     { "timestamp",                     TYPE_INT64  },
642     [ ANDROID_SENSOR_TEMPERATURE - ANDROID_SENSOR_START ] =
643     { "temperature",                   TYPE_FLOAT  },
644     [ ANDROID_SENSOR_NEUTRAL_COLOR_POINT - ANDROID_SENSOR_START ] =
645     { "neutralColorPoint",             TYPE_RATIONAL
646                 },
647     [ ANDROID_SENSOR_NOISE_PROFILE - ANDROID_SENSOR_START ] =
648     { "noiseProfile",                  TYPE_DOUBLE },
649     [ ANDROID_SENSOR_PROFILE_HUE_SAT_MAP - ANDROID_SENSOR_START ] =
650     { "profileHueSatMap",              TYPE_FLOAT  },
651     [ ANDROID_SENSOR_PROFILE_TONE_CURVE - ANDROID_SENSOR_START ] =
652     { "profileToneCurve",              TYPE_FLOAT  },
653     [ ANDROID_SENSOR_GREEN_SPLIT - ANDROID_SENSOR_START ] =
654     { "greenSplit",                    TYPE_FLOAT  },
655     [ ANDROID_SENSOR_TEST_PATTERN_DATA - ANDROID_SENSOR_START ] =
656     { "testPatternData",               TYPE_INT32  },
657     [ ANDROID_SENSOR_TEST_PATTERN_MODE - ANDROID_SENSOR_START ] =
658     { "testPatternMode",               TYPE_INT32  },
659     [ ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES - ANDROID_SENSOR_START ] =
660     { "availableTestPatternModes",     TYPE_INT32  },
661     [ ANDROID_SENSOR_ROLLING_SHUTTER_SKEW - ANDROID_SENSOR_START ] =
662     { "rollingShutterSkew",            TYPE_INT64  },
663     [ ANDROID_SENSOR_OPTICAL_BLACK_REGIONS - ANDROID_SENSOR_START ] =
664     { "opticalBlackRegions",           TYPE_INT32  },
665     [ ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL - ANDROID_SENSOR_START ] =
666     { "dynamicBlackLevel",             TYPE_FLOAT  },
667     [ ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL - ANDROID_SENSOR_START ] =
668     { "dynamicWhiteLevel",             TYPE_INT32  },
669     [ ANDROID_SENSOR_OPAQUE_RAW_SIZE - ANDROID_SENSOR_START ] =
670     { "opaqueRawSize",                 TYPE_INT32  },
671     [ ANDROID_SENSOR_OPAQUE_RAW_SIZE_MAXIMUM_RESOLUTION - ANDROID_SENSOR_START ] =
672     { "opaqueRawSizeMaximumResolution",
673                                         TYPE_INT32  },
674     [ ANDROID_SENSOR_PIXEL_MODE - ANDROID_SENSOR_START ] =
675     { "pixelMode",                     TYPE_BYTE   },
676     [ ANDROID_SENSOR_RAW_BINNING_FACTOR_USED - ANDROID_SENSOR_START ] =
677     { "rawBinningFactorUsed",          TYPE_BYTE   },
678     [ ANDROID_SENSOR_READOUT_TIMESTAMP - ANDROID_SENSOR_START ] =
679     { "readoutTimestamp",              TYPE_BYTE   },
680 };
681 
682 static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
683         ANDROID_SENSOR_INFO_START] = {
684     [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
685     { "activeArraySize",               TYPE_INT32  },
686     [ ANDROID_SENSOR_INFO_SENSITIVITY_RANGE - ANDROID_SENSOR_INFO_START ] =
687     { "sensitivityRange",              TYPE_INT32  },
688     [ ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT - ANDROID_SENSOR_INFO_START ] =
689     { "colorFilterArrangement",        TYPE_BYTE   },
690     [ ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE - ANDROID_SENSOR_INFO_START ] =
691     { "exposureTimeRange",             TYPE_INT64  },
692     [ ANDROID_SENSOR_INFO_MAX_FRAME_DURATION - ANDROID_SENSOR_INFO_START ] =
693     { "maxFrameDuration",              TYPE_INT64  },
694     [ ANDROID_SENSOR_INFO_PHYSICAL_SIZE - ANDROID_SENSOR_INFO_START ] =
695     { "physicalSize",                  TYPE_FLOAT  },
696     [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
697     { "pixelArraySize",                TYPE_INT32  },
698     [ ANDROID_SENSOR_INFO_WHITE_LEVEL - ANDROID_SENSOR_INFO_START ] =
699     { "whiteLevel",                    TYPE_INT32  },
700     [ ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE - ANDROID_SENSOR_INFO_START ] =
701     { "timestampSource",               TYPE_BYTE   },
702     [ ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED - ANDROID_SENSOR_INFO_START ] =
703     { "lensShadingApplied",            TYPE_BYTE   },
704     [ ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE - ANDROID_SENSOR_INFO_START ] =
705     { "preCorrectionActiveArraySize",  TYPE_INT32  },
706     [ ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION - ANDROID_SENSOR_INFO_START ] =
707     { "activeArraySizeMaximumResolution",
708                                         TYPE_INT32  },
709     [ ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION - ANDROID_SENSOR_INFO_START ] =
710     { "pixelArraySizeMaximumResolution",
711                                         TYPE_INT32  },
712     [ ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION - ANDROID_SENSOR_INFO_START ] =
713     { "preCorrectionActiveArraySizeMaximumResolution",
714                                         TYPE_INT32  },
715     [ ANDROID_SENSOR_INFO_BINNING_FACTOR - ANDROID_SENSOR_INFO_START ] =
716     { "binningFactor",                 TYPE_INT32  },
717 };
718 
719 static tag_info_t android_shading[ANDROID_SHADING_END -
720         ANDROID_SHADING_START] = {
721     [ ANDROID_SHADING_MODE - ANDROID_SHADING_START ] =
722     { "mode",                          TYPE_BYTE   },
723     [ ANDROID_SHADING_STRENGTH - ANDROID_SHADING_START ] =
724     { "strength",                      TYPE_BYTE   },
725     [ ANDROID_SHADING_AVAILABLE_MODES - ANDROID_SHADING_START ] =
726     { "availableModes",                TYPE_BYTE   },
727 };
728 
729 static tag_info_t android_statistics[ANDROID_STATISTICS_END -
730         ANDROID_STATISTICS_START] = {
731     [ ANDROID_STATISTICS_FACE_DETECT_MODE - ANDROID_STATISTICS_START ] =
732     { "faceDetectMode",                TYPE_BYTE   },
733     [ ANDROID_STATISTICS_HISTOGRAM_MODE - ANDROID_STATISTICS_START ] =
734     { "histogramMode",                 TYPE_BYTE   },
735     [ ANDROID_STATISTICS_SHARPNESS_MAP_MODE - ANDROID_STATISTICS_START ] =
736     { "sharpnessMapMode",              TYPE_BYTE   },
737     [ ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE - ANDROID_STATISTICS_START ] =
738     { "hotPixelMapMode",               TYPE_BYTE   },
739     [ ANDROID_STATISTICS_FACE_IDS - ANDROID_STATISTICS_START ] =
740     { "faceIds",                       TYPE_INT32  },
741     [ ANDROID_STATISTICS_FACE_LANDMARKS - ANDROID_STATISTICS_START ] =
742     { "faceLandmarks",                 TYPE_INT32  },
743     [ ANDROID_STATISTICS_FACE_RECTANGLES - ANDROID_STATISTICS_START ] =
744     { "faceRectangles",                TYPE_INT32  },
745     [ ANDROID_STATISTICS_FACE_SCORES - ANDROID_STATISTICS_START ] =
746     { "faceScores",                    TYPE_BYTE   },
747     [ ANDROID_STATISTICS_HISTOGRAM - ANDROID_STATISTICS_START ] =
748     { "histogram",                     TYPE_INT32  },
749     [ ANDROID_STATISTICS_SHARPNESS_MAP - ANDROID_STATISTICS_START ] =
750     { "sharpnessMap",                  TYPE_INT32  },
751     [ ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP - ANDROID_STATISTICS_START ] =
752     { "lensShadingCorrectionMap",      TYPE_BYTE   },
753     [ ANDROID_STATISTICS_LENS_SHADING_MAP - ANDROID_STATISTICS_START ] =
754     { "lensShadingMap",                TYPE_FLOAT  },
755     [ ANDROID_STATISTICS_PREDICTED_COLOR_GAINS - ANDROID_STATISTICS_START ] =
756     { "predictedColorGains",           TYPE_FLOAT  },
757     [ ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM - ANDROID_STATISTICS_START ] =
758     { "predictedColorTransform",       TYPE_RATIONAL
759                 },
760     [ ANDROID_STATISTICS_SCENE_FLICKER - ANDROID_STATISTICS_START ] =
761     { "sceneFlicker",                  TYPE_BYTE   },
762     [ ANDROID_STATISTICS_HOT_PIXEL_MAP - ANDROID_STATISTICS_START ] =
763     { "hotPixelMap",                   TYPE_INT32  },
764     [ ANDROID_STATISTICS_LENS_SHADING_MAP_MODE - ANDROID_STATISTICS_START ] =
765     { "lensShadingMapMode",            TYPE_BYTE   },
766     [ ANDROID_STATISTICS_OIS_DATA_MODE - ANDROID_STATISTICS_START ] =
767     { "oisDataMode",                   TYPE_BYTE   },
768     [ ANDROID_STATISTICS_OIS_TIMESTAMPS - ANDROID_STATISTICS_START ] =
769     { "oisTimestamps",                 TYPE_INT64  },
770     [ ANDROID_STATISTICS_OIS_X_SHIFTS - ANDROID_STATISTICS_START ] =
771     { "oisXShifts",                    TYPE_FLOAT  },
772     [ ANDROID_STATISTICS_OIS_Y_SHIFTS - ANDROID_STATISTICS_START ] =
773     { "oisYShifts",                    TYPE_FLOAT  },
774     [ ANDROID_STATISTICS_LENS_INTRINSIC_TIMESTAMPS - ANDROID_STATISTICS_START ] =
775     { "lensIntrinsicTimestamps",       TYPE_INT64  },
776     [ ANDROID_STATISTICS_LENS_INTRINSIC_SAMPLES - ANDROID_STATISTICS_START ] =
777     { "lensIntrinsicSamples",          TYPE_FLOAT  },
778 };
779 
780 static tag_info_t android_statistics_info[ANDROID_STATISTICS_INFO_END -
781         ANDROID_STATISTICS_INFO_START] = {
782     [ ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES - ANDROID_STATISTICS_INFO_START ] =
783     { "availableFaceDetectModes",      TYPE_BYTE   },
784     [ ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT - ANDROID_STATISTICS_INFO_START ] =
785     { "histogramBucketCount",          TYPE_INT32  },
786     [ ANDROID_STATISTICS_INFO_MAX_FACE_COUNT - ANDROID_STATISTICS_INFO_START ] =
787     { "maxFaceCount",                  TYPE_INT32  },
788     [ ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT - ANDROID_STATISTICS_INFO_START ] =
789     { "maxHistogramCount",             TYPE_INT32  },
790     [ ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE - ANDROID_STATISTICS_INFO_START ] =
791     { "maxSharpnessMapValue",          TYPE_INT32  },
792     [ ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE - ANDROID_STATISTICS_INFO_START ] =
793     { "sharpnessMapSize",              TYPE_INT32  },
794     [ ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES - ANDROID_STATISTICS_INFO_START ] =
795     { "availableHotPixelMapModes",     TYPE_BYTE   },
796     [ ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES - ANDROID_STATISTICS_INFO_START ] =
797     { "availableLensShadingMapModes",  TYPE_BYTE   },
798     [ ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES - ANDROID_STATISTICS_INFO_START ] =
799     { "availableOisDataModes",         TYPE_BYTE   },
800 };
801 
802 static tag_info_t android_tonemap[ANDROID_TONEMAP_END -
803         ANDROID_TONEMAP_START] = {
804     [ ANDROID_TONEMAP_CURVE_BLUE - ANDROID_TONEMAP_START ] =
805     { "curveBlue",                     TYPE_FLOAT  },
806     [ ANDROID_TONEMAP_CURVE_GREEN - ANDROID_TONEMAP_START ] =
807     { "curveGreen",                    TYPE_FLOAT  },
808     [ ANDROID_TONEMAP_CURVE_RED - ANDROID_TONEMAP_START ] =
809     { "curveRed",                      TYPE_FLOAT  },
810     [ ANDROID_TONEMAP_MODE - ANDROID_TONEMAP_START ] =
811     { "mode",                          TYPE_BYTE   },
812     [ ANDROID_TONEMAP_MAX_CURVE_POINTS - ANDROID_TONEMAP_START ] =
813     { "maxCurvePoints",                TYPE_INT32  },
814     [ ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES - ANDROID_TONEMAP_START ] =
815     { "availableToneMapModes",         TYPE_BYTE   },
816     [ ANDROID_TONEMAP_GAMMA - ANDROID_TONEMAP_START ] =
817     { "gamma",                         TYPE_FLOAT  },
818     [ ANDROID_TONEMAP_PRESET_CURVE - ANDROID_TONEMAP_START ] =
819     { "presetCurve",                   TYPE_BYTE   },
820 };
821 
822 static tag_info_t android_led[ANDROID_LED_END -
823         ANDROID_LED_START] = {
824     [ ANDROID_LED_TRANSMIT - ANDROID_LED_START ] =
825     { "transmit",                      TYPE_BYTE   },
826     [ ANDROID_LED_AVAILABLE_LEDS - ANDROID_LED_START ] =
827     { "availableLeds",                 TYPE_BYTE   },
828 };
829 
830 static tag_info_t android_info[ANDROID_INFO_END -
831         ANDROID_INFO_START] = {
832     [ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL - ANDROID_INFO_START ] =
833     { "supportedHardwareLevel",        TYPE_BYTE   },
834     [ ANDROID_INFO_VERSION - ANDROID_INFO_START ] =
835     { "version",                       TYPE_BYTE   },
836     [ ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION - ANDROID_INFO_START ] =
837     { "supportedBufferManagementVersion",
838                                         TYPE_BYTE   },
839     [ ANDROID_INFO_DEVICE_STATE_ORIENTATIONS - ANDROID_INFO_START ] =
840     { "deviceStateOrientations",       TYPE_INT64  },
841     [ ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION - ANDROID_INFO_START ] =
842     { "sessionConfigurationQueryVersion",
843                                         TYPE_INT32  },
844     [ ANDROID_INFO_DEVICE_ID - ANDROID_INFO_START ] =
845     { "deviceId",                      TYPE_INT32  },
846 };
847 
848 static tag_info_t android_black_level[ANDROID_BLACK_LEVEL_END -
849         ANDROID_BLACK_LEVEL_START] = {
850     [ ANDROID_BLACK_LEVEL_LOCK - ANDROID_BLACK_LEVEL_START ] =
851     { "lock",                          TYPE_BYTE   },
852 };
853 
854 static tag_info_t android_sync[ANDROID_SYNC_END -
855         ANDROID_SYNC_START] = {
856     [ ANDROID_SYNC_FRAME_NUMBER - ANDROID_SYNC_START ] =
857     { "frameNumber",                   TYPE_INT64  },
858     [ ANDROID_SYNC_MAX_LATENCY - ANDROID_SYNC_START ] =
859     { "maxLatency",                    TYPE_INT32  },
860 };
861 
862 static tag_info_t android_reprocess[ANDROID_REPROCESS_END -
863         ANDROID_REPROCESS_START] = {
864     [ ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR - ANDROID_REPROCESS_START ] =
865     { "effectiveExposureFactor",       TYPE_FLOAT  },
866     [ ANDROID_REPROCESS_MAX_CAPTURE_STALL - ANDROID_REPROCESS_START ] =
867     { "maxCaptureStall",               TYPE_INT32  },
868 };
869 
870 static tag_info_t android_depth[ANDROID_DEPTH_END -
871         ANDROID_DEPTH_START] = {
872     [ ANDROID_DEPTH_MAX_DEPTH_SAMPLES - ANDROID_DEPTH_START ] =
873     { "maxDepthSamples",               TYPE_INT32  },
874     [ ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS - ANDROID_DEPTH_START ] =
875     { "availableDepthStreamConfigurations",
876                                         TYPE_INT32  },
877     [ ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS - ANDROID_DEPTH_START ] =
878     { "availableDepthMinFrameDurations",
879                                         TYPE_INT64  },
880     [ ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS - ANDROID_DEPTH_START ] =
881     { "availableDepthStallDurations",  TYPE_INT64  },
882     [ ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE - ANDROID_DEPTH_START ] =
883     { "depthIsExclusive",              TYPE_BYTE   },
884     [ ANDROID_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS - ANDROID_DEPTH_START ] =
885     { "availableRecommendedDepthStreamConfigurations",
886                                         TYPE_INT32  },
887     [ ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS - ANDROID_DEPTH_START ] =
888     { "availableDynamicDepthStreamConfigurations",
889                                         TYPE_INT32  },
890     [ ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS - ANDROID_DEPTH_START ] =
891     { "availableDynamicDepthMinFrameDurations",
892                                         TYPE_INT64  },
893     [ ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS - ANDROID_DEPTH_START ] =
894     { "availableDynamicDepthStallDurations",
895                                         TYPE_INT64  },
896     [ ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_DEPTH_START ] =
897     { "availableDepthStreamConfigurationsMaximumResolution",
898                                         TYPE_INT32  },
899     [ ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_DEPTH_START ] =
900     { "availableDepthMinFrameDurationsMaximumResolution",
901                                         TYPE_INT64  },
902     [ ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_DEPTH_START ] =
903     { "availableDepthStallDurationsMaximumResolution",
904                                         TYPE_INT64  },
905     [ ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_DEPTH_START ] =
906     { "availableDynamicDepthStreamConfigurationsMaximumResolution",
907                                         TYPE_INT32  },
908     [ ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_DEPTH_START ] =
909     { "availableDynamicDepthMinFrameDurationsMaximumResolution",
910                                         TYPE_INT64  },
911     [ ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_DEPTH_START ] =
912     { "availableDynamicDepthStallDurationsMaximumResolution",
913                                         TYPE_INT64  },
914 };
915 
916 static tag_info_t android_logical_multi_camera[ANDROID_LOGICAL_MULTI_CAMERA_END -
917         ANDROID_LOGICAL_MULTI_CAMERA_START] = {
918     [ ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS - ANDROID_LOGICAL_MULTI_CAMERA_START ] =
919     { "physicalIds",                   TYPE_BYTE   },
920     [ ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE - ANDROID_LOGICAL_MULTI_CAMERA_START ] =
921     { "sensorSyncType",                TYPE_BYTE   },
922     [ ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID - ANDROID_LOGICAL_MULTI_CAMERA_START ] =
923     { "activePhysicalId",              TYPE_BYTE   },
924     [ ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION - ANDROID_LOGICAL_MULTI_CAMERA_START ] =
925     { "activePhysicalSensorCropRegion",
926                                         TYPE_INT32  },
927 };
928 
929 static tag_info_t android_distortion_correction[ANDROID_DISTORTION_CORRECTION_END -
930         ANDROID_DISTORTION_CORRECTION_START] = {
931     [ ANDROID_DISTORTION_CORRECTION_MODE - ANDROID_DISTORTION_CORRECTION_START ] =
932     { "mode",                          TYPE_BYTE   },
933     [ ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES - ANDROID_DISTORTION_CORRECTION_START ] =
934     { "availableModes",                TYPE_BYTE   },
935 };
936 
937 static tag_info_t android_heic[ANDROID_HEIC_END -
938         ANDROID_HEIC_START] = {
939     [ ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS - ANDROID_HEIC_START ] =
940     { "availableHeicStreamConfigurations",
941                                         TYPE_INT32  },
942     [ ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS - ANDROID_HEIC_START ] =
943     { "availableHeicMinFrameDurations",
944                                         TYPE_INT64  },
945     [ ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS - ANDROID_HEIC_START ] =
946     { "availableHeicStallDurations",   TYPE_INT64  },
947     [ ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_HEIC_START ] =
948     { "availableHeicStreamConfigurationsMaximumResolution",
949                                         TYPE_INT32  },
950     [ ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_HEIC_START ] =
951     { "availableHeicMinFrameDurationsMaximumResolution",
952                                         TYPE_INT64  },
953     [ ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_HEIC_START ] =
954     { "availableHeicStallDurationsMaximumResolution",
955                                         TYPE_INT64  },
956     [ ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS - ANDROID_HEIC_START ] =
957     { "availableHeicUltraHdrStreamConfigurations",
958                                         TYPE_INT32  },
959     [ ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_MIN_FRAME_DURATIONS - ANDROID_HEIC_START ] =
960     { "availableHeicUltraHdrMinFrameDurations",
961                                         TYPE_INT64  },
962     [ ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STALL_DURATIONS - ANDROID_HEIC_START ] =
963     { "availableHeicUltraHdrStallDurations",
964                                         TYPE_INT64  },
965     [ ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_HEIC_START ] =
966     { "availableHeicUltraHdrStreamConfigurationsMaximumResolution",
967                                         TYPE_INT32  },
968     [ ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_HEIC_START ] =
969     { "availableHeicUltraHdrMinFrameDurationsMaximumResolution",
970                                         TYPE_INT64  },
971     [ ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STALL_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_HEIC_START ] =
972     { "availableHeicUltraHdrStallDurationsMaximumResolution",
973                                         TYPE_INT64  },
974 };
975 
976 static tag_info_t android_heic_info[ANDROID_HEIC_INFO_END -
977         ANDROID_HEIC_INFO_START] = {
978     [ ANDROID_HEIC_INFO_SUPPORTED - ANDROID_HEIC_INFO_START ] =
979     { "supported",                     TYPE_BYTE   },
980     [ ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT - ANDROID_HEIC_INFO_START ] =
981     { "maxJpegAppSegmentsCount",       TYPE_BYTE   },
982 };
983 
984 static tag_info_t android_automotive[ANDROID_AUTOMOTIVE_END -
985         ANDROID_AUTOMOTIVE_START] = {
986     [ ANDROID_AUTOMOTIVE_LOCATION - ANDROID_AUTOMOTIVE_START ] =
987     { "location",                      TYPE_BYTE   },
988 };
989 
990 static tag_info_t android_automotive_lens[ANDROID_AUTOMOTIVE_LENS_END -
991         ANDROID_AUTOMOTIVE_LENS_START] = {
992     [ ANDROID_AUTOMOTIVE_LENS_FACING - ANDROID_AUTOMOTIVE_LENS_START ] =
993     { "facing",                        TYPE_BYTE   },
994 };
995 
996 static tag_info_t android_extension[ANDROID_EXTENSION_END -
997         ANDROID_EXTENSION_START] = {
998     [ ANDROID_EXTENSION_STRENGTH - ANDROID_EXTENSION_START ] =
999     { "strength",                      TYPE_INT32  },
1000     [ ANDROID_EXTENSION_CURRENT_TYPE - ANDROID_EXTENSION_START ] =
1001     { "currentType",                   TYPE_INT32  },
1002     [ ANDROID_EXTENSION_NIGHT_MODE_INDICATOR - ANDROID_EXTENSION_START ] =
1003     { "nightModeIndicator",            TYPE_INT32  },
1004 };
1005 
1006 static tag_info_t android_jpegr[ANDROID_JPEGR_END -
1007         ANDROID_JPEGR_START] = {
1008     [ ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS - ANDROID_JPEGR_START ] =
1009     { "availableJpegRStreamConfigurations",
1010                                         TYPE_INT32  },
1011     [ ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS - ANDROID_JPEGR_START ] =
1012     { "availableJpegRMinFrameDurations",
1013                                         TYPE_INT64  },
1014     [ ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS - ANDROID_JPEGR_START ] =
1015     { "availableJpegRStallDurations",  TYPE_INT64  },
1016     [ ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION - ANDROID_JPEGR_START ] =
1017     { "availableJpegRStreamConfigurationsMaximumResolution",
1018                                         TYPE_INT32  },
1019     [ ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_JPEGR_START ] =
1020     { "availableJpegRMinFrameDurationsMaximumResolution",
1021                                         TYPE_INT64  },
1022     [ ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION - ANDROID_JPEGR_START ] =
1023     { "availableJpegRStallDurationsMaximumResolution",
1024                                         TYPE_INT64  },
1025 };
1026 
1027 static tag_info_t android_shared_session[ANDROID_SHARED_SESSION_END -
1028         ANDROID_SHARED_SESSION_START] = {
1029     [ ANDROID_SHARED_SESSION_COLOR_SPACE - ANDROID_SHARED_SESSION_START ] =
1030     { "colorSpace",                    TYPE_BYTE   },
1031     [ ANDROID_SHARED_SESSION_OUTPUT_CONFIGURATIONS - ANDROID_SHARED_SESSION_START ] =
1032     { "outputConfigurations",          TYPE_INT64  },
1033 };
1034 
1035 static tag_info_t android_desktop_effects[ANDROID_DESKTOP_EFFECTS_END -
1036         ANDROID_DESKTOP_EFFECTS_START] = {
1037     [ ANDROID_DESKTOP_EFFECTS_CAPABILITIES - ANDROID_DESKTOP_EFFECTS_START ] =
1038     { "capabilities",                  TYPE_BYTE   },
1039     [ ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODES - ANDROID_DESKTOP_EFFECTS_START ] =
1040     { "backgroundBlurModes",           TYPE_BYTE   },
1041     [ ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE - ANDROID_DESKTOP_EFFECTS_START ] =
1042     { "backgroundBlurMode",            TYPE_BYTE   },
1043     [ ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE - ANDROID_DESKTOP_EFFECTS_START ] =
1044     { "faceRetouchMode",               TYPE_BYTE   },
1045     [ ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_STRENGTH - ANDROID_DESKTOP_EFFECTS_START ] =
1046     { "faceRetouchStrength",           TYPE_BYTE   },
1047     [ ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE - ANDROID_DESKTOP_EFFECTS_START ] =
1048     { "portraitRelightMode",           TYPE_BYTE   },
1049 };
1050 
1051 
1052 tag_info_t *tag_info[ANDROID_SECTION_COUNT] = {
1053     android_color_correction,
1054     android_control,
1055     android_demosaic,
1056     android_edge,
1057     android_flash,
1058     android_flash_info,
1059     android_hot_pixel,
1060     android_jpeg,
1061     android_lens,
1062     android_lens_info,
1063     android_noise_reduction,
1064     android_quirks,
1065     android_request,
1066     android_scaler,
1067     android_sensor,
1068     android_sensor_info,
1069     android_shading,
1070     android_statistics,
1071     android_statistics_info,
1072     android_tonemap,
1073     android_led,
1074     android_info,
1075     android_black_level,
1076     android_sync,
1077     android_reprocess,
1078     android_depth,
1079     android_logical_multi_camera,
1080     android_distortion_correction,
1081     android_heic,
1082     android_heic_info,
1083     android_automotive,
1084     android_automotive_lens,
1085     android_extension,
1086     android_jpegr,
1087     android_shared_session,
1088     android_desktop_effects,
1089 };
1090 
1091 static int32_t tag_permission_needed[18] = {
1092     ANDROID_LENS_POSE_ROTATION,
1093     ANDROID_LENS_POSE_TRANSLATION,
1094     ANDROID_LENS_INTRINSIC_CALIBRATION,
1095     ANDROID_LENS_RADIAL_DISTORTION,
1096     ANDROID_LENS_POSE_REFERENCE,
1097     ANDROID_LENS_DISTORTION,
1098     ANDROID_LENS_DISTORTION_MAXIMUM_RESOLUTION,
1099     ANDROID_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION,
1100     ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE,
1101     ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE,
1102     ANDROID_SENSOR_REFERENCE_ILLUMINANT1,
1103     ANDROID_SENSOR_REFERENCE_ILLUMINANT2,
1104     ANDROID_SENSOR_CALIBRATION_TRANSFORM1,
1105     ANDROID_SENSOR_CALIBRATION_TRANSFORM2,
1106     ANDROID_SENSOR_COLOR_TRANSFORM1,
1107     ANDROID_SENSOR_COLOR_TRANSFORM2,
1108     ANDROID_SENSOR_FORWARD_MATRIX1,
1109     ANDROID_SENSOR_FORWARD_MATRIX2,
1110 };
1111 
camera_metadata_enum_snprint(uint32_t tag,uint32_t value,char * dst,size_t size)1112 int camera_metadata_enum_snprint(uint32_t tag,
1113                                  uint32_t value,
1114                                  char *dst,
1115                                  size_t size) {
1116     const char *msg = "error: not an enum";
1117     int ret = -1;
1118 
1119     switch(tag) {
1120         case ANDROID_COLOR_CORRECTION_MODE: {
1121             switch (value) {
1122                 case ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
1123                     msg = "TRANSFORM_MATRIX";
1124                     ret = 0;
1125                     break;
1126                 case ANDROID_COLOR_CORRECTION_MODE_FAST:
1127                     msg = "FAST";
1128                     ret = 0;
1129                     break;
1130                 case ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY:
1131                     msg = "HIGH_QUALITY";
1132                     ret = 0;
1133                     break;
1134                 case ANDROID_COLOR_CORRECTION_MODE_CCT:
1135                     msg = "CCT";
1136                     ret = 0;
1137                     break;
1138                 default:
1139                     msg = "error: enum value out of range";
1140             }
1141             break;
1142         }
1143         case ANDROID_COLOR_CORRECTION_TRANSFORM: {
1144             break;
1145         }
1146         case ANDROID_COLOR_CORRECTION_GAINS: {
1147             break;
1148         }
1149         case ANDROID_COLOR_CORRECTION_ABERRATION_MODE: {
1150             switch (value) {
1151                 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF:
1152                     msg = "OFF";
1153                     ret = 0;
1154                     break;
1155                 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST:
1156                     msg = "FAST";
1157                     ret = 0;
1158                     break;
1159                 case ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY:
1160                     msg = "HIGH_QUALITY";
1161                     ret = 0;
1162                     break;
1163                 default:
1164                     msg = "error: enum value out of range";
1165             }
1166             break;
1167         }
1168         case ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: {
1169             break;
1170         }
1171         case ANDROID_COLOR_CORRECTION_COLOR_TEMPERATURE: {
1172             break;
1173         }
1174         case ANDROID_COLOR_CORRECTION_COLOR_TINT: {
1175             break;
1176         }
1177         case ANDROID_COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE: {
1178             break;
1179         }
1180         case ANDROID_COLOR_CORRECTION_AVAILABLE_MODES: {
1181             break;
1182         }
1183 
1184         case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
1185             switch (value) {
1186                 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF:
1187                     msg = "OFF";
1188                     ret = 0;
1189                     break;
1190                 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ:
1191                     msg = "50HZ";
1192                     ret = 0;
1193                     break;
1194                 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ:
1195                     msg = "60HZ";
1196                     ret = 0;
1197                     break;
1198                 case ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO:
1199                     msg = "AUTO";
1200                     ret = 0;
1201                     break;
1202                 default:
1203                     msg = "error: enum value out of range";
1204             }
1205             break;
1206         }
1207         case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
1208             break;
1209         }
1210         case ANDROID_CONTROL_AE_LOCK: {
1211             switch (value) {
1212                 case ANDROID_CONTROL_AE_LOCK_OFF:
1213                     msg = "OFF";
1214                     ret = 0;
1215                     break;
1216                 case ANDROID_CONTROL_AE_LOCK_ON:
1217                     msg = "ON";
1218                     ret = 0;
1219                     break;
1220                 default:
1221                     msg = "error: enum value out of range";
1222             }
1223             break;
1224         }
1225         case ANDROID_CONTROL_AE_MODE: {
1226             switch (value) {
1227                 case ANDROID_CONTROL_AE_MODE_OFF:
1228                     msg = "OFF";
1229                     ret = 0;
1230                     break;
1231                 case ANDROID_CONTROL_AE_MODE_ON:
1232                     msg = "ON";
1233                     ret = 0;
1234                     break;
1235                 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:
1236                     msg = "ON_AUTO_FLASH";
1237                     ret = 0;
1238                     break;
1239                 case ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
1240                     msg = "ON_ALWAYS_FLASH";
1241                     ret = 0;
1242                     break;
1243                 case ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
1244                     msg = "ON_AUTO_FLASH_REDEYE";
1245                     ret = 0;
1246                     break;
1247                 case ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH:
1248                     msg = "ON_EXTERNAL_FLASH";
1249                     ret = 0;
1250                     break;
1251                 case ANDROID_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY:
1252                     msg = "ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY";
1253                     ret = 0;
1254                     break;
1255                 default:
1256                     msg = "error: enum value out of range";
1257             }
1258             break;
1259         }
1260         case ANDROID_CONTROL_AE_REGIONS: {
1261             break;
1262         }
1263         case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
1264             break;
1265         }
1266         case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
1267             switch (value) {
1268                 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
1269                     msg = "IDLE";
1270                     ret = 0;
1271                     break;
1272                 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START:
1273                     msg = "START";
1274                     ret = 0;
1275                     break;
1276                 case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL:
1277                     msg = "CANCEL";
1278                     ret = 0;
1279                     break;
1280                 default:
1281                     msg = "error: enum value out of range";
1282             }
1283             break;
1284         }
1285         case ANDROID_CONTROL_AF_MODE: {
1286             switch (value) {
1287                 case ANDROID_CONTROL_AF_MODE_OFF:
1288                     msg = "OFF";
1289                     ret = 0;
1290                     break;
1291                 case ANDROID_CONTROL_AF_MODE_AUTO:
1292                     msg = "AUTO";
1293                     ret = 0;
1294                     break;
1295                 case ANDROID_CONTROL_AF_MODE_MACRO:
1296                     msg = "MACRO";
1297                     ret = 0;
1298                     break;
1299                 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
1300                     msg = "CONTINUOUS_VIDEO";
1301                     ret = 0;
1302                     break;
1303                 case ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
1304                     msg = "CONTINUOUS_PICTURE";
1305                     ret = 0;
1306                     break;
1307                 case ANDROID_CONTROL_AF_MODE_EDOF:
1308                     msg = "EDOF";
1309                     ret = 0;
1310                     break;
1311                 default:
1312                     msg = "error: enum value out of range";
1313             }
1314             break;
1315         }
1316         case ANDROID_CONTROL_AF_REGIONS: {
1317             break;
1318         }
1319         case ANDROID_CONTROL_AF_TRIGGER: {
1320             switch (value) {
1321                 case ANDROID_CONTROL_AF_TRIGGER_IDLE:
1322                     msg = "IDLE";
1323                     ret = 0;
1324                     break;
1325                 case ANDROID_CONTROL_AF_TRIGGER_START:
1326                     msg = "START";
1327                     ret = 0;
1328                     break;
1329                 case ANDROID_CONTROL_AF_TRIGGER_CANCEL:
1330                     msg = "CANCEL";
1331                     ret = 0;
1332                     break;
1333                 default:
1334                     msg = "error: enum value out of range";
1335             }
1336             break;
1337         }
1338         case ANDROID_CONTROL_AWB_LOCK: {
1339             switch (value) {
1340                 case ANDROID_CONTROL_AWB_LOCK_OFF:
1341                     msg = "OFF";
1342                     ret = 0;
1343                     break;
1344                 case ANDROID_CONTROL_AWB_LOCK_ON:
1345                     msg = "ON";
1346                     ret = 0;
1347                     break;
1348                 default:
1349                     msg = "error: enum value out of range";
1350             }
1351             break;
1352         }
1353         case ANDROID_CONTROL_AWB_MODE: {
1354             switch (value) {
1355                 case ANDROID_CONTROL_AWB_MODE_OFF:
1356                     msg = "OFF";
1357                     ret = 0;
1358                     break;
1359                 case ANDROID_CONTROL_AWB_MODE_AUTO:
1360                     msg = "AUTO";
1361                     ret = 0;
1362                     break;
1363                 case ANDROID_CONTROL_AWB_MODE_INCANDESCENT:
1364                     msg = "INCANDESCENT";
1365                     ret = 0;
1366                     break;
1367                 case ANDROID_CONTROL_AWB_MODE_FLUORESCENT:
1368                     msg = "FLUORESCENT";
1369                     ret = 0;
1370                     break;
1371                 case ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT:
1372                     msg = "WARM_FLUORESCENT";
1373                     ret = 0;
1374                     break;
1375                 case ANDROID_CONTROL_AWB_MODE_DAYLIGHT:
1376                     msg = "DAYLIGHT";
1377                     ret = 0;
1378                     break;
1379                 case ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
1380                     msg = "CLOUDY_DAYLIGHT";
1381                     ret = 0;
1382                     break;
1383                 case ANDROID_CONTROL_AWB_MODE_TWILIGHT:
1384                     msg = "TWILIGHT";
1385                     ret = 0;
1386                     break;
1387                 case ANDROID_CONTROL_AWB_MODE_SHADE:
1388                     msg = "SHADE";
1389                     ret = 0;
1390                     break;
1391                 default:
1392                     msg = "error: enum value out of range";
1393             }
1394             break;
1395         }
1396         case ANDROID_CONTROL_AWB_REGIONS: {
1397             break;
1398         }
1399         case ANDROID_CONTROL_CAPTURE_INTENT: {
1400             switch (value) {
1401                 case ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM:
1402                     msg = "CUSTOM";
1403                     ret = 0;
1404                     break;
1405                 case ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW:
1406                     msg = "PREVIEW";
1407                     ret = 0;
1408                     break;
1409                 case ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
1410                     msg = "STILL_CAPTURE";
1411                     ret = 0;
1412                     break;
1413                 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
1414                     msg = "VIDEO_RECORD";
1415                     ret = 0;
1416                     break;
1417                 case ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
1418                     msg = "VIDEO_SNAPSHOT";
1419                     ret = 0;
1420                     break;
1421                 case ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
1422                     msg = "ZERO_SHUTTER_LAG";
1423                     ret = 0;
1424                     break;
1425                 case ANDROID_CONTROL_CAPTURE_INTENT_MANUAL:
1426                     msg = "MANUAL";
1427                     ret = 0;
1428                     break;
1429                 case ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING:
1430                     msg = "MOTION_TRACKING";
1431                     ret = 0;
1432                     break;
1433                 default:
1434                     msg = "error: enum value out of range";
1435             }
1436             break;
1437         }
1438         case ANDROID_CONTROL_EFFECT_MODE: {
1439             switch (value) {
1440                 case ANDROID_CONTROL_EFFECT_MODE_OFF:
1441                     msg = "OFF";
1442                     ret = 0;
1443                     break;
1444                 case ANDROID_CONTROL_EFFECT_MODE_MONO:
1445                     msg = "MONO";
1446                     ret = 0;
1447                     break;
1448                 case ANDROID_CONTROL_EFFECT_MODE_NEGATIVE:
1449                     msg = "NEGATIVE";
1450                     ret = 0;
1451                     break;
1452                 case ANDROID_CONTROL_EFFECT_MODE_SOLARIZE:
1453                     msg = "SOLARIZE";
1454                     ret = 0;
1455                     break;
1456                 case ANDROID_CONTROL_EFFECT_MODE_SEPIA:
1457                     msg = "SEPIA";
1458                     ret = 0;
1459                     break;
1460                 case ANDROID_CONTROL_EFFECT_MODE_POSTERIZE:
1461                     msg = "POSTERIZE";
1462                     ret = 0;
1463                     break;
1464                 case ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD:
1465                     msg = "WHITEBOARD";
1466                     ret = 0;
1467                     break;
1468                 case ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD:
1469                     msg = "BLACKBOARD";
1470                     ret = 0;
1471                     break;
1472                 case ANDROID_CONTROL_EFFECT_MODE_AQUA:
1473                     msg = "AQUA";
1474                     ret = 0;
1475                     break;
1476                 default:
1477                     msg = "error: enum value out of range";
1478             }
1479             break;
1480         }
1481         case ANDROID_CONTROL_MODE: {
1482             switch (value) {
1483                 case ANDROID_CONTROL_MODE_OFF:
1484                     msg = "OFF";
1485                     ret = 0;
1486                     break;
1487                 case ANDROID_CONTROL_MODE_AUTO:
1488                     msg = "AUTO";
1489                     ret = 0;
1490                     break;
1491                 case ANDROID_CONTROL_MODE_USE_SCENE_MODE:
1492                     msg = "USE_SCENE_MODE";
1493                     ret = 0;
1494                     break;
1495                 case ANDROID_CONTROL_MODE_OFF_KEEP_STATE:
1496                     msg = "OFF_KEEP_STATE";
1497                     ret = 0;
1498                     break;
1499                 case ANDROID_CONTROL_MODE_USE_EXTENDED_SCENE_MODE:
1500                     msg = "USE_EXTENDED_SCENE_MODE";
1501                     ret = 0;
1502                     break;
1503                 default:
1504                     msg = "error: enum value out of range";
1505             }
1506             break;
1507         }
1508         case ANDROID_CONTROL_SCENE_MODE: {
1509             switch (value) {
1510                 case ANDROID_CONTROL_SCENE_MODE_DISABLED:
1511                     msg = "DISABLED";
1512                     ret = 0;
1513                     break;
1514                 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY:
1515                     msg = "FACE_PRIORITY";
1516                     ret = 0;
1517                     break;
1518                 case ANDROID_CONTROL_SCENE_MODE_ACTION:
1519                     msg = "ACTION";
1520                     ret = 0;
1521                     break;
1522                 case ANDROID_CONTROL_SCENE_MODE_PORTRAIT:
1523                     msg = "PORTRAIT";
1524                     ret = 0;
1525                     break;
1526                 case ANDROID_CONTROL_SCENE_MODE_LANDSCAPE:
1527                     msg = "LANDSCAPE";
1528                     ret = 0;
1529                     break;
1530                 case ANDROID_CONTROL_SCENE_MODE_NIGHT:
1531                     msg = "NIGHT";
1532                     ret = 0;
1533                     break;
1534                 case ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
1535                     msg = "NIGHT_PORTRAIT";
1536                     ret = 0;
1537                     break;
1538                 case ANDROID_CONTROL_SCENE_MODE_THEATRE:
1539                     msg = "THEATRE";
1540                     ret = 0;
1541                     break;
1542                 case ANDROID_CONTROL_SCENE_MODE_BEACH:
1543                     msg = "BEACH";
1544                     ret = 0;
1545                     break;
1546                 case ANDROID_CONTROL_SCENE_MODE_SNOW:
1547                     msg = "SNOW";
1548                     ret = 0;
1549                     break;
1550                 case ANDROID_CONTROL_SCENE_MODE_SUNSET:
1551                     msg = "SUNSET";
1552                     ret = 0;
1553                     break;
1554                 case ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO:
1555                     msg = "STEADYPHOTO";
1556                     ret = 0;
1557                     break;
1558                 case ANDROID_CONTROL_SCENE_MODE_FIREWORKS:
1559                     msg = "FIREWORKS";
1560                     ret = 0;
1561                     break;
1562                 case ANDROID_CONTROL_SCENE_MODE_SPORTS:
1563                     msg = "SPORTS";
1564                     ret = 0;
1565                     break;
1566                 case ANDROID_CONTROL_SCENE_MODE_PARTY:
1567                     msg = "PARTY";
1568                     ret = 0;
1569                     break;
1570                 case ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT:
1571                     msg = "CANDLELIGHT";
1572                     ret = 0;
1573                     break;
1574                 case ANDROID_CONTROL_SCENE_MODE_BARCODE:
1575                     msg = "BARCODE";
1576                     ret = 0;
1577                     break;
1578                 case ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO:
1579                     msg = "HIGH_SPEED_VIDEO";
1580                     ret = 0;
1581                     break;
1582                 case ANDROID_CONTROL_SCENE_MODE_HDR:
1583                     msg = "HDR";
1584                     ret = 0;
1585                     break;
1586                 case ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT:
1587                     msg = "FACE_PRIORITY_LOW_LIGHT";
1588                     ret = 0;
1589                     break;
1590                 case ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START:
1591                     msg = "DEVICE_CUSTOM_START";
1592                     ret = 0;
1593                     break;
1594                 case ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END:
1595                     msg = "DEVICE_CUSTOM_END";
1596                     ret = 0;
1597                     break;
1598                 default:
1599                     msg = "error: enum value out of range";
1600             }
1601             break;
1602         }
1603         case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
1604             switch (value) {
1605                 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
1606                     msg = "OFF";
1607                     ret = 0;
1608                     break;
1609                 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON:
1610                     msg = "ON";
1611                     ret = 0;
1612                     break;
1613                 case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION:
1614                     msg = "PREVIEW_STABILIZATION";
1615                     ret = 0;
1616                     break;
1617                 default:
1618                     msg = "error: enum value out of range";
1619             }
1620             break;
1621         }
1622         case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
1623             break;
1624         }
1625         case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
1626             break;
1627         }
1628         case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
1629             break;
1630         }
1631         case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
1632             break;
1633         }
1634         case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
1635             break;
1636         }
1637         case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
1638             break;
1639         }
1640         case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
1641             break;
1642         }
1643         case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
1644             break;
1645         }
1646         case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
1647             break;
1648         }
1649         case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
1650             break;
1651         }
1652         case ANDROID_CONTROL_MAX_REGIONS: {
1653             break;
1654         }
1655         case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
1656             break;
1657         }
1658         case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
1659             break;
1660         }
1661         case ANDROID_CONTROL_AE_STATE: {
1662             switch (value) {
1663                 case ANDROID_CONTROL_AE_STATE_INACTIVE:
1664                     msg = "INACTIVE";
1665                     ret = 0;
1666                     break;
1667                 case ANDROID_CONTROL_AE_STATE_SEARCHING:
1668                     msg = "SEARCHING";
1669                     ret = 0;
1670                     break;
1671                 case ANDROID_CONTROL_AE_STATE_CONVERGED:
1672                     msg = "CONVERGED";
1673                     ret = 0;
1674                     break;
1675                 case ANDROID_CONTROL_AE_STATE_LOCKED:
1676                     msg = "LOCKED";
1677                     ret = 0;
1678                     break;
1679                 case ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED:
1680                     msg = "FLASH_REQUIRED";
1681                     ret = 0;
1682                     break;
1683                 case ANDROID_CONTROL_AE_STATE_PRECAPTURE:
1684                     msg = "PRECAPTURE";
1685                     ret = 0;
1686                     break;
1687                 default:
1688                     msg = "error: enum value out of range";
1689             }
1690             break;
1691         }
1692         case ANDROID_CONTROL_AF_STATE: {
1693             switch (value) {
1694                 case ANDROID_CONTROL_AF_STATE_INACTIVE:
1695                     msg = "INACTIVE";
1696                     ret = 0;
1697                     break;
1698                 case ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN:
1699                     msg = "PASSIVE_SCAN";
1700                     ret = 0;
1701                     break;
1702                 case ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED:
1703                     msg = "PASSIVE_FOCUSED";
1704                     ret = 0;
1705                     break;
1706                 case ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN:
1707                     msg = "ACTIVE_SCAN";
1708                     ret = 0;
1709                     break;
1710                 case ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED:
1711                     msg = "FOCUSED_LOCKED";
1712                     ret = 0;
1713                     break;
1714                 case ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
1715                     msg = "NOT_FOCUSED_LOCKED";
1716                     ret = 0;
1717                     break;
1718                 case ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
1719                     msg = "PASSIVE_UNFOCUSED";
1720                     ret = 0;
1721                     break;
1722                 default:
1723                     msg = "error: enum value out of range";
1724             }
1725             break;
1726         }
1727         case ANDROID_CONTROL_AF_TRIGGER_ID: {
1728             break;
1729         }
1730         case ANDROID_CONTROL_AWB_STATE: {
1731             switch (value) {
1732                 case ANDROID_CONTROL_AWB_STATE_INACTIVE:
1733                     msg = "INACTIVE";
1734                     ret = 0;
1735                     break;
1736                 case ANDROID_CONTROL_AWB_STATE_SEARCHING:
1737                     msg = "SEARCHING";
1738                     ret = 0;
1739                     break;
1740                 case ANDROID_CONTROL_AWB_STATE_CONVERGED:
1741                     msg = "CONVERGED";
1742                     ret = 0;
1743                     break;
1744                 case ANDROID_CONTROL_AWB_STATE_LOCKED:
1745                     msg = "LOCKED";
1746                     ret = 0;
1747                     break;
1748                 default:
1749                     msg = "error: enum value out of range";
1750             }
1751             break;
1752         }
1753         case ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS: {
1754             break;
1755         }
1756         case ANDROID_CONTROL_AE_LOCK_AVAILABLE: {
1757             switch (value) {
1758                 case ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE:
1759                     msg = "FALSE";
1760                     ret = 0;
1761                     break;
1762                 case ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE:
1763                     msg = "TRUE";
1764                     ret = 0;
1765                     break;
1766                 default:
1767                     msg = "error: enum value out of range";
1768             }
1769             break;
1770         }
1771         case ANDROID_CONTROL_AWB_LOCK_AVAILABLE: {
1772             switch (value) {
1773                 case ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE:
1774                     msg = "FALSE";
1775                     ret = 0;
1776                     break;
1777                 case ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE:
1778                     msg = "TRUE";
1779                     ret = 0;
1780                     break;
1781                 default:
1782                     msg = "error: enum value out of range";
1783             }
1784             break;
1785         }
1786         case ANDROID_CONTROL_AVAILABLE_MODES: {
1787             break;
1788         }
1789         case ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: {
1790             break;
1791         }
1792         case ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST: {
1793             break;
1794         }
1795         case ANDROID_CONTROL_ENABLE_ZSL: {
1796             switch (value) {
1797                 case ANDROID_CONTROL_ENABLE_ZSL_FALSE:
1798                     msg = "FALSE";
1799                     ret = 0;
1800                     break;
1801                 case ANDROID_CONTROL_ENABLE_ZSL_TRUE:
1802                     msg = "TRUE";
1803                     ret = 0;
1804                     break;
1805                 default:
1806                     msg = "error: enum value out of range";
1807             }
1808             break;
1809         }
1810         case ANDROID_CONTROL_AF_SCENE_CHANGE: {
1811             switch (value) {
1812                 case ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED:
1813                     msg = "NOT_DETECTED";
1814                     ret = 0;
1815                     break;
1816                 case ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED:
1817                     msg = "DETECTED";
1818                     ret = 0;
1819                     break;
1820                 default:
1821                     msg = "error: enum value out of range";
1822             }
1823             break;
1824         }
1825         case ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES: {
1826             break;
1827         }
1828         case ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES: {
1829             break;
1830         }
1831         case ANDROID_CONTROL_EXTENDED_SCENE_MODE: {
1832             switch (value) {
1833                 case ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED:
1834                     msg = "DISABLED";
1835                     ret = 0;
1836                     break;
1837                 case ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE:
1838                     msg = "BOKEH_STILL_CAPTURE";
1839                     ret = 0;
1840                     break;
1841                 case ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS:
1842                     msg = "BOKEH_CONTINUOUS";
1843                     ret = 0;
1844                     break;
1845                 case ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START:
1846                     msg = "VENDOR_START";
1847                     ret = 0;
1848                     break;
1849                 default:
1850                     msg = "error: enum value out of range";
1851             }
1852             break;
1853         }
1854         case ANDROID_CONTROL_ZOOM_RATIO_RANGE: {
1855             break;
1856         }
1857         case ANDROID_CONTROL_ZOOM_RATIO: {
1858             break;
1859         }
1860         case ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
1861             break;
1862         }
1863         case ANDROID_CONTROL_AF_REGIONS_SET: {
1864             switch (value) {
1865                 case ANDROID_CONTROL_AF_REGIONS_SET_FALSE:
1866                     msg = "FALSE";
1867                     ret = 0;
1868                     break;
1869                 case ANDROID_CONTROL_AF_REGIONS_SET_TRUE:
1870                     msg = "TRUE";
1871                     ret = 0;
1872                     break;
1873                 default:
1874                     msg = "error: enum value out of range";
1875             }
1876             break;
1877         }
1878         case ANDROID_CONTROL_AE_REGIONS_SET: {
1879             switch (value) {
1880                 case ANDROID_CONTROL_AE_REGIONS_SET_FALSE:
1881                     msg = "FALSE";
1882                     ret = 0;
1883                     break;
1884                 case ANDROID_CONTROL_AE_REGIONS_SET_TRUE:
1885                     msg = "TRUE";
1886                     ret = 0;
1887                     break;
1888                 default:
1889                     msg = "error: enum value out of range";
1890             }
1891             break;
1892         }
1893         case ANDROID_CONTROL_AWB_REGIONS_SET: {
1894             switch (value) {
1895                 case ANDROID_CONTROL_AWB_REGIONS_SET_FALSE:
1896                     msg = "FALSE";
1897                     ret = 0;
1898                     break;
1899                 case ANDROID_CONTROL_AWB_REGIONS_SET_TRUE:
1900                     msg = "TRUE";
1901                     ret = 0;
1902                     break;
1903                 default:
1904                     msg = "error: enum value out of range";
1905             }
1906             break;
1907         }
1908         case ANDROID_CONTROL_SETTINGS_OVERRIDE: {
1909             switch (value) {
1910                 case ANDROID_CONTROL_SETTINGS_OVERRIDE_OFF:
1911                     msg = "OFF";
1912                     ret = 0;
1913                     break;
1914                 case ANDROID_CONTROL_SETTINGS_OVERRIDE_ZOOM:
1915                     msg = "ZOOM";
1916                     ret = 0;
1917                     break;
1918                 case ANDROID_CONTROL_SETTINGS_OVERRIDE_VENDOR_START:
1919                     msg = "VENDOR_START";
1920                     ret = 0;
1921                     break;
1922                 default:
1923                     msg = "error: enum value out of range";
1924             }
1925             break;
1926         }
1927         case ANDROID_CONTROL_AVAILABLE_SETTINGS_OVERRIDES: {
1928             break;
1929         }
1930         case ANDROID_CONTROL_SETTINGS_OVERRIDING_FRAME_NUMBER: {
1931             break;
1932         }
1933         case ANDROID_CONTROL_AUTOFRAMING: {
1934             switch (value) {
1935                 case ANDROID_CONTROL_AUTOFRAMING_OFF:
1936                     msg = "OFF";
1937                     ret = 0;
1938                     break;
1939                 case ANDROID_CONTROL_AUTOFRAMING_ON:
1940                     msg = "ON";
1941                     ret = 0;
1942                     break;
1943                 case ANDROID_CONTROL_AUTOFRAMING_AUTO:
1944                     msg = "AUTO";
1945                     ret = 0;
1946                     break;
1947                 default:
1948                     msg = "error: enum value out of range";
1949             }
1950             break;
1951         }
1952         case ANDROID_CONTROL_AUTOFRAMING_AVAILABLE: {
1953             switch (value) {
1954                 case ANDROID_CONTROL_AUTOFRAMING_AVAILABLE_FALSE:
1955                     msg = "FALSE";
1956                     ret = 0;
1957                     break;
1958                 case ANDROID_CONTROL_AUTOFRAMING_AVAILABLE_TRUE:
1959                     msg = "TRUE";
1960                     ret = 0;
1961                     break;
1962                 default:
1963                     msg = "error: enum value out of range";
1964             }
1965             break;
1966         }
1967         case ANDROID_CONTROL_AUTOFRAMING_STATE: {
1968             switch (value) {
1969                 case ANDROID_CONTROL_AUTOFRAMING_STATE_INACTIVE:
1970                     msg = "INACTIVE";
1971                     ret = 0;
1972                     break;
1973                 case ANDROID_CONTROL_AUTOFRAMING_STATE_FRAMING:
1974                     msg = "FRAMING";
1975                     ret = 0;
1976                     break;
1977                 case ANDROID_CONTROL_AUTOFRAMING_STATE_CONVERGED:
1978                     msg = "CONVERGED";
1979                     ret = 0;
1980                     break;
1981                 default:
1982                     msg = "error: enum value out of range";
1983             }
1984             break;
1985         }
1986         case ANDROID_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: {
1987             break;
1988         }
1989         case ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE: {
1990             switch (value) {
1991                 case ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE:
1992                     msg = "INACTIVE";
1993                     ret = 0;
1994                     break;
1995                 case ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE:
1996                     msg = "ACTIVE";
1997                     ret = 0;
1998                     break;
1999                 default:
2000                     msg = "error: enum value out of range";
2001             }
2002             break;
2003         }
2004         case ANDROID_CONTROL_ZOOM_METHOD: {
2005             switch (value) {
2006                 case ANDROID_CONTROL_ZOOM_METHOD_AUTO:
2007                     msg = "AUTO";
2008                     ret = 0;
2009                     break;
2010                 case ANDROID_CONTROL_ZOOM_METHOD_ZOOM_RATIO:
2011                     msg = "ZOOM_RATIO";
2012                     ret = 0;
2013                     break;
2014                 default:
2015                     msg = "error: enum value out of range";
2016             }
2017             break;
2018         }
2019         case ANDROID_CONTROL_AE_PRIORITY_MODE: {
2020             switch (value) {
2021                 case ANDROID_CONTROL_AE_PRIORITY_MODE_OFF:
2022                     msg = "OFF";
2023                     ret = 0;
2024                     break;
2025                 case ANDROID_CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY:
2026                     msg = "SENSOR_SENSITIVITY_PRIORITY";
2027                     ret = 0;
2028                     break;
2029                 case ANDROID_CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY:
2030                     msg = "SENSOR_EXPOSURE_TIME_PRIORITY";
2031                     ret = 0;
2032                     break;
2033                 default:
2034                     msg = "error: enum value out of range";
2035             }
2036             break;
2037         }
2038         case ANDROID_CONTROL_AE_AVAILABLE_PRIORITY_MODES: {
2039             break;
2040         }
2041 
2042         case ANDROID_DEMOSAIC_MODE: {
2043             switch (value) {
2044                 case ANDROID_DEMOSAIC_MODE_FAST:
2045                     msg = "FAST";
2046                     ret = 0;
2047                     break;
2048                 case ANDROID_DEMOSAIC_MODE_HIGH_QUALITY:
2049                     msg = "HIGH_QUALITY";
2050                     ret = 0;
2051                     break;
2052                 default:
2053                     msg = "error: enum value out of range";
2054             }
2055             break;
2056         }
2057 
2058         case ANDROID_EDGE_MODE: {
2059             switch (value) {
2060                 case ANDROID_EDGE_MODE_OFF:
2061                     msg = "OFF";
2062                     ret = 0;
2063                     break;
2064                 case ANDROID_EDGE_MODE_FAST:
2065                     msg = "FAST";
2066                     ret = 0;
2067                     break;
2068                 case ANDROID_EDGE_MODE_HIGH_QUALITY:
2069                     msg = "HIGH_QUALITY";
2070                     ret = 0;
2071                     break;
2072                 case ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG:
2073                     msg = "ZERO_SHUTTER_LAG";
2074                     ret = 0;
2075                     break;
2076                 default:
2077                     msg = "error: enum value out of range";
2078             }
2079             break;
2080         }
2081         case ANDROID_EDGE_STRENGTH: {
2082             break;
2083         }
2084         case ANDROID_EDGE_AVAILABLE_EDGE_MODES: {
2085             break;
2086         }
2087 
2088         case ANDROID_FLASH_FIRING_POWER: {
2089             break;
2090         }
2091         case ANDROID_FLASH_FIRING_TIME: {
2092             break;
2093         }
2094         case ANDROID_FLASH_MODE: {
2095             switch (value) {
2096                 case ANDROID_FLASH_MODE_OFF:
2097                     msg = "OFF";
2098                     ret = 0;
2099                     break;
2100                 case ANDROID_FLASH_MODE_SINGLE:
2101                     msg = "SINGLE";
2102                     ret = 0;
2103                     break;
2104                 case ANDROID_FLASH_MODE_TORCH:
2105                     msg = "TORCH";
2106                     ret = 0;
2107                     break;
2108                 default:
2109                     msg = "error: enum value out of range";
2110             }
2111             break;
2112         }
2113         case ANDROID_FLASH_COLOR_TEMPERATURE: {
2114             break;
2115         }
2116         case ANDROID_FLASH_MAX_ENERGY: {
2117             break;
2118         }
2119         case ANDROID_FLASH_STATE: {
2120             switch (value) {
2121                 case ANDROID_FLASH_STATE_UNAVAILABLE:
2122                     msg = "UNAVAILABLE";
2123                     ret = 0;
2124                     break;
2125                 case ANDROID_FLASH_STATE_CHARGING:
2126                     msg = "CHARGING";
2127                     ret = 0;
2128                     break;
2129                 case ANDROID_FLASH_STATE_READY:
2130                     msg = "READY";
2131                     ret = 0;
2132                     break;
2133                 case ANDROID_FLASH_STATE_FIRED:
2134                     msg = "FIRED";
2135                     ret = 0;
2136                     break;
2137                 case ANDROID_FLASH_STATE_PARTIAL:
2138                     msg = "PARTIAL";
2139                     ret = 0;
2140                     break;
2141                 default:
2142                     msg = "error: enum value out of range";
2143             }
2144             break;
2145         }
2146         case ANDROID_FLASH_STRENGTH_LEVEL: {
2147             break;
2148         }
2149         case ANDROID_FLASH_SINGLE_STRENGTH_MAX_LEVEL: {
2150             break;
2151         }
2152         case ANDROID_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: {
2153             break;
2154         }
2155         case ANDROID_FLASH_TORCH_STRENGTH_MAX_LEVEL: {
2156             break;
2157         }
2158         case ANDROID_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: {
2159             break;
2160         }
2161 
2162         case ANDROID_FLASH_INFO_AVAILABLE: {
2163             switch (value) {
2164                 case ANDROID_FLASH_INFO_AVAILABLE_FALSE:
2165                     msg = "FALSE";
2166                     ret = 0;
2167                     break;
2168                 case ANDROID_FLASH_INFO_AVAILABLE_TRUE:
2169                     msg = "TRUE";
2170                     ret = 0;
2171                     break;
2172                 default:
2173                     msg = "error: enum value out of range";
2174             }
2175             break;
2176         }
2177         case ANDROID_FLASH_INFO_CHARGE_DURATION: {
2178             break;
2179         }
2180         case ANDROID_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: {
2181             break;
2182         }
2183         case ANDROID_FLASH_INFO_STRENGTH_DEFAULT_LEVEL: {
2184             break;
2185         }
2186 
2187         case ANDROID_HOT_PIXEL_MODE: {
2188             switch (value) {
2189                 case ANDROID_HOT_PIXEL_MODE_OFF:
2190                     msg = "OFF";
2191                     ret = 0;
2192                     break;
2193                 case ANDROID_HOT_PIXEL_MODE_FAST:
2194                     msg = "FAST";
2195                     ret = 0;
2196                     break;
2197                 case ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY:
2198                     msg = "HIGH_QUALITY";
2199                     ret = 0;
2200                     break;
2201                 default:
2202                     msg = "error: enum value out of range";
2203             }
2204             break;
2205         }
2206         case ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: {
2207             break;
2208         }
2209 
2210         case ANDROID_JPEG_GPS_COORDINATES: {
2211             break;
2212         }
2213         case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
2214             break;
2215         }
2216         case ANDROID_JPEG_GPS_TIMESTAMP: {
2217             break;
2218         }
2219         case ANDROID_JPEG_ORIENTATION: {
2220             break;
2221         }
2222         case ANDROID_JPEG_QUALITY: {
2223             break;
2224         }
2225         case ANDROID_JPEG_THUMBNAIL_QUALITY: {
2226             break;
2227         }
2228         case ANDROID_JPEG_THUMBNAIL_SIZE: {
2229             break;
2230         }
2231         case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
2232             break;
2233         }
2234         case ANDROID_JPEG_MAX_SIZE: {
2235             break;
2236         }
2237         case ANDROID_JPEG_SIZE: {
2238             break;
2239         }
2240 
2241         case ANDROID_LENS_APERTURE: {
2242             break;
2243         }
2244         case ANDROID_LENS_FILTER_DENSITY: {
2245             break;
2246         }
2247         case ANDROID_LENS_FOCAL_LENGTH: {
2248             break;
2249         }
2250         case ANDROID_LENS_FOCUS_DISTANCE: {
2251             break;
2252         }
2253         case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
2254             switch (value) {
2255                 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF:
2256                     msg = "OFF";
2257                     ret = 0;
2258                     break;
2259                 case ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON:
2260                     msg = "ON";
2261                     ret = 0;
2262                     break;
2263                 default:
2264                     msg = "error: enum value out of range";
2265             }
2266             break;
2267         }
2268         case ANDROID_LENS_FACING: {
2269             switch (value) {
2270                 case ANDROID_LENS_FACING_FRONT:
2271                     msg = "FRONT";
2272                     ret = 0;
2273                     break;
2274                 case ANDROID_LENS_FACING_BACK:
2275                     msg = "BACK";
2276                     ret = 0;
2277                     break;
2278                 case ANDROID_LENS_FACING_EXTERNAL:
2279                     msg = "EXTERNAL";
2280                     ret = 0;
2281                     break;
2282                 default:
2283                     msg = "error: enum value out of range";
2284             }
2285             break;
2286         }
2287         case ANDROID_LENS_POSE_ROTATION: {
2288             break;
2289         }
2290         case ANDROID_LENS_POSE_TRANSLATION: {
2291             break;
2292         }
2293         case ANDROID_LENS_FOCUS_RANGE: {
2294             break;
2295         }
2296         case ANDROID_LENS_STATE: {
2297             switch (value) {
2298                 case ANDROID_LENS_STATE_STATIONARY:
2299                     msg = "STATIONARY";
2300                     ret = 0;
2301                     break;
2302                 case ANDROID_LENS_STATE_MOVING:
2303                     msg = "MOVING";
2304                     ret = 0;
2305                     break;
2306                 default:
2307                     msg = "error: enum value out of range";
2308             }
2309             break;
2310         }
2311         case ANDROID_LENS_INTRINSIC_CALIBRATION: {
2312             break;
2313         }
2314         case ANDROID_LENS_RADIAL_DISTORTION: {
2315             break;
2316         }
2317         case ANDROID_LENS_POSE_REFERENCE: {
2318             switch (value) {
2319                 case ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA:
2320                     msg = "PRIMARY_CAMERA";
2321                     ret = 0;
2322                     break;
2323                 case ANDROID_LENS_POSE_REFERENCE_GYROSCOPE:
2324                     msg = "GYROSCOPE";
2325                     ret = 0;
2326                     break;
2327                 case ANDROID_LENS_POSE_REFERENCE_UNDEFINED:
2328                     msg = "UNDEFINED";
2329                     ret = 0;
2330                     break;
2331                 case ANDROID_LENS_POSE_REFERENCE_AUTOMOTIVE:
2332                     msg = "AUTOMOTIVE";
2333                     ret = 0;
2334                     break;
2335                 default:
2336                     msg = "error: enum value out of range";
2337             }
2338             break;
2339         }
2340         case ANDROID_LENS_DISTORTION: {
2341             break;
2342         }
2343         case ANDROID_LENS_DISTORTION_MAXIMUM_RESOLUTION: {
2344             break;
2345         }
2346         case ANDROID_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: {
2347             break;
2348         }
2349 
2350         case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
2351             break;
2352         }
2353         case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
2354             break;
2355         }
2356         case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
2357             break;
2358         }
2359         case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
2360             break;
2361         }
2362         case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
2363             break;
2364         }
2365         case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
2366             break;
2367         }
2368         case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
2369             break;
2370         }
2371         case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: {
2372             switch (value) {
2373                 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
2374                     msg = "UNCALIBRATED";
2375                     ret = 0;
2376                     break;
2377                 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
2378                     msg = "APPROXIMATE";
2379                     ret = 0;
2380                     break;
2381                 case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
2382                     msg = "CALIBRATED";
2383                     ret = 0;
2384                     break;
2385                 default:
2386                     msg = "error: enum value out of range";
2387             }
2388             break;
2389         }
2390 
2391         case ANDROID_NOISE_REDUCTION_MODE: {
2392             switch (value) {
2393                 case ANDROID_NOISE_REDUCTION_MODE_OFF:
2394                     msg = "OFF";
2395                     ret = 0;
2396                     break;
2397                 case ANDROID_NOISE_REDUCTION_MODE_FAST:
2398                     msg = "FAST";
2399                     ret = 0;
2400                     break;
2401                 case ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY:
2402                     msg = "HIGH_QUALITY";
2403                     ret = 0;
2404                     break;
2405                 case ANDROID_NOISE_REDUCTION_MODE_MINIMAL:
2406                     msg = "MINIMAL";
2407                     ret = 0;
2408                     break;
2409                 case ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:
2410                     msg = "ZERO_SHUTTER_LAG";
2411                     ret = 0;
2412                     break;
2413                 default:
2414                     msg = "error: enum value out of range";
2415             }
2416             break;
2417         }
2418         case ANDROID_NOISE_REDUCTION_STRENGTH: {
2419             break;
2420         }
2421         case ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: {
2422             break;
2423         }
2424 
2425         case ANDROID_QUIRKS_METERING_CROP_REGION: {
2426             break;
2427         }
2428         case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
2429             break;
2430         }
2431         case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
2432             break;
2433         }
2434         case ANDROID_QUIRKS_USE_PARTIAL_RESULT: {
2435             break;
2436         }
2437         case ANDROID_QUIRKS_PARTIAL_RESULT: {
2438             switch (value) {
2439                 case ANDROID_QUIRKS_PARTIAL_RESULT_FINAL:
2440                     msg = "FINAL";
2441                     ret = 0;
2442                     break;
2443                 case ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL:
2444                     msg = "PARTIAL";
2445                     ret = 0;
2446                     break;
2447                 default:
2448                     msg = "error: enum value out of range";
2449             }
2450             break;
2451         }
2452 
2453         case ANDROID_REQUEST_FRAME_COUNT: {
2454             break;
2455         }
2456         case ANDROID_REQUEST_ID: {
2457             break;
2458         }
2459         case ANDROID_REQUEST_INPUT_STREAMS: {
2460             break;
2461         }
2462         case ANDROID_REQUEST_METADATA_MODE: {
2463             switch (value) {
2464                 case ANDROID_REQUEST_METADATA_MODE_NONE:
2465                     msg = "NONE";
2466                     ret = 0;
2467                     break;
2468                 case ANDROID_REQUEST_METADATA_MODE_FULL:
2469                     msg = "FULL";
2470                     ret = 0;
2471                     break;
2472                 default:
2473                     msg = "error: enum value out of range";
2474             }
2475             break;
2476         }
2477         case ANDROID_REQUEST_OUTPUT_STREAMS: {
2478             break;
2479         }
2480         case ANDROID_REQUEST_TYPE: {
2481             switch (value) {
2482                 case ANDROID_REQUEST_TYPE_CAPTURE:
2483                     msg = "CAPTURE";
2484                     ret = 0;
2485                     break;
2486                 case ANDROID_REQUEST_TYPE_REPROCESS:
2487                     msg = "REPROCESS";
2488                     ret = 0;
2489                     break;
2490                 default:
2491                     msg = "error: enum value out of range";
2492             }
2493             break;
2494         }
2495         case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
2496             break;
2497         }
2498         case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
2499             break;
2500         }
2501         case ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS: {
2502             break;
2503         }
2504         case ANDROID_REQUEST_PIPELINE_DEPTH: {
2505             break;
2506         }
2507         case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
2508             break;
2509         }
2510         case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
2511             break;
2512         }
2513         case ANDROID_REQUEST_AVAILABLE_CAPABILITIES: {
2514             switch (value) {
2515                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE:
2516                     msg = "BACKWARD_COMPATIBLE";
2517                     ret = 0;
2518                     break;
2519                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR:
2520                     msg = "MANUAL_SENSOR";
2521                     ret = 0;
2522                     break;
2523                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING:
2524                     msg = "MANUAL_POST_PROCESSING";
2525                     ret = 0;
2526                     break;
2527                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW:
2528                     msg = "RAW";
2529                     ret = 0;
2530                     break;
2531                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING:
2532                     msg = "PRIVATE_REPROCESSING";
2533                     ret = 0;
2534                     break;
2535                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS:
2536                     msg = "READ_SENSOR_SETTINGS";
2537                     ret = 0;
2538                     break;
2539                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE:
2540                     msg = "BURST_CAPTURE";
2541                     ret = 0;
2542                     break;
2543                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING:
2544                     msg = "YUV_REPROCESSING";
2545                     ret = 0;
2546                     break;
2547                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT:
2548                     msg = "DEPTH_OUTPUT";
2549                     ret = 0;
2550                     break;
2551                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO:
2552                     msg = "CONSTRAINED_HIGH_SPEED_VIDEO";
2553                     ret = 0;
2554                     break;
2555                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING:
2556                     msg = "MOTION_TRACKING";
2557                     ret = 0;
2558                     break;
2559                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA:
2560                     msg = "LOGICAL_MULTI_CAMERA";
2561                     ret = 0;
2562                     break;
2563                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME:
2564                     msg = "MONOCHROME";
2565                     ret = 0;
2566                     break;
2567                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA:
2568                     msg = "SECURE_IMAGE_DATA";
2569                     ret = 0;
2570                     break;
2571                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA:
2572                     msg = "SYSTEM_CAMERA";
2573                     ret = 0;
2574                     break;
2575                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING:
2576                     msg = "OFFLINE_PROCESSING";
2577                     ret = 0;
2578                     break;
2579                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR:
2580                     msg = "ULTRA_HIGH_RESOLUTION_SENSOR";
2581                     ret = 0;
2582                     break;
2583                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING:
2584                     msg = "REMOSAIC_REPROCESSING";
2585                     ret = 0;
2586                     break;
2587                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT:
2588                     msg = "DYNAMIC_RANGE_TEN_BIT";
2589                     ret = 0;
2590                     break;
2591                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE:
2592                     msg = "STREAM_USE_CASE";
2593                     ret = 0;
2594                     break;
2595                 case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_COLOR_SPACE_PROFILES:
2596                     msg = "COLOR_SPACE_PROFILES";
2597                     ret = 0;
2598                     break;
2599                 default:
2600                     msg = "error: enum value out of range";
2601             }
2602             break;
2603         }
2604         case ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS: {
2605             break;
2606         }
2607         case ANDROID_REQUEST_AVAILABLE_RESULT_KEYS: {
2608             break;
2609         }
2610         case ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: {
2611             break;
2612         }
2613         case ANDROID_REQUEST_AVAILABLE_SESSION_KEYS: {
2614             break;
2615         }
2616         case ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS: {
2617             break;
2618         }
2619         case ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION: {
2620             break;
2621         }
2622         case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP: {
2623             switch (value) {
2624                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD:
2625                     msg = "STANDARD";
2626                     ret = 0;
2627                     break;
2628                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10:
2629                     msg = "HLG10";
2630                     ret = 0;
2631                     break;
2632                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10:
2633                     msg = "HDR10";
2634                     ret = 0;
2635                     break;
2636                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS:
2637                     msg = "HDR10_PLUS";
2638                     ret = 0;
2639                     break;
2640                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF:
2641                     msg = "DOLBY_VISION_10B_HDR_REF";
2642                     ret = 0;
2643                     break;
2644                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO:
2645                     msg = "DOLBY_VISION_10B_HDR_REF_PO";
2646                     ret = 0;
2647                     break;
2648                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM:
2649                     msg = "DOLBY_VISION_10B_HDR_OEM";
2650                     ret = 0;
2651                     break;
2652                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO:
2653                     msg = "DOLBY_VISION_10B_HDR_OEM_PO";
2654                     ret = 0;
2655                     break;
2656                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF:
2657                     msg = "DOLBY_VISION_8B_HDR_REF";
2658                     ret = 0;
2659                     break;
2660                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO:
2661                     msg = "DOLBY_VISION_8B_HDR_REF_PO";
2662                     ret = 0;
2663                     break;
2664                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM:
2665                     msg = "DOLBY_VISION_8B_HDR_OEM";
2666                     ret = 0;
2667                     break;
2668                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO:
2669                     msg = "DOLBY_VISION_8B_HDR_OEM_PO";
2670                     ret = 0;
2671                     break;
2672                 case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX:
2673                     msg = "MAX";
2674                     ret = 0;
2675                     break;
2676                 default:
2677                     msg = "error: enum value out of range";
2678             }
2679             break;
2680         }
2681         case ANDROID_REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE: {
2682             break;
2683         }
2684         case ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP: {
2685             switch (value) {
2686                 case ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED:
2687                     msg = "UNSPECIFIED";
2688                     ret = 0;
2689                     break;
2690                 case ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB:
2691                     msg = "SRGB";
2692                     ret = 0;
2693                     break;
2694                 case ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3:
2695                     msg = "DISPLAY_P3";
2696                     ret = 0;
2697                     break;
2698                 case ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG:
2699                     msg = "BT2020_HLG";
2700                     ret = 0;
2701                     break;
2702                 default:
2703                     msg = "error: enum value out of range";
2704             }
2705             break;
2706         }
2707 
2708         case ANDROID_SCALER_CROP_REGION: {
2709             break;
2710         }
2711         case ANDROID_SCALER_AVAILABLE_FORMATS: {
2712             switch (value) {
2713                 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW16:
2714                     msg = "RAW16";
2715                     ret = 0;
2716                     break;
2717                 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE:
2718                     msg = "RAW_OPAQUE";
2719                     ret = 0;
2720                     break;
2721                 case ANDROID_SCALER_AVAILABLE_FORMATS_YV12:
2722                     msg = "YV12";
2723                     ret = 0;
2724                     break;
2725                 case ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP:
2726                     msg = "YCrCb_420_SP";
2727                     ret = 0;
2728                     break;
2729                 case ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED:
2730                     msg = "IMPLEMENTATION_DEFINED";
2731                     ret = 0;
2732                     break;
2733                 case ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888:
2734                     msg = "YCbCr_420_888";
2735                     ret = 0;
2736                     break;
2737                 case ANDROID_SCALER_AVAILABLE_FORMATS_BLOB:
2738                     msg = "BLOB";
2739                     ret = 0;
2740                     break;
2741                 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW10:
2742                     msg = "RAW10";
2743                     ret = 0;
2744                     break;
2745                 case ANDROID_SCALER_AVAILABLE_FORMATS_RAW12:
2746                     msg = "RAW12";
2747                     ret = 0;
2748                     break;
2749                 case ANDROID_SCALER_AVAILABLE_FORMATS_Y8:
2750                     msg = "Y8";
2751                     ret = 0;
2752                     break;
2753                 default:
2754                     msg = "error: enum value out of range";
2755             }
2756             break;
2757         }
2758         case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
2759             break;
2760         }
2761         case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
2762             break;
2763         }
2764         case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
2765             break;
2766         }
2767         case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
2768             break;
2769         }
2770         case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
2771             break;
2772         }
2773         case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
2774             break;
2775         }
2776         case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
2777             break;
2778         }
2779         case ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP: {
2780             break;
2781         }
2782         case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: {
2783             switch (value) {
2784                 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT:
2785                     msg = "OUTPUT";
2786                     ret = 0;
2787                     break;
2788                 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT:
2789                     msg = "INPUT";
2790                     ret = 0;
2791                     break;
2792                 default:
2793                     msg = "error: enum value out of range";
2794             }
2795             break;
2796         }
2797         case ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: {
2798             break;
2799         }
2800         case ANDROID_SCALER_AVAILABLE_STALL_DURATIONS: {
2801             break;
2802         }
2803         case ANDROID_SCALER_CROPPING_TYPE: {
2804             switch (value) {
2805                 case ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY:
2806                     msg = "CENTER_ONLY";
2807                     ret = 0;
2808                     break;
2809                 case ANDROID_SCALER_CROPPING_TYPE_FREEFORM:
2810                     msg = "FREEFORM";
2811                     ret = 0;
2812                     break;
2813                 default:
2814                     msg = "error: enum value out of range";
2815             }
2816             break;
2817         }
2818         case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS: {
2819             switch (value) {
2820                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW:
2821                     msg = "PREVIEW";
2822                     ret = 0;
2823                     break;
2824                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD:
2825                     msg = "RECORD";
2826                     ret = 0;
2827                     break;
2828                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT:
2829                     msg = "VIDEO_SNAPSHOT";
2830                     ret = 0;
2831                     break;
2832                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT:
2833                     msg = "SNAPSHOT";
2834                     ret = 0;
2835                     break;
2836                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL:
2837                     msg = "ZSL";
2838                     ret = 0;
2839                     break;
2840                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW:
2841                     msg = "RAW";
2842                     ret = 0;
2843                     break;
2844                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT:
2845                     msg = "LOW_LATENCY_SNAPSHOT";
2846                     ret = 0;
2847                     break;
2848                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END:
2849                     msg = "PUBLIC_END";
2850                     ret = 0;
2851                     break;
2852                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT:
2853                     msg = "10BIT_OUTPUT";
2854                     ret = 0;
2855                     break;
2856                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8:
2857                     msg = "PUBLIC_END_3_8";
2858                     ret = 0;
2859                     break;
2860                 case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START:
2861                     msg = "VENDOR_START";
2862                     ret = 0;
2863                     break;
2864                 default:
2865                     msg = "error: enum value out of range";
2866             }
2867             break;
2868         }
2869         case ANDROID_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP: {
2870             break;
2871         }
2872         case ANDROID_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: {
2873             break;
2874         }
2875         case ANDROID_SCALER_ROTATE_AND_CROP: {
2876             switch (value) {
2877                 case ANDROID_SCALER_ROTATE_AND_CROP_NONE:
2878                     msg = "NONE";
2879                     ret = 0;
2880                     break;
2881                 case ANDROID_SCALER_ROTATE_AND_CROP_90:
2882                     msg = "90";
2883                     ret = 0;
2884                     break;
2885                 case ANDROID_SCALER_ROTATE_AND_CROP_180:
2886                     msg = "180";
2887                     ret = 0;
2888                     break;
2889                 case ANDROID_SCALER_ROTATE_AND_CROP_270:
2890                     msg = "270";
2891                     ret = 0;
2892                     break;
2893                 case ANDROID_SCALER_ROTATE_AND_CROP_AUTO:
2894                     msg = "AUTO";
2895                     ret = 0;
2896                     break;
2897                 default:
2898                     msg = "error: enum value out of range";
2899             }
2900             break;
2901         }
2902         case ANDROID_SCALER_DEFAULT_SECURE_IMAGE_SIZE: {
2903             break;
2904         }
2905         case ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS: {
2906             switch (value) {
2907                 case ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT:
2908                     msg = "OUTPUT";
2909                     ret = 0;
2910                     break;
2911                 case ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT:
2912                     msg = "INPUT";
2913                     ret = 0;
2914                     break;
2915                 default:
2916                     msg = "error: enum value out of range";
2917             }
2918             break;
2919         }
2920         case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
2921             switch (value) {
2922                 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
2923                     msg = "OUTPUT";
2924                     ret = 0;
2925                     break;
2926                 case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
2927                     msg = "INPUT";
2928                     ret = 0;
2929                     break;
2930                 default:
2931                     msg = "error: enum value out of range";
2932             }
2933             break;
2934         }
2935         case ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
2936             break;
2937         }
2938         case ANDROID_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
2939             break;
2940         }
2941         case ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION: {
2942             break;
2943         }
2944         case ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED: {
2945             switch (value) {
2946                 case ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE:
2947                     msg = "FALSE";
2948                     ret = 0;
2949                     break;
2950                 case ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE:
2951                     msg = "TRUE";
2952                     ret = 0;
2953                     break;
2954                 default:
2955                     msg = "error: enum value out of range";
2956             }
2957             break;
2958         }
2959         case ANDROID_SCALER_CROP_REGION_SET: {
2960             switch (value) {
2961                 case ANDROID_SCALER_CROP_REGION_SET_FALSE:
2962                     msg = "FALSE";
2963                     ret = 0;
2964                     break;
2965                 case ANDROID_SCALER_CROP_REGION_SET_TRUE:
2966                     msg = "TRUE";
2967                     ret = 0;
2968                     break;
2969                 default:
2970                     msg = "error: enum value out of range";
2971             }
2972             break;
2973         }
2974         case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES: {
2975             switch (value) {
2976                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT:
2977                     msg = "DEFAULT";
2978                     ret = 0;
2979                     break;
2980                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW:
2981                     msg = "PREVIEW";
2982                     ret = 0;
2983                     break;
2984                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE:
2985                     msg = "STILL_CAPTURE";
2986                     ret = 0;
2987                     break;
2988                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD:
2989                     msg = "VIDEO_RECORD";
2990                     ret = 0;
2991                     break;
2992                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL:
2993                     msg = "PREVIEW_VIDEO_STILL";
2994                     ret = 0;
2995                     break;
2996                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL:
2997                     msg = "VIDEO_CALL";
2998                     ret = 0;
2999                     break;
3000                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW:
3001                     msg = "CROPPED_RAW";
3002                     ret = 0;
3003                     break;
3004                 case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VENDOR_START:
3005                     msg = "VENDOR_START";
3006                     ret = 0;
3007                     break;
3008                 default:
3009                     msg = "error: enum value out of range";
3010             }
3011             break;
3012         }
3013         case ANDROID_SCALER_RAW_CROP_REGION: {
3014             break;
3015         }
3016 
3017         case ANDROID_SENSOR_EXPOSURE_TIME: {
3018             break;
3019         }
3020         case ANDROID_SENSOR_FRAME_DURATION: {
3021             break;
3022         }
3023         case ANDROID_SENSOR_SENSITIVITY: {
3024             break;
3025         }
3026         case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
3027             switch (value) {
3028                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
3029                     msg = "DAYLIGHT";
3030                     ret = 0;
3031                     break;
3032                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
3033                     msg = "FLUORESCENT";
3034                     ret = 0;
3035                     break;
3036                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
3037                     msg = "TUNGSTEN";
3038                     ret = 0;
3039                     break;
3040                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
3041                     msg = "FLASH";
3042                     ret = 0;
3043                     break;
3044                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
3045                     msg = "FINE_WEATHER";
3046                     ret = 0;
3047                     break;
3048                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
3049                     msg = "CLOUDY_WEATHER";
3050                     ret = 0;
3051                     break;
3052                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
3053                     msg = "SHADE";
3054                     ret = 0;
3055                     break;
3056                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
3057                     msg = "DAYLIGHT_FLUORESCENT";
3058                     ret = 0;
3059                     break;
3060                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
3061                     msg = "DAY_WHITE_FLUORESCENT";
3062                     ret = 0;
3063                     break;
3064                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
3065                     msg = "COOL_WHITE_FLUORESCENT";
3066                     ret = 0;
3067                     break;
3068                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
3069                     msg = "WHITE_FLUORESCENT";
3070                     ret = 0;
3071                     break;
3072                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
3073                     msg = "STANDARD_A";
3074                     ret = 0;
3075                     break;
3076                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
3077                     msg = "STANDARD_B";
3078                     ret = 0;
3079                     break;
3080                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
3081                     msg = "STANDARD_C";
3082                     ret = 0;
3083                     break;
3084                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55:
3085                     msg = "D55";
3086                     ret = 0;
3087                     break;
3088                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65:
3089                     msg = "D65";
3090                     ret = 0;
3091                     break;
3092                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75:
3093                     msg = "D75";
3094                     ret = 0;
3095                     break;
3096                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50:
3097                     msg = "D50";
3098                     ret = 0;
3099                     break;
3100                 case ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
3101                     msg = "ISO_STUDIO_TUNGSTEN";
3102                     ret = 0;
3103                     break;
3104                 default:
3105                     msg = "error: enum value out of range";
3106             }
3107             break;
3108         }
3109         case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
3110             break;
3111         }
3112         case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
3113             break;
3114         }
3115         case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
3116             break;
3117         }
3118         case ANDROID_SENSOR_COLOR_TRANSFORM1: {
3119             break;
3120         }
3121         case ANDROID_SENSOR_COLOR_TRANSFORM2: {
3122             break;
3123         }
3124         case ANDROID_SENSOR_FORWARD_MATRIX1: {
3125             break;
3126         }
3127         case ANDROID_SENSOR_FORWARD_MATRIX2: {
3128             break;
3129         }
3130         case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
3131             break;
3132         }
3133         case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
3134             break;
3135         }
3136         case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
3137             break;
3138         }
3139         case ANDROID_SENSOR_ORIENTATION: {
3140             break;
3141         }
3142         case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS: {
3143             break;
3144         }
3145         case ANDROID_SENSOR_TIMESTAMP: {
3146             break;
3147         }
3148         case ANDROID_SENSOR_TEMPERATURE: {
3149             break;
3150         }
3151         case ANDROID_SENSOR_NEUTRAL_COLOR_POINT: {
3152             break;
3153         }
3154         case ANDROID_SENSOR_NOISE_PROFILE: {
3155             break;
3156         }
3157         case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP: {
3158             break;
3159         }
3160         case ANDROID_SENSOR_PROFILE_TONE_CURVE: {
3161             break;
3162         }
3163         case ANDROID_SENSOR_GREEN_SPLIT: {
3164             break;
3165         }
3166         case ANDROID_SENSOR_TEST_PATTERN_DATA: {
3167             break;
3168         }
3169         case ANDROID_SENSOR_TEST_PATTERN_MODE: {
3170             switch (value) {
3171                 case ANDROID_SENSOR_TEST_PATTERN_MODE_OFF:
3172                     msg = "OFF";
3173                     ret = 0;
3174                     break;
3175                 case ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
3176                     msg = "SOLID_COLOR";
3177                     ret = 0;
3178                     break;
3179                 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
3180                     msg = "COLOR_BARS";
3181                     ret = 0;
3182                     break;
3183                 case ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
3184                     msg = "COLOR_BARS_FADE_TO_GRAY";
3185                     ret = 0;
3186                     break;
3187                 case ANDROID_SENSOR_TEST_PATTERN_MODE_PN9:
3188                     msg = "PN9";
3189                     ret = 0;
3190                     break;
3191                 case ANDROID_SENSOR_TEST_PATTERN_MODE_BLACK:
3192                     msg = "BLACK";
3193                     ret = 0;
3194                     break;
3195                 case ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
3196                     msg = "CUSTOM1";
3197                     ret = 0;
3198                     break;
3199                 default:
3200                     msg = "error: enum value out of range";
3201             }
3202             break;
3203         }
3204         case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
3205             break;
3206         }
3207         case ANDROID_SENSOR_ROLLING_SHUTTER_SKEW: {
3208             break;
3209         }
3210         case ANDROID_SENSOR_OPTICAL_BLACK_REGIONS: {
3211             break;
3212         }
3213         case ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL: {
3214             break;
3215         }
3216         case ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL: {
3217             break;
3218         }
3219         case ANDROID_SENSOR_OPAQUE_RAW_SIZE: {
3220             break;
3221         }
3222         case ANDROID_SENSOR_OPAQUE_RAW_SIZE_MAXIMUM_RESOLUTION: {
3223             break;
3224         }
3225         case ANDROID_SENSOR_PIXEL_MODE: {
3226             switch (value) {
3227                 case ANDROID_SENSOR_PIXEL_MODE_DEFAULT:
3228                     msg = "DEFAULT";
3229                     ret = 0;
3230                     break;
3231                 case ANDROID_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION:
3232                     msg = "MAXIMUM_RESOLUTION";
3233                     ret = 0;
3234                     break;
3235                 default:
3236                     msg = "error: enum value out of range";
3237             }
3238             break;
3239         }
3240         case ANDROID_SENSOR_RAW_BINNING_FACTOR_USED: {
3241             switch (value) {
3242                 case ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_TRUE:
3243                     msg = "TRUE";
3244                     ret = 0;
3245                     break;
3246                 case ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_FALSE:
3247                     msg = "FALSE";
3248                     ret = 0;
3249                     break;
3250                 default:
3251                     msg = "error: enum value out of range";
3252             }
3253             break;
3254         }
3255         case ANDROID_SENSOR_READOUT_TIMESTAMP: {
3256             switch (value) {
3257                 case ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED:
3258                     msg = "NOT_SUPPORTED";
3259                     ret = 0;
3260                     break;
3261                 case ANDROID_SENSOR_READOUT_TIMESTAMP_HARDWARE:
3262                     msg = "HARDWARE";
3263                     ret = 0;
3264                     break;
3265                 default:
3266                     msg = "error: enum value out of range";
3267             }
3268             break;
3269         }
3270 
3271         case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
3272             break;
3273         }
3274         case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
3275             break;
3276         }
3277         case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
3278             switch (value) {
3279                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
3280                     msg = "RGGB";
3281                     ret = 0;
3282                     break;
3283                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
3284                     msg = "GRBG";
3285                     ret = 0;
3286                     break;
3287                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
3288                     msg = "GBRG";
3289                     ret = 0;
3290                     break;
3291                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
3292                     msg = "BGGR";
3293                     ret = 0;
3294                     break;
3295                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
3296                     msg = "RGB";
3297                     ret = 0;
3298                     break;
3299                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO:
3300                     msg = "MONO";
3301                     ret = 0;
3302                     break;
3303                 case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR:
3304                     msg = "NIR";
3305                     ret = 0;
3306                     break;
3307                 default:
3308                     msg = "error: enum value out of range";
3309             }
3310             break;
3311         }
3312         case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
3313             break;
3314         }
3315         case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
3316             break;
3317         }
3318         case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
3319             break;
3320         }
3321         case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
3322             break;
3323         }
3324         case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
3325             break;
3326         }
3327         case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE: {
3328             switch (value) {
3329                 case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN:
3330                     msg = "UNKNOWN";
3331                     ret = 0;
3332                     break;
3333                 case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME:
3334                     msg = "REALTIME";
3335                     ret = 0;
3336                     break;
3337                 default:
3338                     msg = "error: enum value out of range";
3339             }
3340             break;
3341         }
3342         case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED: {
3343             switch (value) {
3344                 case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE:
3345                     msg = "FALSE";
3346                     ret = 0;
3347                     break;
3348                 case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE:
3349                     msg = "TRUE";
3350                     ret = 0;
3351                     break;
3352                 default:
3353                     msg = "error: enum value out of range";
3354             }
3355             break;
3356         }
3357         case ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: {
3358             break;
3359         }
3360         case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: {
3361             break;
3362         }
3363         case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: {
3364             break;
3365         }
3366         case ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: {
3367             break;
3368         }
3369         case ANDROID_SENSOR_INFO_BINNING_FACTOR: {
3370             break;
3371         }
3372 
3373         case ANDROID_SHADING_MODE: {
3374             switch (value) {
3375                 case ANDROID_SHADING_MODE_OFF:
3376                     msg = "OFF";
3377                     ret = 0;
3378                     break;
3379                 case ANDROID_SHADING_MODE_FAST:
3380                     msg = "FAST";
3381                     ret = 0;
3382                     break;
3383                 case ANDROID_SHADING_MODE_HIGH_QUALITY:
3384                     msg = "HIGH_QUALITY";
3385                     ret = 0;
3386                     break;
3387                 default:
3388                     msg = "error: enum value out of range";
3389             }
3390             break;
3391         }
3392         case ANDROID_SHADING_STRENGTH: {
3393             break;
3394         }
3395         case ANDROID_SHADING_AVAILABLE_MODES: {
3396             break;
3397         }
3398 
3399         case ANDROID_STATISTICS_FACE_DETECT_MODE: {
3400             switch (value) {
3401                 case ANDROID_STATISTICS_FACE_DETECT_MODE_OFF:
3402                     msg = "OFF";
3403                     ret = 0;
3404                     break;
3405                 case ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE:
3406                     msg = "SIMPLE";
3407                     ret = 0;
3408                     break;
3409                 case ANDROID_STATISTICS_FACE_DETECT_MODE_FULL:
3410                     msg = "FULL";
3411                     ret = 0;
3412                     break;
3413                 default:
3414                     msg = "error: enum value out of range";
3415             }
3416             break;
3417         }
3418         case ANDROID_STATISTICS_HISTOGRAM_MODE: {
3419             switch (value) {
3420                 case ANDROID_STATISTICS_HISTOGRAM_MODE_OFF:
3421                     msg = "OFF";
3422                     ret = 0;
3423                     break;
3424                 case ANDROID_STATISTICS_HISTOGRAM_MODE_ON:
3425                     msg = "ON";
3426                     ret = 0;
3427                     break;
3428                 default:
3429                     msg = "error: enum value out of range";
3430             }
3431             break;
3432         }
3433         case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
3434             switch (value) {
3435                 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF:
3436                     msg = "OFF";
3437                     ret = 0;
3438                     break;
3439                 case ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON:
3440                     msg = "ON";
3441                     ret = 0;
3442                     break;
3443                 default:
3444                     msg = "error: enum value out of range";
3445             }
3446             break;
3447         }
3448         case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE: {
3449             switch (value) {
3450                 case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF:
3451                     msg = "OFF";
3452                     ret = 0;
3453                     break;
3454                 case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON:
3455                     msg = "ON";
3456                     ret = 0;
3457                     break;
3458                 default:
3459                     msg = "error: enum value out of range";
3460             }
3461             break;
3462         }
3463         case ANDROID_STATISTICS_FACE_IDS: {
3464             break;
3465         }
3466         case ANDROID_STATISTICS_FACE_LANDMARKS: {
3467             break;
3468         }
3469         case ANDROID_STATISTICS_FACE_RECTANGLES: {
3470             break;
3471         }
3472         case ANDROID_STATISTICS_FACE_SCORES: {
3473             break;
3474         }
3475         case ANDROID_STATISTICS_HISTOGRAM: {
3476             break;
3477         }
3478         case ANDROID_STATISTICS_SHARPNESS_MAP: {
3479             break;
3480         }
3481         case ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP: {
3482             break;
3483         }
3484         case ANDROID_STATISTICS_LENS_SHADING_MAP: {
3485             break;
3486         }
3487         case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
3488             break;
3489         }
3490         case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
3491             break;
3492         }
3493         case ANDROID_STATISTICS_SCENE_FLICKER: {
3494             switch (value) {
3495                 case ANDROID_STATISTICS_SCENE_FLICKER_NONE:
3496                     msg = "NONE";
3497                     ret = 0;
3498                     break;
3499                 case ANDROID_STATISTICS_SCENE_FLICKER_50HZ:
3500                     msg = "50HZ";
3501                     ret = 0;
3502                     break;
3503                 case ANDROID_STATISTICS_SCENE_FLICKER_60HZ:
3504                     msg = "60HZ";
3505                     ret = 0;
3506                     break;
3507                 default:
3508                     msg = "error: enum value out of range";
3509             }
3510             break;
3511         }
3512         case ANDROID_STATISTICS_HOT_PIXEL_MAP: {
3513             break;
3514         }
3515         case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
3516             switch (value) {
3517                 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
3518                     msg = "OFF";
3519                     ret = 0;
3520                     break;
3521                 case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON:
3522                     msg = "ON";
3523                     ret = 0;
3524                     break;
3525                 default:
3526                     msg = "error: enum value out of range";
3527             }
3528             break;
3529         }
3530         case ANDROID_STATISTICS_OIS_DATA_MODE: {
3531             switch (value) {
3532                 case ANDROID_STATISTICS_OIS_DATA_MODE_OFF:
3533                     msg = "OFF";
3534                     ret = 0;
3535                     break;
3536                 case ANDROID_STATISTICS_OIS_DATA_MODE_ON:
3537                     msg = "ON";
3538                     ret = 0;
3539                     break;
3540                 default:
3541                     msg = "error: enum value out of range";
3542             }
3543             break;
3544         }
3545         case ANDROID_STATISTICS_OIS_TIMESTAMPS: {
3546             break;
3547         }
3548         case ANDROID_STATISTICS_OIS_X_SHIFTS: {
3549             break;
3550         }
3551         case ANDROID_STATISTICS_OIS_Y_SHIFTS: {
3552             break;
3553         }
3554         case ANDROID_STATISTICS_LENS_INTRINSIC_TIMESTAMPS: {
3555             break;
3556         }
3557         case ANDROID_STATISTICS_LENS_INTRINSIC_SAMPLES: {
3558             break;
3559         }
3560 
3561         case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
3562             break;
3563         }
3564         case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
3565             break;
3566         }
3567         case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
3568             break;
3569         }
3570         case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
3571             break;
3572         }
3573         case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
3574             break;
3575         }
3576         case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
3577             break;
3578         }
3579         case ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: {
3580             break;
3581         }
3582         case ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: {
3583             break;
3584         }
3585         case ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: {
3586             break;
3587         }
3588 
3589         case ANDROID_TONEMAP_CURVE_BLUE: {
3590             break;
3591         }
3592         case ANDROID_TONEMAP_CURVE_GREEN: {
3593             break;
3594         }
3595         case ANDROID_TONEMAP_CURVE_RED: {
3596             break;
3597         }
3598         case ANDROID_TONEMAP_MODE: {
3599             switch (value) {
3600                 case ANDROID_TONEMAP_MODE_CONTRAST_CURVE:
3601                     msg = "CONTRAST_CURVE";
3602                     ret = 0;
3603                     break;
3604                 case ANDROID_TONEMAP_MODE_FAST:
3605                     msg = "FAST";
3606                     ret = 0;
3607                     break;
3608                 case ANDROID_TONEMAP_MODE_HIGH_QUALITY:
3609                     msg = "HIGH_QUALITY";
3610                     ret = 0;
3611                     break;
3612                 case ANDROID_TONEMAP_MODE_GAMMA_VALUE:
3613                     msg = "GAMMA_VALUE";
3614                     ret = 0;
3615                     break;
3616                 case ANDROID_TONEMAP_MODE_PRESET_CURVE:
3617                     msg = "PRESET_CURVE";
3618                     ret = 0;
3619                     break;
3620                 default:
3621                     msg = "error: enum value out of range";
3622             }
3623             break;
3624         }
3625         case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
3626             break;
3627         }
3628         case ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES: {
3629             break;
3630         }
3631         case ANDROID_TONEMAP_GAMMA: {
3632             break;
3633         }
3634         case ANDROID_TONEMAP_PRESET_CURVE: {
3635             switch (value) {
3636                 case ANDROID_TONEMAP_PRESET_CURVE_SRGB:
3637                     msg = "SRGB";
3638                     ret = 0;
3639                     break;
3640                 case ANDROID_TONEMAP_PRESET_CURVE_REC709:
3641                     msg = "REC709";
3642                     ret = 0;
3643                     break;
3644                 default:
3645                     msg = "error: enum value out of range";
3646             }
3647             break;
3648         }
3649 
3650         case ANDROID_LED_TRANSMIT: {
3651             switch (value) {
3652                 case ANDROID_LED_TRANSMIT_OFF:
3653                     msg = "OFF";
3654                     ret = 0;
3655                     break;
3656                 case ANDROID_LED_TRANSMIT_ON:
3657                     msg = "ON";
3658                     ret = 0;
3659                     break;
3660                 default:
3661                     msg = "error: enum value out of range";
3662             }
3663             break;
3664         }
3665         case ANDROID_LED_AVAILABLE_LEDS: {
3666             switch (value) {
3667                 case ANDROID_LED_AVAILABLE_LEDS_TRANSMIT:
3668                     msg = "TRANSMIT";
3669                     ret = 0;
3670                     break;
3671                 default:
3672                     msg = "error: enum value out of range";
3673             }
3674             break;
3675         }
3676 
3677         case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
3678             switch (value) {
3679                 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
3680                     msg = "LIMITED";
3681                     ret = 0;
3682                     break;
3683                 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
3684                     msg = "FULL";
3685                     ret = 0;
3686                     break;
3687                 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
3688                     msg = "LEGACY";
3689                     ret = 0;
3690                     break;
3691                 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3:
3692                     msg = "3";
3693                     ret = 0;
3694                     break;
3695                 case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL:
3696                     msg = "EXTERNAL";
3697                     ret = 0;
3698                     break;
3699                 default:
3700                     msg = "error: enum value out of range";
3701             }
3702             break;
3703         }
3704         case ANDROID_INFO_VERSION: {
3705             break;
3706         }
3707         case ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION: {
3708             switch (value) {
3709                 case ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5:
3710                     msg = "HIDL_DEVICE_3_5";
3711                     ret = 0;
3712                     break;
3713                 case ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE:
3714                     msg = "SESSION_CONFIGURABLE";
3715                     ret = 0;
3716                     break;
3717                 default:
3718                     msg = "error: enum value out of range";
3719             }
3720             break;
3721         }
3722         case ANDROID_INFO_DEVICE_STATE_ORIENTATIONS: {
3723             break;
3724         }
3725         case ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION: {
3726             switch (value) {
3727                 case ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_UPSIDE_DOWN_CAKE:
3728                     msg = "UPSIDE_DOWN_CAKE";
3729                     ret = 0;
3730                     break;
3731                 case ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_VANILLA_ICE_CREAM:
3732                     msg = "VANILLA_ICE_CREAM";
3733                     ret = 0;
3734                     break;
3735                 case ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_BAKLAVA:
3736                     msg = "BAKLAVA";
3737                     ret = 0;
3738                     break;
3739                 default:
3740                     msg = "error: enum value out of range";
3741             }
3742             break;
3743         }
3744         case ANDROID_INFO_DEVICE_ID: {
3745             break;
3746         }
3747 
3748         case ANDROID_BLACK_LEVEL_LOCK: {
3749             switch (value) {
3750                 case ANDROID_BLACK_LEVEL_LOCK_OFF:
3751                     msg = "OFF";
3752                     ret = 0;
3753                     break;
3754                 case ANDROID_BLACK_LEVEL_LOCK_ON:
3755                     msg = "ON";
3756                     ret = 0;
3757                     break;
3758                 default:
3759                     msg = "error: enum value out of range";
3760             }
3761             break;
3762         }
3763 
3764         case ANDROID_SYNC_FRAME_NUMBER: {
3765             switch (value) {
3766                 case ANDROID_SYNC_FRAME_NUMBER_CONVERGING:
3767                     msg = "CONVERGING";
3768                     ret = 0;
3769                     break;
3770                 case ANDROID_SYNC_FRAME_NUMBER_UNKNOWN:
3771                     msg = "UNKNOWN";
3772                     ret = 0;
3773                     break;
3774                 default:
3775                     msg = "error: enum value out of range";
3776             }
3777             break;
3778         }
3779         case ANDROID_SYNC_MAX_LATENCY: {
3780             switch (value) {
3781                 case ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
3782                     msg = "PER_FRAME_CONTROL";
3783                     ret = 0;
3784                     break;
3785                 case ANDROID_SYNC_MAX_LATENCY_UNKNOWN:
3786                     msg = "UNKNOWN";
3787                     ret = 0;
3788                     break;
3789                 default:
3790                     msg = "error: enum value out of range";
3791             }
3792             break;
3793         }
3794 
3795         case ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: {
3796             break;
3797         }
3798         case ANDROID_REPROCESS_MAX_CAPTURE_STALL: {
3799             break;
3800         }
3801 
3802         case ANDROID_DEPTH_MAX_DEPTH_SAMPLES: {
3803             break;
3804         }
3805         case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: {
3806             switch (value) {
3807                 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
3808                     msg = "OUTPUT";
3809                     ret = 0;
3810                     break;
3811                 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT:
3812                     msg = "INPUT";
3813                     ret = 0;
3814                     break;
3815                 default:
3816                     msg = "error: enum value out of range";
3817             }
3818             break;
3819         }
3820         case ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: {
3821             break;
3822         }
3823         case ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: {
3824             break;
3825         }
3826         case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE: {
3827             switch (value) {
3828                 case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE:
3829                     msg = "FALSE";
3830                     ret = 0;
3831                     break;
3832                 case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE:
3833                     msg = "TRUE";
3834                     ret = 0;
3835                     break;
3836                 default:
3837                     msg = "error: enum value out of range";
3838             }
3839             break;
3840         }
3841         case ANDROID_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS: {
3842             break;
3843         }
3844         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS: {
3845             switch (value) {
3846                 case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
3847                     msg = "OUTPUT";
3848                     ret = 0;
3849                     break;
3850                 case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT:
3851                     msg = "INPUT";
3852                     ret = 0;
3853                     break;
3854                 default:
3855                     msg = "error: enum value out of range";
3856             }
3857             break;
3858         }
3859         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS: {
3860             break;
3861         }
3862         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS: {
3863             break;
3864         }
3865         case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
3866             switch (value) {
3867                 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
3868                     msg = "OUTPUT";
3869                     ret = 0;
3870                     break;
3871                 case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
3872                     msg = "INPUT";
3873                     ret = 0;
3874                     break;
3875                 default:
3876                     msg = "error: enum value out of range";
3877             }
3878             break;
3879         }
3880         case ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
3881             break;
3882         }
3883         case ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
3884             break;
3885         }
3886         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
3887             switch (value) {
3888                 case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
3889                     msg = "OUTPUT";
3890                     ret = 0;
3891                     break;
3892                 case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
3893                     msg = "INPUT";
3894                     ret = 0;
3895                     break;
3896                 default:
3897                     msg = "error: enum value out of range";
3898             }
3899             break;
3900         }
3901         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
3902             break;
3903         }
3904         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
3905             break;
3906         }
3907 
3908         case ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: {
3909             break;
3910         }
3911         case ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: {
3912             switch (value) {
3913                 case ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE:
3914                     msg = "APPROXIMATE";
3915                     ret = 0;
3916                     break;
3917                 case ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED:
3918                     msg = "CALIBRATED";
3919                     ret = 0;
3920                     break;
3921                 default:
3922                     msg = "error: enum value out of range";
3923             }
3924             break;
3925         }
3926         case ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: {
3927             break;
3928         }
3929         case ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION: {
3930             break;
3931         }
3932 
3933         case ANDROID_DISTORTION_CORRECTION_MODE: {
3934             switch (value) {
3935                 case ANDROID_DISTORTION_CORRECTION_MODE_OFF:
3936                     msg = "OFF";
3937                     ret = 0;
3938                     break;
3939                 case ANDROID_DISTORTION_CORRECTION_MODE_FAST:
3940                     msg = "FAST";
3941                     ret = 0;
3942                     break;
3943                 case ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY:
3944                     msg = "HIGH_QUALITY";
3945                     ret = 0;
3946                     break;
3947                 default:
3948                     msg = "error: enum value out of range";
3949             }
3950             break;
3951         }
3952         case ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES: {
3953             break;
3954         }
3955 
3956         case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS: {
3957             switch (value) {
3958                 case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT:
3959                     msg = "OUTPUT";
3960                     ret = 0;
3961                     break;
3962                 case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT:
3963                     msg = "INPUT";
3964                     ret = 0;
3965                     break;
3966                 default:
3967                     msg = "error: enum value out of range";
3968             }
3969             break;
3970         }
3971         case ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS: {
3972             break;
3973         }
3974         case ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: {
3975             break;
3976         }
3977         case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
3978             switch (value) {
3979                 case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
3980                     msg = "OUTPUT";
3981                     ret = 0;
3982                     break;
3983                 case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
3984                     msg = "INPUT";
3985                     ret = 0;
3986                     break;
3987                 default:
3988                     msg = "error: enum value out of range";
3989             }
3990             break;
3991         }
3992         case ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
3993             break;
3994         }
3995         case ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
3996             break;
3997         }
3998         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS: {
3999             switch (value) {
4000                 case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_OUTPUT:
4001                     msg = "OUTPUT";
4002                     ret = 0;
4003                     break;
4004                 case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_INPUT:
4005                     msg = "INPUT";
4006                     ret = 0;
4007                     break;
4008                 default:
4009                     msg = "error: enum value out of range";
4010             }
4011             break;
4012         }
4013         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_MIN_FRAME_DURATIONS: {
4014             break;
4015         }
4016         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STALL_DURATIONS: {
4017             break;
4018         }
4019         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
4020             switch (value) {
4021                 case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
4022                     msg = "OUTPUT";
4023                     ret = 0;
4024                     break;
4025                 case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
4026                     msg = "INPUT";
4027                     ret = 0;
4028                     break;
4029                 default:
4030                     msg = "error: enum value out of range";
4031             }
4032             break;
4033         }
4034         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
4035             break;
4036         }
4037         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
4038             break;
4039         }
4040 
4041         case ANDROID_HEIC_INFO_SUPPORTED: {
4042             switch (value) {
4043                 case ANDROID_HEIC_INFO_SUPPORTED_FALSE:
4044                     msg = "FALSE";
4045                     ret = 0;
4046                     break;
4047                 case ANDROID_HEIC_INFO_SUPPORTED_TRUE:
4048                     msg = "TRUE";
4049                     ret = 0;
4050                     break;
4051                 default:
4052                     msg = "error: enum value out of range";
4053             }
4054             break;
4055         }
4056         case ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT: {
4057             break;
4058         }
4059 
4060         case ANDROID_AUTOMOTIVE_LOCATION: {
4061             switch (value) {
4062                 case ANDROID_AUTOMOTIVE_LOCATION_INTERIOR:
4063                     msg = "INTERIOR";
4064                     ret = 0;
4065                     break;
4066                 case ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER:
4067                     msg = "EXTERIOR_OTHER";
4068                     ret = 0;
4069                     break;
4070                 case ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT:
4071                     msg = "EXTERIOR_FRONT";
4072                     ret = 0;
4073                     break;
4074                 case ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_REAR:
4075                     msg = "EXTERIOR_REAR";
4076                     ret = 0;
4077                     break;
4078                 case ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT:
4079                     msg = "EXTERIOR_LEFT";
4080                     ret = 0;
4081                     break;
4082                 case ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT:
4083                     msg = "EXTERIOR_RIGHT";
4084                     ret = 0;
4085                     break;
4086                 case ANDROID_AUTOMOTIVE_LOCATION_EXTRA_OTHER:
4087                     msg = "EXTRA_OTHER";
4088                     ret = 0;
4089                     break;
4090                 case ANDROID_AUTOMOTIVE_LOCATION_EXTRA_FRONT:
4091                     msg = "EXTRA_FRONT";
4092                     ret = 0;
4093                     break;
4094                 case ANDROID_AUTOMOTIVE_LOCATION_EXTRA_REAR:
4095                     msg = "EXTRA_REAR";
4096                     ret = 0;
4097                     break;
4098                 case ANDROID_AUTOMOTIVE_LOCATION_EXTRA_LEFT:
4099                     msg = "EXTRA_LEFT";
4100                     ret = 0;
4101                     break;
4102                 case ANDROID_AUTOMOTIVE_LOCATION_EXTRA_RIGHT:
4103                     msg = "EXTRA_RIGHT";
4104                     ret = 0;
4105                     break;
4106                 default:
4107                     msg = "error: enum value out of range";
4108             }
4109             break;
4110         }
4111 
4112         case ANDROID_AUTOMOTIVE_LENS_FACING: {
4113             switch (value) {
4114                 case ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER:
4115                     msg = "EXTERIOR_OTHER";
4116                     ret = 0;
4117                     break;
4118                 case ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT:
4119                     msg = "EXTERIOR_FRONT";
4120                     ret = 0;
4121                     break;
4122                 case ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR:
4123                     msg = "EXTERIOR_REAR";
4124                     ret = 0;
4125                     break;
4126                 case ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT:
4127                     msg = "EXTERIOR_LEFT";
4128                     ret = 0;
4129                     break;
4130                 case ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT:
4131                     msg = "EXTERIOR_RIGHT";
4132                     ret = 0;
4133                     break;
4134                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER:
4135                     msg = "INTERIOR_OTHER";
4136                     ret = 0;
4137                     break;
4138                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT:
4139                     msg = "INTERIOR_SEAT_ROW_1_LEFT";
4140                     ret = 0;
4141                     break;
4142                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER:
4143                     msg = "INTERIOR_SEAT_ROW_1_CENTER";
4144                     ret = 0;
4145                     break;
4146                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT:
4147                     msg = "INTERIOR_SEAT_ROW_1_RIGHT";
4148                     ret = 0;
4149                     break;
4150                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT:
4151                     msg = "INTERIOR_SEAT_ROW_2_LEFT";
4152                     ret = 0;
4153                     break;
4154                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER:
4155                     msg = "INTERIOR_SEAT_ROW_2_CENTER";
4156                     ret = 0;
4157                     break;
4158                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT:
4159                     msg = "INTERIOR_SEAT_ROW_2_RIGHT";
4160                     ret = 0;
4161                     break;
4162                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT:
4163                     msg = "INTERIOR_SEAT_ROW_3_LEFT";
4164                     ret = 0;
4165                     break;
4166                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER:
4167                     msg = "INTERIOR_SEAT_ROW_3_CENTER";
4168                     ret = 0;
4169                     break;
4170                 case ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT:
4171                     msg = "INTERIOR_SEAT_ROW_3_RIGHT";
4172                     ret = 0;
4173                     break;
4174                 default:
4175                     msg = "error: enum value out of range";
4176             }
4177             break;
4178         }
4179 
4180         case ANDROID_EXTENSION_STRENGTH: {
4181             break;
4182         }
4183         case ANDROID_EXTENSION_CURRENT_TYPE: {
4184             break;
4185         }
4186         case ANDROID_EXTENSION_NIGHT_MODE_INDICATOR: {
4187             switch (value) {
4188                 case ANDROID_EXTENSION_NIGHT_MODE_INDICATOR_UNKNOWN:
4189                     msg = "UNKNOWN";
4190                     ret = 0;
4191                     break;
4192                 case ANDROID_EXTENSION_NIGHT_MODE_INDICATOR_OFF:
4193                     msg = "OFF";
4194                     ret = 0;
4195                     break;
4196                 case ANDROID_EXTENSION_NIGHT_MODE_INDICATOR_ON:
4197                     msg = "ON";
4198                     ret = 0;
4199                     break;
4200                 default:
4201                     msg = "error: enum value out of range";
4202             }
4203             break;
4204         }
4205 
4206         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS: {
4207             switch (value) {
4208                 case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT:
4209                     msg = "OUTPUT";
4210                     ret = 0;
4211                     break;
4212                 case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT:
4213                     msg = "INPUT";
4214                     ret = 0;
4215                     break;
4216                 default:
4217                     msg = "error: enum value out of range";
4218             }
4219             break;
4220         }
4221         case ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS: {
4222             break;
4223         }
4224         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS: {
4225             break;
4226         }
4227         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
4228             switch (value) {
4229                 case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
4230                     msg = "OUTPUT";
4231                     ret = 0;
4232                     break;
4233                 case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
4234                     msg = "INPUT";
4235                     ret = 0;
4236                     break;
4237                 default:
4238                     msg = "error: enum value out of range";
4239             }
4240             break;
4241         }
4242         case ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
4243             break;
4244         }
4245         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
4246             break;
4247         }
4248 
4249         case ANDROID_SHARED_SESSION_COLOR_SPACE: {
4250             switch (value) {
4251                 case ANDROID_SHARED_SESSION_COLOR_SPACE_UNSPECIFIED:
4252                     msg = "UNSPECIFIED";
4253                     ret = 0;
4254                     break;
4255                 case ANDROID_SHARED_SESSION_COLOR_SPACE_SRGB:
4256                     msg = "SRGB";
4257                     ret = 0;
4258                     break;
4259                 case ANDROID_SHARED_SESSION_COLOR_SPACE_DISPLAY_P3:
4260                     msg = "DISPLAY_P3";
4261                     ret = 0;
4262                     break;
4263                 case ANDROID_SHARED_SESSION_COLOR_SPACE_BT2020_HLG:
4264                     msg = "BT2020_HLG";
4265                     ret = 0;
4266                     break;
4267                 default:
4268                     msg = "error: enum value out of range";
4269             }
4270             break;
4271         }
4272         case ANDROID_SHARED_SESSION_OUTPUT_CONFIGURATIONS: {
4273             break;
4274         }
4275 
4276         case ANDROID_DESKTOP_EFFECTS_CAPABILITIES: {
4277             switch (value) {
4278                 case ANDROID_DESKTOP_EFFECTS_CAPABILITIES_BACKGROUND_BLUR:
4279                     msg = "BACKGROUND_BLUR";
4280                     ret = 0;
4281                     break;
4282                 case ANDROID_DESKTOP_EFFECTS_CAPABILITIES_FACE_RETOUCH:
4283                     msg = "FACE_RETOUCH";
4284                     ret = 0;
4285                     break;
4286                 case ANDROID_DESKTOP_EFFECTS_CAPABILITIES_PORTRAIT_RELIGHT:
4287                     msg = "PORTRAIT_RELIGHT";
4288                     ret = 0;
4289                     break;
4290                 default:
4291                     msg = "error: enum value out of range";
4292             }
4293             break;
4294         }
4295         case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODES: {
4296             break;
4297         }
4298         case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE: {
4299             switch (value) {
4300                 case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE_OFF:
4301                     msg = "OFF";
4302                     ret = 0;
4303                     break;
4304                 case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE_LIGHT:
4305                     msg = "LIGHT";
4306                     ret = 0;
4307                     break;
4308                 case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE_FULL:
4309                     msg = "FULL";
4310                     ret = 0;
4311                     break;
4312                 default:
4313                     msg = "error: enum value out of range";
4314             }
4315             break;
4316         }
4317         case ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE: {
4318             switch (value) {
4319                 case ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE_OFF:
4320                     msg = "OFF";
4321                     ret = 0;
4322                     break;
4323                 case ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE_ON:
4324                     msg = "ON";
4325                     ret = 0;
4326                     break;
4327                 default:
4328                     msg = "error: enum value out of range";
4329             }
4330             break;
4331         }
4332         case ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_STRENGTH: {
4333             break;
4334         }
4335         case ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE: {
4336             switch (value) {
4337                 case ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE_OFF:
4338                     msg = "OFF";
4339                     ret = 0;
4340                     break;
4341                 case ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE_ON:
4342                     msg = "ON";
4343                     ret = 0;
4344                     break;
4345                 default:
4346                     msg = "error: enum value out of range";
4347             }
4348             break;
4349         }
4350 
4351     }
4352 
4353     strncpy(dst, msg, size - 1);
4354     dst[size - 1] = '\0';
4355 
4356     return ret;
4357 }
4358 
camera_metadata_enum_value(uint32_t tag,const char * name,size_t size,uint32_t * value)4359 int camera_metadata_enum_value(uint32_t tag,
4360                                  const char *name,
4361                                  size_t size,
4362                                  uint32_t *value) {
4363     if ((name == NULL) || (value == NULL)) {
4364         return -1;
4365     }
4366 
4367     const char *enumName = NULL;
4368     int ret = -1;
4369 
4370     switch(tag) {
4371         case ANDROID_COLOR_CORRECTION_MODE: {
4372                 enumName = "TRANSFORM_MATRIX";
4373                 if (strncmp(name, enumName, size) == 0) {
4374                     *value = ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX;
4375                     ret = 0;
4376                     break;
4377                 }
4378                 enumName = "FAST";
4379                 if (strncmp(name, enumName, size) == 0) {
4380                     *value = ANDROID_COLOR_CORRECTION_MODE_FAST;
4381                     ret = 0;
4382                     break;
4383                 }
4384                 enumName = "HIGH_QUALITY";
4385                 if (strncmp(name, enumName, size) == 0) {
4386                     *value = ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY;
4387                     ret = 0;
4388                     break;
4389                 }
4390                 enumName = "CCT";
4391                 if (strncmp(name, enumName, size) == 0) {
4392                     *value = ANDROID_COLOR_CORRECTION_MODE_CCT;
4393                     ret = 0;
4394                     break;
4395                 }
4396             break;
4397         }
4398         case ANDROID_COLOR_CORRECTION_TRANSFORM: {
4399             break;
4400         }
4401         case ANDROID_COLOR_CORRECTION_GAINS: {
4402             break;
4403         }
4404         case ANDROID_COLOR_CORRECTION_ABERRATION_MODE: {
4405                 enumName = "OFF";
4406                 if (strncmp(name, enumName, size) == 0) {
4407                     *value = ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF;
4408                     ret = 0;
4409                     break;
4410                 }
4411                 enumName = "FAST";
4412                 if (strncmp(name, enumName, size) == 0) {
4413                     *value = ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST;
4414                     ret = 0;
4415                     break;
4416                 }
4417                 enumName = "HIGH_QUALITY";
4418                 if (strncmp(name, enumName, size) == 0) {
4419                     *value = ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY;
4420                     ret = 0;
4421                     break;
4422                 }
4423             break;
4424         }
4425         case ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: {
4426             break;
4427         }
4428         case ANDROID_COLOR_CORRECTION_COLOR_TEMPERATURE: {
4429             break;
4430         }
4431         case ANDROID_COLOR_CORRECTION_COLOR_TINT: {
4432             break;
4433         }
4434         case ANDROID_COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE: {
4435             break;
4436         }
4437         case ANDROID_COLOR_CORRECTION_AVAILABLE_MODES: {
4438             break;
4439         }
4440 
4441         case ANDROID_CONTROL_AE_ANTIBANDING_MODE: {
4442                 enumName = "OFF";
4443                 if (strncmp(name, enumName, size) == 0) {
4444                     *value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF;
4445                     ret = 0;
4446                     break;
4447                 }
4448                 enumName = "50HZ";
4449                 if (strncmp(name, enumName, size) == 0) {
4450                     *value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ;
4451                     ret = 0;
4452                     break;
4453                 }
4454                 enumName = "60HZ";
4455                 if (strncmp(name, enumName, size) == 0) {
4456                     *value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ;
4457                     ret = 0;
4458                     break;
4459                 }
4460                 enumName = "AUTO";
4461                 if (strncmp(name, enumName, size) == 0) {
4462                     *value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO;
4463                     ret = 0;
4464                     break;
4465                 }
4466             break;
4467         }
4468         case ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION: {
4469             break;
4470         }
4471         case ANDROID_CONTROL_AE_LOCK: {
4472                 enumName = "OFF";
4473                 if (strncmp(name, enumName, size) == 0) {
4474                     *value = ANDROID_CONTROL_AE_LOCK_OFF;
4475                     ret = 0;
4476                     break;
4477                 }
4478                 enumName = "ON";
4479                 if (strncmp(name, enumName, size) == 0) {
4480                     *value = ANDROID_CONTROL_AE_LOCK_ON;
4481                     ret = 0;
4482                     break;
4483                 }
4484             break;
4485         }
4486         case ANDROID_CONTROL_AE_MODE: {
4487                 enumName = "OFF";
4488                 if (strncmp(name, enumName, size) == 0) {
4489                     *value = ANDROID_CONTROL_AE_MODE_OFF;
4490                     ret = 0;
4491                     break;
4492                 }
4493                 enumName = "ON";
4494                 if (strncmp(name, enumName, size) == 0) {
4495                     *value = ANDROID_CONTROL_AE_MODE_ON;
4496                     ret = 0;
4497                     break;
4498                 }
4499                 enumName = "ON_AUTO_FLASH";
4500                 if (strncmp(name, enumName, size) == 0) {
4501                     *value = ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH;
4502                     ret = 0;
4503                     break;
4504                 }
4505                 enumName = "ON_ALWAYS_FLASH";
4506                 if (strncmp(name, enumName, size) == 0) {
4507                     *value = ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH;
4508                     ret = 0;
4509                     break;
4510                 }
4511                 enumName = "ON_AUTO_FLASH_REDEYE";
4512                 if (strncmp(name, enumName, size) == 0) {
4513                     *value = ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE;
4514                     ret = 0;
4515                     break;
4516                 }
4517                 enumName = "ON_EXTERNAL_FLASH";
4518                 if (strncmp(name, enumName, size) == 0) {
4519                     *value = ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH;
4520                     ret = 0;
4521                     break;
4522                 }
4523                 enumName = "ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY";
4524                 if (strncmp(name, enumName, size) == 0) {
4525                     *value = ANDROID_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY;
4526                     ret = 0;
4527                     break;
4528                 }
4529             break;
4530         }
4531         case ANDROID_CONTROL_AE_REGIONS: {
4532             break;
4533         }
4534         case ANDROID_CONTROL_AE_TARGET_FPS_RANGE: {
4535             break;
4536         }
4537         case ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER: {
4538                 enumName = "IDLE";
4539                 if (strncmp(name, enumName, size) == 0) {
4540                     *value = ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE;
4541                     ret = 0;
4542                     break;
4543                 }
4544                 enumName = "START";
4545                 if (strncmp(name, enumName, size) == 0) {
4546                     *value = ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START;
4547                     ret = 0;
4548                     break;
4549                 }
4550                 enumName = "CANCEL";
4551                 if (strncmp(name, enumName, size) == 0) {
4552                     *value = ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL;
4553                     ret = 0;
4554                     break;
4555                 }
4556             break;
4557         }
4558         case ANDROID_CONTROL_AF_MODE: {
4559                 enumName = "OFF";
4560                 if (strncmp(name, enumName, size) == 0) {
4561                     *value = ANDROID_CONTROL_AF_MODE_OFF;
4562                     ret = 0;
4563                     break;
4564                 }
4565                 enumName = "AUTO";
4566                 if (strncmp(name, enumName, size) == 0) {
4567                     *value = ANDROID_CONTROL_AF_MODE_AUTO;
4568                     ret = 0;
4569                     break;
4570                 }
4571                 enumName = "MACRO";
4572                 if (strncmp(name, enumName, size) == 0) {
4573                     *value = ANDROID_CONTROL_AF_MODE_MACRO;
4574                     ret = 0;
4575                     break;
4576                 }
4577                 enumName = "CONTINUOUS_VIDEO";
4578                 if (strncmp(name, enumName, size) == 0) {
4579                     *value = ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO;
4580                     ret = 0;
4581                     break;
4582                 }
4583                 enumName = "CONTINUOUS_PICTURE";
4584                 if (strncmp(name, enumName, size) == 0) {
4585                     *value = ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE;
4586                     ret = 0;
4587                     break;
4588                 }
4589                 enumName = "EDOF";
4590                 if (strncmp(name, enumName, size) == 0) {
4591                     *value = ANDROID_CONTROL_AF_MODE_EDOF;
4592                     ret = 0;
4593                     break;
4594                 }
4595             break;
4596         }
4597         case ANDROID_CONTROL_AF_REGIONS: {
4598             break;
4599         }
4600         case ANDROID_CONTROL_AF_TRIGGER: {
4601                 enumName = "IDLE";
4602                 if (strncmp(name, enumName, size) == 0) {
4603                     *value = ANDROID_CONTROL_AF_TRIGGER_IDLE;
4604                     ret = 0;
4605                     break;
4606                 }
4607                 enumName = "START";
4608                 if (strncmp(name, enumName, size) == 0) {
4609                     *value = ANDROID_CONTROL_AF_TRIGGER_START;
4610                     ret = 0;
4611                     break;
4612                 }
4613                 enumName = "CANCEL";
4614                 if (strncmp(name, enumName, size) == 0) {
4615                     *value = ANDROID_CONTROL_AF_TRIGGER_CANCEL;
4616                     ret = 0;
4617                     break;
4618                 }
4619             break;
4620         }
4621         case ANDROID_CONTROL_AWB_LOCK: {
4622                 enumName = "OFF";
4623                 if (strncmp(name, enumName, size) == 0) {
4624                     *value = ANDROID_CONTROL_AWB_LOCK_OFF;
4625                     ret = 0;
4626                     break;
4627                 }
4628                 enumName = "ON";
4629                 if (strncmp(name, enumName, size) == 0) {
4630                     *value = ANDROID_CONTROL_AWB_LOCK_ON;
4631                     ret = 0;
4632                     break;
4633                 }
4634             break;
4635         }
4636         case ANDROID_CONTROL_AWB_MODE: {
4637                 enumName = "OFF";
4638                 if (strncmp(name, enumName, size) == 0) {
4639                     *value = ANDROID_CONTROL_AWB_MODE_OFF;
4640                     ret = 0;
4641                     break;
4642                 }
4643                 enumName = "AUTO";
4644                 if (strncmp(name, enumName, size) == 0) {
4645                     *value = ANDROID_CONTROL_AWB_MODE_AUTO;
4646                     ret = 0;
4647                     break;
4648                 }
4649                 enumName = "INCANDESCENT";
4650                 if (strncmp(name, enumName, size) == 0) {
4651                     *value = ANDROID_CONTROL_AWB_MODE_INCANDESCENT;
4652                     ret = 0;
4653                     break;
4654                 }
4655                 enumName = "FLUORESCENT";
4656                 if (strncmp(name, enumName, size) == 0) {
4657                     *value = ANDROID_CONTROL_AWB_MODE_FLUORESCENT;
4658                     ret = 0;
4659                     break;
4660                 }
4661                 enumName = "WARM_FLUORESCENT";
4662                 if (strncmp(name, enumName, size) == 0) {
4663                     *value = ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT;
4664                     ret = 0;
4665                     break;
4666                 }
4667                 enumName = "DAYLIGHT";
4668                 if (strncmp(name, enumName, size) == 0) {
4669                     *value = ANDROID_CONTROL_AWB_MODE_DAYLIGHT;
4670                     ret = 0;
4671                     break;
4672                 }
4673                 enumName = "CLOUDY_DAYLIGHT";
4674                 if (strncmp(name, enumName, size) == 0) {
4675                     *value = ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT;
4676                     ret = 0;
4677                     break;
4678                 }
4679                 enumName = "TWILIGHT";
4680                 if (strncmp(name, enumName, size) == 0) {
4681                     *value = ANDROID_CONTROL_AWB_MODE_TWILIGHT;
4682                     ret = 0;
4683                     break;
4684                 }
4685                 enumName = "SHADE";
4686                 if (strncmp(name, enumName, size) == 0) {
4687                     *value = ANDROID_CONTROL_AWB_MODE_SHADE;
4688                     ret = 0;
4689                     break;
4690                 }
4691             break;
4692         }
4693         case ANDROID_CONTROL_AWB_REGIONS: {
4694             break;
4695         }
4696         case ANDROID_CONTROL_CAPTURE_INTENT: {
4697                 enumName = "CUSTOM";
4698                 if (strncmp(name, enumName, size) == 0) {
4699                     *value = ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM;
4700                     ret = 0;
4701                     break;
4702                 }
4703                 enumName = "PREVIEW";
4704                 if (strncmp(name, enumName, size) == 0) {
4705                     *value = ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW;
4706                     ret = 0;
4707                     break;
4708                 }
4709                 enumName = "STILL_CAPTURE";
4710                 if (strncmp(name, enumName, size) == 0) {
4711                     *value = ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE;
4712                     ret = 0;
4713                     break;
4714                 }
4715                 enumName = "VIDEO_RECORD";
4716                 if (strncmp(name, enumName, size) == 0) {
4717                     *value = ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD;
4718                     ret = 0;
4719                     break;
4720                 }
4721                 enumName = "VIDEO_SNAPSHOT";
4722                 if (strncmp(name, enumName, size) == 0) {
4723                     *value = ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT;
4724                     ret = 0;
4725                     break;
4726                 }
4727                 enumName = "ZERO_SHUTTER_LAG";
4728                 if (strncmp(name, enumName, size) == 0) {
4729                     *value = ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG;
4730                     ret = 0;
4731                     break;
4732                 }
4733                 enumName = "MANUAL";
4734                 if (strncmp(name, enumName, size) == 0) {
4735                     *value = ANDROID_CONTROL_CAPTURE_INTENT_MANUAL;
4736                     ret = 0;
4737                     break;
4738                 }
4739                 enumName = "MOTION_TRACKING";
4740                 if (strncmp(name, enumName, size) == 0) {
4741                     *value = ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING;
4742                     ret = 0;
4743                     break;
4744                 }
4745             break;
4746         }
4747         case ANDROID_CONTROL_EFFECT_MODE: {
4748                 enumName = "OFF";
4749                 if (strncmp(name, enumName, size) == 0) {
4750                     *value = ANDROID_CONTROL_EFFECT_MODE_OFF;
4751                     ret = 0;
4752                     break;
4753                 }
4754                 enumName = "MONO";
4755                 if (strncmp(name, enumName, size) == 0) {
4756                     *value = ANDROID_CONTROL_EFFECT_MODE_MONO;
4757                     ret = 0;
4758                     break;
4759                 }
4760                 enumName = "NEGATIVE";
4761                 if (strncmp(name, enumName, size) == 0) {
4762                     *value = ANDROID_CONTROL_EFFECT_MODE_NEGATIVE;
4763                     ret = 0;
4764                     break;
4765                 }
4766                 enumName = "SOLARIZE";
4767                 if (strncmp(name, enumName, size) == 0) {
4768                     *value = ANDROID_CONTROL_EFFECT_MODE_SOLARIZE;
4769                     ret = 0;
4770                     break;
4771                 }
4772                 enumName = "SEPIA";
4773                 if (strncmp(name, enumName, size) == 0) {
4774                     *value = ANDROID_CONTROL_EFFECT_MODE_SEPIA;
4775                     ret = 0;
4776                     break;
4777                 }
4778                 enumName = "POSTERIZE";
4779                 if (strncmp(name, enumName, size) == 0) {
4780                     *value = ANDROID_CONTROL_EFFECT_MODE_POSTERIZE;
4781                     ret = 0;
4782                     break;
4783                 }
4784                 enumName = "WHITEBOARD";
4785                 if (strncmp(name, enumName, size) == 0) {
4786                     *value = ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD;
4787                     ret = 0;
4788                     break;
4789                 }
4790                 enumName = "BLACKBOARD";
4791                 if (strncmp(name, enumName, size) == 0) {
4792                     *value = ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD;
4793                     ret = 0;
4794                     break;
4795                 }
4796                 enumName = "AQUA";
4797                 if (strncmp(name, enumName, size) == 0) {
4798                     *value = ANDROID_CONTROL_EFFECT_MODE_AQUA;
4799                     ret = 0;
4800                     break;
4801                 }
4802             break;
4803         }
4804         case ANDROID_CONTROL_MODE: {
4805                 enumName = "OFF";
4806                 if (strncmp(name, enumName, size) == 0) {
4807                     *value = ANDROID_CONTROL_MODE_OFF;
4808                     ret = 0;
4809                     break;
4810                 }
4811                 enumName = "AUTO";
4812                 if (strncmp(name, enumName, size) == 0) {
4813                     *value = ANDROID_CONTROL_MODE_AUTO;
4814                     ret = 0;
4815                     break;
4816                 }
4817                 enumName = "USE_SCENE_MODE";
4818                 if (strncmp(name, enumName, size) == 0) {
4819                     *value = ANDROID_CONTROL_MODE_USE_SCENE_MODE;
4820                     ret = 0;
4821                     break;
4822                 }
4823                 enumName = "OFF_KEEP_STATE";
4824                 if (strncmp(name, enumName, size) == 0) {
4825                     *value = ANDROID_CONTROL_MODE_OFF_KEEP_STATE;
4826                     ret = 0;
4827                     break;
4828                 }
4829                 enumName = "USE_EXTENDED_SCENE_MODE";
4830                 if (strncmp(name, enumName, size) == 0) {
4831                     *value = ANDROID_CONTROL_MODE_USE_EXTENDED_SCENE_MODE;
4832                     ret = 0;
4833                     break;
4834                 }
4835             break;
4836         }
4837         case ANDROID_CONTROL_SCENE_MODE: {
4838                 enumName = "DISABLED";
4839                 if (strncmp(name, enumName, size) == 0) {
4840                     *value = ANDROID_CONTROL_SCENE_MODE_DISABLED;
4841                     ret = 0;
4842                     break;
4843                 }
4844                 enumName = "FACE_PRIORITY";
4845                 if (strncmp(name, enumName, size) == 0) {
4846                     *value = ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY;
4847                     ret = 0;
4848                     break;
4849                 }
4850                 enumName = "ACTION";
4851                 if (strncmp(name, enumName, size) == 0) {
4852                     *value = ANDROID_CONTROL_SCENE_MODE_ACTION;
4853                     ret = 0;
4854                     break;
4855                 }
4856                 enumName = "PORTRAIT";
4857                 if (strncmp(name, enumName, size) == 0) {
4858                     *value = ANDROID_CONTROL_SCENE_MODE_PORTRAIT;
4859                     ret = 0;
4860                     break;
4861                 }
4862                 enumName = "LANDSCAPE";
4863                 if (strncmp(name, enumName, size) == 0) {
4864                     *value = ANDROID_CONTROL_SCENE_MODE_LANDSCAPE;
4865                     ret = 0;
4866                     break;
4867                 }
4868                 enumName = "NIGHT";
4869                 if (strncmp(name, enumName, size) == 0) {
4870                     *value = ANDROID_CONTROL_SCENE_MODE_NIGHT;
4871                     ret = 0;
4872                     break;
4873                 }
4874                 enumName = "NIGHT_PORTRAIT";
4875                 if (strncmp(name, enumName, size) == 0) {
4876                     *value = ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT;
4877                     ret = 0;
4878                     break;
4879                 }
4880                 enumName = "THEATRE";
4881                 if (strncmp(name, enumName, size) == 0) {
4882                     *value = ANDROID_CONTROL_SCENE_MODE_THEATRE;
4883                     ret = 0;
4884                     break;
4885                 }
4886                 enumName = "BEACH";
4887                 if (strncmp(name, enumName, size) == 0) {
4888                     *value = ANDROID_CONTROL_SCENE_MODE_BEACH;
4889                     ret = 0;
4890                     break;
4891                 }
4892                 enumName = "SNOW";
4893                 if (strncmp(name, enumName, size) == 0) {
4894                     *value = ANDROID_CONTROL_SCENE_MODE_SNOW;
4895                     ret = 0;
4896                     break;
4897                 }
4898                 enumName = "SUNSET";
4899                 if (strncmp(name, enumName, size) == 0) {
4900                     *value = ANDROID_CONTROL_SCENE_MODE_SUNSET;
4901                     ret = 0;
4902                     break;
4903                 }
4904                 enumName = "STEADYPHOTO";
4905                 if (strncmp(name, enumName, size) == 0) {
4906                     *value = ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO;
4907                     ret = 0;
4908                     break;
4909                 }
4910                 enumName = "FIREWORKS";
4911                 if (strncmp(name, enumName, size) == 0) {
4912                     *value = ANDROID_CONTROL_SCENE_MODE_FIREWORKS;
4913                     ret = 0;
4914                     break;
4915                 }
4916                 enumName = "SPORTS";
4917                 if (strncmp(name, enumName, size) == 0) {
4918                     *value = ANDROID_CONTROL_SCENE_MODE_SPORTS;
4919                     ret = 0;
4920                     break;
4921                 }
4922                 enumName = "PARTY";
4923                 if (strncmp(name, enumName, size) == 0) {
4924                     *value = ANDROID_CONTROL_SCENE_MODE_PARTY;
4925                     ret = 0;
4926                     break;
4927                 }
4928                 enumName = "CANDLELIGHT";
4929                 if (strncmp(name, enumName, size) == 0) {
4930                     *value = ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT;
4931                     ret = 0;
4932                     break;
4933                 }
4934                 enumName = "BARCODE";
4935                 if (strncmp(name, enumName, size) == 0) {
4936                     *value = ANDROID_CONTROL_SCENE_MODE_BARCODE;
4937                     ret = 0;
4938                     break;
4939                 }
4940                 enumName = "HIGH_SPEED_VIDEO";
4941                 if (strncmp(name, enumName, size) == 0) {
4942                     *value = ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO;
4943                     ret = 0;
4944                     break;
4945                 }
4946                 enumName = "HDR";
4947                 if (strncmp(name, enumName, size) == 0) {
4948                     *value = ANDROID_CONTROL_SCENE_MODE_HDR;
4949                     ret = 0;
4950                     break;
4951                 }
4952                 enumName = "FACE_PRIORITY_LOW_LIGHT";
4953                 if (strncmp(name, enumName, size) == 0) {
4954                     *value = ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT;
4955                     ret = 0;
4956                     break;
4957                 }
4958                 enumName = "DEVICE_CUSTOM_START";
4959                 if (strncmp(name, enumName, size) == 0) {
4960                     *value = ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START;
4961                     ret = 0;
4962                     break;
4963                 }
4964                 enumName = "DEVICE_CUSTOM_END";
4965                 if (strncmp(name, enumName, size) == 0) {
4966                     *value = ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END;
4967                     ret = 0;
4968                     break;
4969                 }
4970             break;
4971         }
4972         case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE: {
4973                 enumName = "OFF";
4974                 if (strncmp(name, enumName, size) == 0) {
4975                     *value = ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF;
4976                     ret = 0;
4977                     break;
4978                 }
4979                 enumName = "ON";
4980                 if (strncmp(name, enumName, size) == 0) {
4981                     *value = ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON;
4982                     ret = 0;
4983                     break;
4984                 }
4985                 enumName = "PREVIEW_STABILIZATION";
4986                 if (strncmp(name, enumName, size) == 0) {
4987                     *value = ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION;
4988                     ret = 0;
4989                     break;
4990                 }
4991             break;
4992         }
4993         case ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: {
4994             break;
4995         }
4996         case ANDROID_CONTROL_AE_AVAILABLE_MODES: {
4997             break;
4998         }
4999         case ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: {
5000             break;
5001         }
5002         case ANDROID_CONTROL_AE_COMPENSATION_RANGE: {
5003             break;
5004         }
5005         case ANDROID_CONTROL_AE_COMPENSATION_STEP: {
5006             break;
5007         }
5008         case ANDROID_CONTROL_AF_AVAILABLE_MODES: {
5009             break;
5010         }
5011         case ANDROID_CONTROL_AVAILABLE_EFFECTS: {
5012             break;
5013         }
5014         case ANDROID_CONTROL_AVAILABLE_SCENE_MODES: {
5015             break;
5016         }
5017         case ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: {
5018             break;
5019         }
5020         case ANDROID_CONTROL_AWB_AVAILABLE_MODES: {
5021             break;
5022         }
5023         case ANDROID_CONTROL_MAX_REGIONS: {
5024             break;
5025         }
5026         case ANDROID_CONTROL_SCENE_MODE_OVERRIDES: {
5027             break;
5028         }
5029         case ANDROID_CONTROL_AE_PRECAPTURE_ID: {
5030             break;
5031         }
5032         case ANDROID_CONTROL_AE_STATE: {
5033                 enumName = "INACTIVE";
5034                 if (strncmp(name, enumName, size) == 0) {
5035                     *value = ANDROID_CONTROL_AE_STATE_INACTIVE;
5036                     ret = 0;
5037                     break;
5038                 }
5039                 enumName = "SEARCHING";
5040                 if (strncmp(name, enumName, size) == 0) {
5041                     *value = ANDROID_CONTROL_AE_STATE_SEARCHING;
5042                     ret = 0;
5043                     break;
5044                 }
5045                 enumName = "CONVERGED";
5046                 if (strncmp(name, enumName, size) == 0) {
5047                     *value = ANDROID_CONTROL_AE_STATE_CONVERGED;
5048                     ret = 0;
5049                     break;
5050                 }
5051                 enumName = "LOCKED";
5052                 if (strncmp(name, enumName, size) == 0) {
5053                     *value = ANDROID_CONTROL_AE_STATE_LOCKED;
5054                     ret = 0;
5055                     break;
5056                 }
5057                 enumName = "FLASH_REQUIRED";
5058                 if (strncmp(name, enumName, size) == 0) {
5059                     *value = ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED;
5060                     ret = 0;
5061                     break;
5062                 }
5063                 enumName = "PRECAPTURE";
5064                 if (strncmp(name, enumName, size) == 0) {
5065                     *value = ANDROID_CONTROL_AE_STATE_PRECAPTURE;
5066                     ret = 0;
5067                     break;
5068                 }
5069             break;
5070         }
5071         case ANDROID_CONTROL_AF_STATE: {
5072                 enumName = "INACTIVE";
5073                 if (strncmp(name, enumName, size) == 0) {
5074                     *value = ANDROID_CONTROL_AF_STATE_INACTIVE;
5075                     ret = 0;
5076                     break;
5077                 }
5078                 enumName = "PASSIVE_SCAN";
5079                 if (strncmp(name, enumName, size) == 0) {
5080                     *value = ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN;
5081                     ret = 0;
5082                     break;
5083                 }
5084                 enumName = "PASSIVE_FOCUSED";
5085                 if (strncmp(name, enumName, size) == 0) {
5086                     *value = ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED;
5087                     ret = 0;
5088                     break;
5089                 }
5090                 enumName = "ACTIVE_SCAN";
5091                 if (strncmp(name, enumName, size) == 0) {
5092                     *value = ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN;
5093                     ret = 0;
5094                     break;
5095                 }
5096                 enumName = "FOCUSED_LOCKED";
5097                 if (strncmp(name, enumName, size) == 0) {
5098                     *value = ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED;
5099                     ret = 0;
5100                     break;
5101                 }
5102                 enumName = "NOT_FOCUSED_LOCKED";
5103                 if (strncmp(name, enumName, size) == 0) {
5104                     *value = ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED;
5105                     ret = 0;
5106                     break;
5107                 }
5108                 enumName = "PASSIVE_UNFOCUSED";
5109                 if (strncmp(name, enumName, size) == 0) {
5110                     *value = ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED;
5111                     ret = 0;
5112                     break;
5113                 }
5114             break;
5115         }
5116         case ANDROID_CONTROL_AF_TRIGGER_ID: {
5117             break;
5118         }
5119         case ANDROID_CONTROL_AWB_STATE: {
5120                 enumName = "INACTIVE";
5121                 if (strncmp(name, enumName, size) == 0) {
5122                     *value = ANDROID_CONTROL_AWB_STATE_INACTIVE;
5123                     ret = 0;
5124                     break;
5125                 }
5126                 enumName = "SEARCHING";
5127                 if (strncmp(name, enumName, size) == 0) {
5128                     *value = ANDROID_CONTROL_AWB_STATE_SEARCHING;
5129                     ret = 0;
5130                     break;
5131                 }
5132                 enumName = "CONVERGED";
5133                 if (strncmp(name, enumName, size) == 0) {
5134                     *value = ANDROID_CONTROL_AWB_STATE_CONVERGED;
5135                     ret = 0;
5136                     break;
5137                 }
5138                 enumName = "LOCKED";
5139                 if (strncmp(name, enumName, size) == 0) {
5140                     *value = ANDROID_CONTROL_AWB_STATE_LOCKED;
5141                     ret = 0;
5142                     break;
5143                 }
5144             break;
5145         }
5146         case ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS: {
5147             break;
5148         }
5149         case ANDROID_CONTROL_AE_LOCK_AVAILABLE: {
5150                 enumName = "FALSE";
5151                 if (strncmp(name, enumName, size) == 0) {
5152                     *value = ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE;
5153                     ret = 0;
5154                     break;
5155                 }
5156                 enumName = "TRUE";
5157                 if (strncmp(name, enumName, size) == 0) {
5158                     *value = ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE;
5159                     ret = 0;
5160                     break;
5161                 }
5162             break;
5163         }
5164         case ANDROID_CONTROL_AWB_LOCK_AVAILABLE: {
5165                 enumName = "FALSE";
5166                 if (strncmp(name, enumName, size) == 0) {
5167                     *value = ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE;
5168                     ret = 0;
5169                     break;
5170                 }
5171                 enumName = "TRUE";
5172                 if (strncmp(name, enumName, size) == 0) {
5173                     *value = ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE;
5174                     ret = 0;
5175                     break;
5176                 }
5177             break;
5178         }
5179         case ANDROID_CONTROL_AVAILABLE_MODES: {
5180             break;
5181         }
5182         case ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: {
5183             break;
5184         }
5185         case ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST: {
5186             break;
5187         }
5188         case ANDROID_CONTROL_ENABLE_ZSL: {
5189                 enumName = "FALSE";
5190                 if (strncmp(name, enumName, size) == 0) {
5191                     *value = ANDROID_CONTROL_ENABLE_ZSL_FALSE;
5192                     ret = 0;
5193                     break;
5194                 }
5195                 enumName = "TRUE";
5196                 if (strncmp(name, enumName, size) == 0) {
5197                     *value = ANDROID_CONTROL_ENABLE_ZSL_TRUE;
5198                     ret = 0;
5199                     break;
5200                 }
5201             break;
5202         }
5203         case ANDROID_CONTROL_AF_SCENE_CHANGE: {
5204                 enumName = "NOT_DETECTED";
5205                 if (strncmp(name, enumName, size) == 0) {
5206                     *value = ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED;
5207                     ret = 0;
5208                     break;
5209                 }
5210                 enumName = "DETECTED";
5211                 if (strncmp(name, enumName, size) == 0) {
5212                     *value = ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED;
5213                     ret = 0;
5214                     break;
5215                 }
5216             break;
5217         }
5218         case ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES: {
5219             break;
5220         }
5221         case ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES: {
5222             break;
5223         }
5224         case ANDROID_CONTROL_EXTENDED_SCENE_MODE: {
5225                 enumName = "DISABLED";
5226                 if (strncmp(name, enumName, size) == 0) {
5227                     *value = ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED;
5228                     ret = 0;
5229                     break;
5230                 }
5231                 enumName = "BOKEH_STILL_CAPTURE";
5232                 if (strncmp(name, enumName, size) == 0) {
5233                     *value = ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE;
5234                     ret = 0;
5235                     break;
5236                 }
5237                 enumName = "BOKEH_CONTINUOUS";
5238                 if (strncmp(name, enumName, size) == 0) {
5239                     *value = ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS;
5240                     ret = 0;
5241                     break;
5242                 }
5243                 enumName = "VENDOR_START";
5244                 if (strncmp(name, enumName, size) == 0) {
5245                     *value = ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START;
5246                     ret = 0;
5247                     break;
5248                 }
5249             break;
5250         }
5251         case ANDROID_CONTROL_ZOOM_RATIO_RANGE: {
5252             break;
5253         }
5254         case ANDROID_CONTROL_ZOOM_RATIO: {
5255             break;
5256         }
5257         case ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
5258             break;
5259         }
5260         case ANDROID_CONTROL_AF_REGIONS_SET: {
5261                 enumName = "FALSE";
5262                 if (strncmp(name, enumName, size) == 0) {
5263                     *value = ANDROID_CONTROL_AF_REGIONS_SET_FALSE;
5264                     ret = 0;
5265                     break;
5266                 }
5267                 enumName = "TRUE";
5268                 if (strncmp(name, enumName, size) == 0) {
5269                     *value = ANDROID_CONTROL_AF_REGIONS_SET_TRUE;
5270                     ret = 0;
5271                     break;
5272                 }
5273             break;
5274         }
5275         case ANDROID_CONTROL_AE_REGIONS_SET: {
5276                 enumName = "FALSE";
5277                 if (strncmp(name, enumName, size) == 0) {
5278                     *value = ANDROID_CONTROL_AE_REGIONS_SET_FALSE;
5279                     ret = 0;
5280                     break;
5281                 }
5282                 enumName = "TRUE";
5283                 if (strncmp(name, enumName, size) == 0) {
5284                     *value = ANDROID_CONTROL_AE_REGIONS_SET_TRUE;
5285                     ret = 0;
5286                     break;
5287                 }
5288             break;
5289         }
5290         case ANDROID_CONTROL_AWB_REGIONS_SET: {
5291                 enumName = "FALSE";
5292                 if (strncmp(name, enumName, size) == 0) {
5293                     *value = ANDROID_CONTROL_AWB_REGIONS_SET_FALSE;
5294                     ret = 0;
5295                     break;
5296                 }
5297                 enumName = "TRUE";
5298                 if (strncmp(name, enumName, size) == 0) {
5299                     *value = ANDROID_CONTROL_AWB_REGIONS_SET_TRUE;
5300                     ret = 0;
5301                     break;
5302                 }
5303             break;
5304         }
5305         case ANDROID_CONTROL_SETTINGS_OVERRIDE: {
5306                 enumName = "OFF";
5307                 if (strncmp(name, enumName, size) == 0) {
5308                     *value = ANDROID_CONTROL_SETTINGS_OVERRIDE_OFF;
5309                     ret = 0;
5310                     break;
5311                 }
5312                 enumName = "ZOOM";
5313                 if (strncmp(name, enumName, size) == 0) {
5314                     *value = ANDROID_CONTROL_SETTINGS_OVERRIDE_ZOOM;
5315                     ret = 0;
5316                     break;
5317                 }
5318                 enumName = "VENDOR_START";
5319                 if (strncmp(name, enumName, size) == 0) {
5320                     *value = ANDROID_CONTROL_SETTINGS_OVERRIDE_VENDOR_START;
5321                     ret = 0;
5322                     break;
5323                 }
5324             break;
5325         }
5326         case ANDROID_CONTROL_AVAILABLE_SETTINGS_OVERRIDES: {
5327             break;
5328         }
5329         case ANDROID_CONTROL_SETTINGS_OVERRIDING_FRAME_NUMBER: {
5330             break;
5331         }
5332         case ANDROID_CONTROL_AUTOFRAMING: {
5333                 enumName = "OFF";
5334                 if (strncmp(name, enumName, size) == 0) {
5335                     *value = ANDROID_CONTROL_AUTOFRAMING_OFF;
5336                     ret = 0;
5337                     break;
5338                 }
5339                 enumName = "ON";
5340                 if (strncmp(name, enumName, size) == 0) {
5341                     *value = ANDROID_CONTROL_AUTOFRAMING_ON;
5342                     ret = 0;
5343                     break;
5344                 }
5345                 enumName = "AUTO";
5346                 if (strncmp(name, enumName, size) == 0) {
5347                     *value = ANDROID_CONTROL_AUTOFRAMING_AUTO;
5348                     ret = 0;
5349                     break;
5350                 }
5351             break;
5352         }
5353         case ANDROID_CONTROL_AUTOFRAMING_AVAILABLE: {
5354                 enumName = "FALSE";
5355                 if (strncmp(name, enumName, size) == 0) {
5356                     *value = ANDROID_CONTROL_AUTOFRAMING_AVAILABLE_FALSE;
5357                     ret = 0;
5358                     break;
5359                 }
5360                 enumName = "TRUE";
5361                 if (strncmp(name, enumName, size) == 0) {
5362                     *value = ANDROID_CONTROL_AUTOFRAMING_AVAILABLE_TRUE;
5363                     ret = 0;
5364                     break;
5365                 }
5366             break;
5367         }
5368         case ANDROID_CONTROL_AUTOFRAMING_STATE: {
5369                 enumName = "INACTIVE";
5370                 if (strncmp(name, enumName, size) == 0) {
5371                     *value = ANDROID_CONTROL_AUTOFRAMING_STATE_INACTIVE;
5372                     ret = 0;
5373                     break;
5374                 }
5375                 enumName = "FRAMING";
5376                 if (strncmp(name, enumName, size) == 0) {
5377                     *value = ANDROID_CONTROL_AUTOFRAMING_STATE_FRAMING;
5378                     ret = 0;
5379                     break;
5380                 }
5381                 enumName = "CONVERGED";
5382                 if (strncmp(name, enumName, size) == 0) {
5383                     *value = ANDROID_CONTROL_AUTOFRAMING_STATE_CONVERGED;
5384                     ret = 0;
5385                     break;
5386                 }
5387             break;
5388         }
5389         case ANDROID_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: {
5390             break;
5391         }
5392         case ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE: {
5393                 enumName = "INACTIVE";
5394                 if (strncmp(name, enumName, size) == 0) {
5395                     *value = ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE;
5396                     ret = 0;
5397                     break;
5398                 }
5399                 enumName = "ACTIVE";
5400                 if (strncmp(name, enumName, size) == 0) {
5401                     *value = ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE;
5402                     ret = 0;
5403                     break;
5404                 }
5405             break;
5406         }
5407         case ANDROID_CONTROL_ZOOM_METHOD: {
5408                 enumName = "AUTO";
5409                 if (strncmp(name, enumName, size) == 0) {
5410                     *value = ANDROID_CONTROL_ZOOM_METHOD_AUTO;
5411                     ret = 0;
5412                     break;
5413                 }
5414                 enumName = "ZOOM_RATIO";
5415                 if (strncmp(name, enumName, size) == 0) {
5416                     *value = ANDROID_CONTROL_ZOOM_METHOD_ZOOM_RATIO;
5417                     ret = 0;
5418                     break;
5419                 }
5420             break;
5421         }
5422         case ANDROID_CONTROL_AE_PRIORITY_MODE: {
5423                 enumName = "OFF";
5424                 if (strncmp(name, enumName, size) == 0) {
5425                     *value = ANDROID_CONTROL_AE_PRIORITY_MODE_OFF;
5426                     ret = 0;
5427                     break;
5428                 }
5429                 enumName = "SENSOR_SENSITIVITY_PRIORITY";
5430                 if (strncmp(name, enumName, size) == 0) {
5431                     *value = ANDROID_CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY;
5432                     ret = 0;
5433                     break;
5434                 }
5435                 enumName = "SENSOR_EXPOSURE_TIME_PRIORITY";
5436                 if (strncmp(name, enumName, size) == 0) {
5437                     *value = ANDROID_CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY;
5438                     ret = 0;
5439                     break;
5440                 }
5441             break;
5442         }
5443         case ANDROID_CONTROL_AE_AVAILABLE_PRIORITY_MODES: {
5444             break;
5445         }
5446 
5447         case ANDROID_DEMOSAIC_MODE: {
5448                 enumName = "FAST";
5449                 if (strncmp(name, enumName, size) == 0) {
5450                     *value = ANDROID_DEMOSAIC_MODE_FAST;
5451                     ret = 0;
5452                     break;
5453                 }
5454                 enumName = "HIGH_QUALITY";
5455                 if (strncmp(name, enumName, size) == 0) {
5456                     *value = ANDROID_DEMOSAIC_MODE_HIGH_QUALITY;
5457                     ret = 0;
5458                     break;
5459                 }
5460             break;
5461         }
5462 
5463         case ANDROID_EDGE_MODE: {
5464                 enumName = "OFF";
5465                 if (strncmp(name, enumName, size) == 0) {
5466                     *value = ANDROID_EDGE_MODE_OFF;
5467                     ret = 0;
5468                     break;
5469                 }
5470                 enumName = "FAST";
5471                 if (strncmp(name, enumName, size) == 0) {
5472                     *value = ANDROID_EDGE_MODE_FAST;
5473                     ret = 0;
5474                     break;
5475                 }
5476                 enumName = "HIGH_QUALITY";
5477                 if (strncmp(name, enumName, size) == 0) {
5478                     *value = ANDROID_EDGE_MODE_HIGH_QUALITY;
5479                     ret = 0;
5480                     break;
5481                 }
5482                 enumName = "ZERO_SHUTTER_LAG";
5483                 if (strncmp(name, enumName, size) == 0) {
5484                     *value = ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG;
5485                     ret = 0;
5486                     break;
5487                 }
5488             break;
5489         }
5490         case ANDROID_EDGE_STRENGTH: {
5491             break;
5492         }
5493         case ANDROID_EDGE_AVAILABLE_EDGE_MODES: {
5494             break;
5495         }
5496 
5497         case ANDROID_FLASH_FIRING_POWER: {
5498             break;
5499         }
5500         case ANDROID_FLASH_FIRING_TIME: {
5501             break;
5502         }
5503         case ANDROID_FLASH_MODE: {
5504                 enumName = "OFF";
5505                 if (strncmp(name, enumName, size) == 0) {
5506                     *value = ANDROID_FLASH_MODE_OFF;
5507                     ret = 0;
5508                     break;
5509                 }
5510                 enumName = "SINGLE";
5511                 if (strncmp(name, enumName, size) == 0) {
5512                     *value = ANDROID_FLASH_MODE_SINGLE;
5513                     ret = 0;
5514                     break;
5515                 }
5516                 enumName = "TORCH";
5517                 if (strncmp(name, enumName, size) == 0) {
5518                     *value = ANDROID_FLASH_MODE_TORCH;
5519                     ret = 0;
5520                     break;
5521                 }
5522             break;
5523         }
5524         case ANDROID_FLASH_COLOR_TEMPERATURE: {
5525             break;
5526         }
5527         case ANDROID_FLASH_MAX_ENERGY: {
5528             break;
5529         }
5530         case ANDROID_FLASH_STATE: {
5531                 enumName = "UNAVAILABLE";
5532                 if (strncmp(name, enumName, size) == 0) {
5533                     *value = ANDROID_FLASH_STATE_UNAVAILABLE;
5534                     ret = 0;
5535                     break;
5536                 }
5537                 enumName = "CHARGING";
5538                 if (strncmp(name, enumName, size) == 0) {
5539                     *value = ANDROID_FLASH_STATE_CHARGING;
5540                     ret = 0;
5541                     break;
5542                 }
5543                 enumName = "READY";
5544                 if (strncmp(name, enumName, size) == 0) {
5545                     *value = ANDROID_FLASH_STATE_READY;
5546                     ret = 0;
5547                     break;
5548                 }
5549                 enumName = "FIRED";
5550                 if (strncmp(name, enumName, size) == 0) {
5551                     *value = ANDROID_FLASH_STATE_FIRED;
5552                     ret = 0;
5553                     break;
5554                 }
5555                 enumName = "PARTIAL";
5556                 if (strncmp(name, enumName, size) == 0) {
5557                     *value = ANDROID_FLASH_STATE_PARTIAL;
5558                     ret = 0;
5559                     break;
5560                 }
5561             break;
5562         }
5563         case ANDROID_FLASH_STRENGTH_LEVEL: {
5564             break;
5565         }
5566         case ANDROID_FLASH_SINGLE_STRENGTH_MAX_LEVEL: {
5567             break;
5568         }
5569         case ANDROID_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: {
5570             break;
5571         }
5572         case ANDROID_FLASH_TORCH_STRENGTH_MAX_LEVEL: {
5573             break;
5574         }
5575         case ANDROID_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: {
5576             break;
5577         }
5578 
5579         case ANDROID_FLASH_INFO_AVAILABLE: {
5580                 enumName = "FALSE";
5581                 if (strncmp(name, enumName, size) == 0) {
5582                     *value = ANDROID_FLASH_INFO_AVAILABLE_FALSE;
5583                     ret = 0;
5584                     break;
5585                 }
5586                 enumName = "TRUE";
5587                 if (strncmp(name, enumName, size) == 0) {
5588                     *value = ANDROID_FLASH_INFO_AVAILABLE_TRUE;
5589                     ret = 0;
5590                     break;
5591                 }
5592             break;
5593         }
5594         case ANDROID_FLASH_INFO_CHARGE_DURATION: {
5595             break;
5596         }
5597         case ANDROID_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: {
5598             break;
5599         }
5600         case ANDROID_FLASH_INFO_STRENGTH_DEFAULT_LEVEL: {
5601             break;
5602         }
5603 
5604         case ANDROID_HOT_PIXEL_MODE: {
5605                 enumName = "OFF";
5606                 if (strncmp(name, enumName, size) == 0) {
5607                     *value = ANDROID_HOT_PIXEL_MODE_OFF;
5608                     ret = 0;
5609                     break;
5610                 }
5611                 enumName = "FAST";
5612                 if (strncmp(name, enumName, size) == 0) {
5613                     *value = ANDROID_HOT_PIXEL_MODE_FAST;
5614                     ret = 0;
5615                     break;
5616                 }
5617                 enumName = "HIGH_QUALITY";
5618                 if (strncmp(name, enumName, size) == 0) {
5619                     *value = ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY;
5620                     ret = 0;
5621                     break;
5622                 }
5623             break;
5624         }
5625         case ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: {
5626             break;
5627         }
5628 
5629         case ANDROID_JPEG_GPS_COORDINATES: {
5630             break;
5631         }
5632         case ANDROID_JPEG_GPS_PROCESSING_METHOD: {
5633             break;
5634         }
5635         case ANDROID_JPEG_GPS_TIMESTAMP: {
5636             break;
5637         }
5638         case ANDROID_JPEG_ORIENTATION: {
5639             break;
5640         }
5641         case ANDROID_JPEG_QUALITY: {
5642             break;
5643         }
5644         case ANDROID_JPEG_THUMBNAIL_QUALITY: {
5645             break;
5646         }
5647         case ANDROID_JPEG_THUMBNAIL_SIZE: {
5648             break;
5649         }
5650         case ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES: {
5651             break;
5652         }
5653         case ANDROID_JPEG_MAX_SIZE: {
5654             break;
5655         }
5656         case ANDROID_JPEG_SIZE: {
5657             break;
5658         }
5659 
5660         case ANDROID_LENS_APERTURE: {
5661             break;
5662         }
5663         case ANDROID_LENS_FILTER_DENSITY: {
5664             break;
5665         }
5666         case ANDROID_LENS_FOCAL_LENGTH: {
5667             break;
5668         }
5669         case ANDROID_LENS_FOCUS_DISTANCE: {
5670             break;
5671         }
5672         case ANDROID_LENS_OPTICAL_STABILIZATION_MODE: {
5673                 enumName = "OFF";
5674                 if (strncmp(name, enumName, size) == 0) {
5675                     *value = ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF;
5676                     ret = 0;
5677                     break;
5678                 }
5679                 enumName = "ON";
5680                 if (strncmp(name, enumName, size) == 0) {
5681                     *value = ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON;
5682                     ret = 0;
5683                     break;
5684                 }
5685             break;
5686         }
5687         case ANDROID_LENS_FACING: {
5688                 enumName = "FRONT";
5689                 if (strncmp(name, enumName, size) == 0) {
5690                     *value = ANDROID_LENS_FACING_FRONT;
5691                     ret = 0;
5692                     break;
5693                 }
5694                 enumName = "BACK";
5695                 if (strncmp(name, enumName, size) == 0) {
5696                     *value = ANDROID_LENS_FACING_BACK;
5697                     ret = 0;
5698                     break;
5699                 }
5700                 enumName = "EXTERNAL";
5701                 if (strncmp(name, enumName, size) == 0) {
5702                     *value = ANDROID_LENS_FACING_EXTERNAL;
5703                     ret = 0;
5704                     break;
5705                 }
5706             break;
5707         }
5708         case ANDROID_LENS_POSE_ROTATION: {
5709             break;
5710         }
5711         case ANDROID_LENS_POSE_TRANSLATION: {
5712             break;
5713         }
5714         case ANDROID_LENS_FOCUS_RANGE: {
5715             break;
5716         }
5717         case ANDROID_LENS_STATE: {
5718                 enumName = "STATIONARY";
5719                 if (strncmp(name, enumName, size) == 0) {
5720                     *value = ANDROID_LENS_STATE_STATIONARY;
5721                     ret = 0;
5722                     break;
5723                 }
5724                 enumName = "MOVING";
5725                 if (strncmp(name, enumName, size) == 0) {
5726                     *value = ANDROID_LENS_STATE_MOVING;
5727                     ret = 0;
5728                     break;
5729                 }
5730             break;
5731         }
5732         case ANDROID_LENS_INTRINSIC_CALIBRATION: {
5733             break;
5734         }
5735         case ANDROID_LENS_RADIAL_DISTORTION: {
5736             break;
5737         }
5738         case ANDROID_LENS_POSE_REFERENCE: {
5739                 enumName = "PRIMARY_CAMERA";
5740                 if (strncmp(name, enumName, size) == 0) {
5741                     *value = ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA;
5742                     ret = 0;
5743                     break;
5744                 }
5745                 enumName = "GYROSCOPE";
5746                 if (strncmp(name, enumName, size) == 0) {
5747                     *value = ANDROID_LENS_POSE_REFERENCE_GYROSCOPE;
5748                     ret = 0;
5749                     break;
5750                 }
5751                 enumName = "UNDEFINED";
5752                 if (strncmp(name, enumName, size) == 0) {
5753                     *value = ANDROID_LENS_POSE_REFERENCE_UNDEFINED;
5754                     ret = 0;
5755                     break;
5756                 }
5757                 enumName = "AUTOMOTIVE";
5758                 if (strncmp(name, enumName, size) == 0) {
5759                     *value = ANDROID_LENS_POSE_REFERENCE_AUTOMOTIVE;
5760                     ret = 0;
5761                     break;
5762                 }
5763             break;
5764         }
5765         case ANDROID_LENS_DISTORTION: {
5766             break;
5767         }
5768         case ANDROID_LENS_DISTORTION_MAXIMUM_RESOLUTION: {
5769             break;
5770         }
5771         case ANDROID_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: {
5772             break;
5773         }
5774 
5775         case ANDROID_LENS_INFO_AVAILABLE_APERTURES: {
5776             break;
5777         }
5778         case ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES: {
5779             break;
5780         }
5781         case ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: {
5782             break;
5783         }
5784         case ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: {
5785             break;
5786         }
5787         case ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE: {
5788             break;
5789         }
5790         case ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE: {
5791             break;
5792         }
5793         case ANDROID_LENS_INFO_SHADING_MAP_SIZE: {
5794             break;
5795         }
5796         case ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: {
5797                 enumName = "UNCALIBRATED";
5798                 if (strncmp(name, enumName, size) == 0) {
5799                     *value = ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED;
5800                     ret = 0;
5801                     break;
5802                 }
5803                 enumName = "APPROXIMATE";
5804                 if (strncmp(name, enumName, size) == 0) {
5805                     *value = ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE;
5806                     ret = 0;
5807                     break;
5808                 }
5809                 enumName = "CALIBRATED";
5810                 if (strncmp(name, enumName, size) == 0) {
5811                     *value = ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED;
5812                     ret = 0;
5813                     break;
5814                 }
5815             break;
5816         }
5817 
5818         case ANDROID_NOISE_REDUCTION_MODE: {
5819                 enumName = "OFF";
5820                 if (strncmp(name, enumName, size) == 0) {
5821                     *value = ANDROID_NOISE_REDUCTION_MODE_OFF;
5822                     ret = 0;
5823                     break;
5824                 }
5825                 enumName = "FAST";
5826                 if (strncmp(name, enumName, size) == 0) {
5827                     *value = ANDROID_NOISE_REDUCTION_MODE_FAST;
5828                     ret = 0;
5829                     break;
5830                 }
5831                 enumName = "HIGH_QUALITY";
5832                 if (strncmp(name, enumName, size) == 0) {
5833                     *value = ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY;
5834                     ret = 0;
5835                     break;
5836                 }
5837                 enumName = "MINIMAL";
5838                 if (strncmp(name, enumName, size) == 0) {
5839                     *value = ANDROID_NOISE_REDUCTION_MODE_MINIMAL;
5840                     ret = 0;
5841                     break;
5842                 }
5843                 enumName = "ZERO_SHUTTER_LAG";
5844                 if (strncmp(name, enumName, size) == 0) {
5845                     *value = ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG;
5846                     ret = 0;
5847                     break;
5848                 }
5849             break;
5850         }
5851         case ANDROID_NOISE_REDUCTION_STRENGTH: {
5852             break;
5853         }
5854         case ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: {
5855             break;
5856         }
5857 
5858         case ANDROID_QUIRKS_METERING_CROP_REGION: {
5859             break;
5860         }
5861         case ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO: {
5862             break;
5863         }
5864         case ANDROID_QUIRKS_USE_ZSL_FORMAT: {
5865             break;
5866         }
5867         case ANDROID_QUIRKS_USE_PARTIAL_RESULT: {
5868             break;
5869         }
5870         case ANDROID_QUIRKS_PARTIAL_RESULT: {
5871                 enumName = "FINAL";
5872                 if (strncmp(name, enumName, size) == 0) {
5873                     *value = ANDROID_QUIRKS_PARTIAL_RESULT_FINAL;
5874                     ret = 0;
5875                     break;
5876                 }
5877                 enumName = "PARTIAL";
5878                 if (strncmp(name, enumName, size) == 0) {
5879                     *value = ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL;
5880                     ret = 0;
5881                     break;
5882                 }
5883             break;
5884         }
5885 
5886         case ANDROID_REQUEST_FRAME_COUNT: {
5887             break;
5888         }
5889         case ANDROID_REQUEST_ID: {
5890             break;
5891         }
5892         case ANDROID_REQUEST_INPUT_STREAMS: {
5893             break;
5894         }
5895         case ANDROID_REQUEST_METADATA_MODE: {
5896                 enumName = "NONE";
5897                 if (strncmp(name, enumName, size) == 0) {
5898                     *value = ANDROID_REQUEST_METADATA_MODE_NONE;
5899                     ret = 0;
5900                     break;
5901                 }
5902                 enumName = "FULL";
5903                 if (strncmp(name, enumName, size) == 0) {
5904                     *value = ANDROID_REQUEST_METADATA_MODE_FULL;
5905                     ret = 0;
5906                     break;
5907                 }
5908             break;
5909         }
5910         case ANDROID_REQUEST_OUTPUT_STREAMS: {
5911             break;
5912         }
5913         case ANDROID_REQUEST_TYPE: {
5914                 enumName = "CAPTURE";
5915                 if (strncmp(name, enumName, size) == 0) {
5916                     *value = ANDROID_REQUEST_TYPE_CAPTURE;
5917                     ret = 0;
5918                     break;
5919                 }
5920                 enumName = "REPROCESS";
5921                 if (strncmp(name, enumName, size) == 0) {
5922                     *value = ANDROID_REQUEST_TYPE_REPROCESS;
5923                     ret = 0;
5924                     break;
5925                 }
5926             break;
5927         }
5928         case ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS: {
5929             break;
5930         }
5931         case ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS: {
5932             break;
5933         }
5934         case ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS: {
5935             break;
5936         }
5937         case ANDROID_REQUEST_PIPELINE_DEPTH: {
5938             break;
5939         }
5940         case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
5941             break;
5942         }
5943         case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
5944             break;
5945         }
5946         case ANDROID_REQUEST_AVAILABLE_CAPABILITIES: {
5947                 enumName = "BACKWARD_COMPATIBLE";
5948                 if (strncmp(name, enumName, size) == 0) {
5949                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE;
5950                     ret = 0;
5951                     break;
5952                 }
5953                 enumName = "MANUAL_SENSOR";
5954                 if (strncmp(name, enumName, size) == 0) {
5955                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR;
5956                     ret = 0;
5957                     break;
5958                 }
5959                 enumName = "MANUAL_POST_PROCESSING";
5960                 if (strncmp(name, enumName, size) == 0) {
5961                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING;
5962                     ret = 0;
5963                     break;
5964                 }
5965                 enumName = "RAW";
5966                 if (strncmp(name, enumName, size) == 0) {
5967                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW;
5968                     ret = 0;
5969                     break;
5970                 }
5971                 enumName = "PRIVATE_REPROCESSING";
5972                 if (strncmp(name, enumName, size) == 0) {
5973                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING;
5974                     ret = 0;
5975                     break;
5976                 }
5977                 enumName = "READ_SENSOR_SETTINGS";
5978                 if (strncmp(name, enumName, size) == 0) {
5979                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS;
5980                     ret = 0;
5981                     break;
5982                 }
5983                 enumName = "BURST_CAPTURE";
5984                 if (strncmp(name, enumName, size) == 0) {
5985                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE;
5986                     ret = 0;
5987                     break;
5988                 }
5989                 enumName = "YUV_REPROCESSING";
5990                 if (strncmp(name, enumName, size) == 0) {
5991                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING;
5992                     ret = 0;
5993                     break;
5994                 }
5995                 enumName = "DEPTH_OUTPUT";
5996                 if (strncmp(name, enumName, size) == 0) {
5997                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT;
5998                     ret = 0;
5999                     break;
6000                 }
6001                 enumName = "CONSTRAINED_HIGH_SPEED_VIDEO";
6002                 if (strncmp(name, enumName, size) == 0) {
6003                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO;
6004                     ret = 0;
6005                     break;
6006                 }
6007                 enumName = "MOTION_TRACKING";
6008                 if (strncmp(name, enumName, size) == 0) {
6009                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING;
6010                     ret = 0;
6011                     break;
6012                 }
6013                 enumName = "LOGICAL_MULTI_CAMERA";
6014                 if (strncmp(name, enumName, size) == 0) {
6015                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA;
6016                     ret = 0;
6017                     break;
6018                 }
6019                 enumName = "MONOCHROME";
6020                 if (strncmp(name, enumName, size) == 0) {
6021                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME;
6022                     ret = 0;
6023                     break;
6024                 }
6025                 enumName = "SECURE_IMAGE_DATA";
6026                 if (strncmp(name, enumName, size) == 0) {
6027                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA;
6028                     ret = 0;
6029                     break;
6030                 }
6031                 enumName = "SYSTEM_CAMERA";
6032                 if (strncmp(name, enumName, size) == 0) {
6033                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA;
6034                     ret = 0;
6035                     break;
6036                 }
6037                 enumName = "OFFLINE_PROCESSING";
6038                 if (strncmp(name, enumName, size) == 0) {
6039                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING;
6040                     ret = 0;
6041                     break;
6042                 }
6043                 enumName = "ULTRA_HIGH_RESOLUTION_SENSOR";
6044                 if (strncmp(name, enumName, size) == 0) {
6045                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR;
6046                     ret = 0;
6047                     break;
6048                 }
6049                 enumName = "REMOSAIC_REPROCESSING";
6050                 if (strncmp(name, enumName, size) == 0) {
6051                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING;
6052                     ret = 0;
6053                     break;
6054                 }
6055                 enumName = "DYNAMIC_RANGE_TEN_BIT";
6056                 if (strncmp(name, enumName, size) == 0) {
6057                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT;
6058                     ret = 0;
6059                     break;
6060                 }
6061                 enumName = "STREAM_USE_CASE";
6062                 if (strncmp(name, enumName, size) == 0) {
6063                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE;
6064                     ret = 0;
6065                     break;
6066                 }
6067                 enumName = "COLOR_SPACE_PROFILES";
6068                 if (strncmp(name, enumName, size) == 0) {
6069                     *value = ANDROID_REQUEST_AVAILABLE_CAPABILITIES_COLOR_SPACE_PROFILES;
6070                     ret = 0;
6071                     break;
6072                 }
6073             break;
6074         }
6075         case ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS: {
6076             break;
6077         }
6078         case ANDROID_REQUEST_AVAILABLE_RESULT_KEYS: {
6079             break;
6080         }
6081         case ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: {
6082             break;
6083         }
6084         case ANDROID_REQUEST_AVAILABLE_SESSION_KEYS: {
6085             break;
6086         }
6087         case ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS: {
6088             break;
6089         }
6090         case ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION: {
6091             break;
6092         }
6093         case ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP: {
6094                 enumName = "STANDARD";
6095                 if (strncmp(name, enumName, size) == 0) {
6096                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD;
6097                     ret = 0;
6098                     break;
6099                 }
6100                 enumName = "HLG10";
6101                 if (strncmp(name, enumName, size) == 0) {
6102                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10;
6103                     ret = 0;
6104                     break;
6105                 }
6106                 enumName = "HDR10";
6107                 if (strncmp(name, enumName, size) == 0) {
6108                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10;
6109                     ret = 0;
6110                     break;
6111                 }
6112                 enumName = "HDR10_PLUS";
6113                 if (strncmp(name, enumName, size) == 0) {
6114                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS;
6115                     ret = 0;
6116                     break;
6117                 }
6118                 enumName = "DOLBY_VISION_10B_HDR_REF";
6119                 if (strncmp(name, enumName, size) == 0) {
6120                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF;
6121                     ret = 0;
6122                     break;
6123                 }
6124                 enumName = "DOLBY_VISION_10B_HDR_REF_PO";
6125                 if (strncmp(name, enumName, size) == 0) {
6126                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO;
6127                     ret = 0;
6128                     break;
6129                 }
6130                 enumName = "DOLBY_VISION_10B_HDR_OEM";
6131                 if (strncmp(name, enumName, size) == 0) {
6132                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM;
6133                     ret = 0;
6134                     break;
6135                 }
6136                 enumName = "DOLBY_VISION_10B_HDR_OEM_PO";
6137                 if (strncmp(name, enumName, size) == 0) {
6138                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO;
6139                     ret = 0;
6140                     break;
6141                 }
6142                 enumName = "DOLBY_VISION_8B_HDR_REF";
6143                 if (strncmp(name, enumName, size) == 0) {
6144                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF;
6145                     ret = 0;
6146                     break;
6147                 }
6148                 enumName = "DOLBY_VISION_8B_HDR_REF_PO";
6149                 if (strncmp(name, enumName, size) == 0) {
6150                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO;
6151                     ret = 0;
6152                     break;
6153                 }
6154                 enumName = "DOLBY_VISION_8B_HDR_OEM";
6155                 if (strncmp(name, enumName, size) == 0) {
6156                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM;
6157                     ret = 0;
6158                     break;
6159                 }
6160                 enumName = "DOLBY_VISION_8B_HDR_OEM_PO";
6161                 if (strncmp(name, enumName, size) == 0) {
6162                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO;
6163                     ret = 0;
6164                     break;
6165                 }
6166                 enumName = "MAX";
6167                 if (strncmp(name, enumName, size) == 0) {
6168                     *value = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX;
6169                     ret = 0;
6170                     break;
6171                 }
6172             break;
6173         }
6174         case ANDROID_REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE: {
6175             break;
6176         }
6177         case ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP: {
6178                 enumName = "UNSPECIFIED";
6179                 if (strncmp(name, enumName, size) == 0) {
6180                     *value = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED;
6181                     ret = 0;
6182                     break;
6183                 }
6184                 enumName = "SRGB";
6185                 if (strncmp(name, enumName, size) == 0) {
6186                     *value = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB;
6187                     ret = 0;
6188                     break;
6189                 }
6190                 enumName = "DISPLAY_P3";
6191                 if (strncmp(name, enumName, size) == 0) {
6192                     *value = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3;
6193                     ret = 0;
6194                     break;
6195                 }
6196                 enumName = "BT2020_HLG";
6197                 if (strncmp(name, enumName, size) == 0) {
6198                     *value = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG;
6199                     ret = 0;
6200                     break;
6201                 }
6202             break;
6203         }
6204 
6205         case ANDROID_SCALER_CROP_REGION: {
6206             break;
6207         }
6208         case ANDROID_SCALER_AVAILABLE_FORMATS: {
6209                 enumName = "RAW16";
6210                 if (strncmp(name, enumName, size) == 0) {
6211                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_RAW16;
6212                     ret = 0;
6213                     break;
6214                 }
6215                 enumName = "RAW_OPAQUE";
6216                 if (strncmp(name, enumName, size) == 0) {
6217                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE;
6218                     ret = 0;
6219                     break;
6220                 }
6221                 enumName = "YV12";
6222                 if (strncmp(name, enumName, size) == 0) {
6223                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_YV12;
6224                     ret = 0;
6225                     break;
6226                 }
6227                 enumName = "YCrCb_420_SP";
6228                 if (strncmp(name, enumName, size) == 0) {
6229                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP;
6230                     ret = 0;
6231                     break;
6232                 }
6233                 enumName = "IMPLEMENTATION_DEFINED";
6234                 if (strncmp(name, enumName, size) == 0) {
6235                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED;
6236                     ret = 0;
6237                     break;
6238                 }
6239                 enumName = "YCbCr_420_888";
6240                 if (strncmp(name, enumName, size) == 0) {
6241                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888;
6242                     ret = 0;
6243                     break;
6244                 }
6245                 enumName = "BLOB";
6246                 if (strncmp(name, enumName, size) == 0) {
6247                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_BLOB;
6248                     ret = 0;
6249                     break;
6250                 }
6251                 enumName = "RAW10";
6252                 if (strncmp(name, enumName, size) == 0) {
6253                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_RAW10;
6254                     ret = 0;
6255                     break;
6256                 }
6257                 enumName = "RAW12";
6258                 if (strncmp(name, enumName, size) == 0) {
6259                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_RAW12;
6260                     ret = 0;
6261                     break;
6262                 }
6263                 enumName = "Y8";
6264                 if (strncmp(name, enumName, size) == 0) {
6265                     *value = ANDROID_SCALER_AVAILABLE_FORMATS_Y8;
6266                     ret = 0;
6267                     break;
6268                 }
6269             break;
6270         }
6271         case ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS: {
6272             break;
6273         }
6274         case ANDROID_SCALER_AVAILABLE_JPEG_SIZES: {
6275             break;
6276         }
6277         case ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: {
6278             break;
6279         }
6280         case ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS: {
6281             break;
6282         }
6283         case ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES: {
6284             break;
6285         }
6286         case ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS: {
6287             break;
6288         }
6289         case ANDROID_SCALER_AVAILABLE_RAW_SIZES: {
6290             break;
6291         }
6292         case ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP: {
6293             break;
6294         }
6295         case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: {
6296                 enumName = "OUTPUT";
6297                 if (strncmp(name, enumName, size) == 0) {
6298                     *value = ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT;
6299                     ret = 0;
6300                     break;
6301                 }
6302                 enumName = "INPUT";
6303                 if (strncmp(name, enumName, size) == 0) {
6304                     *value = ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT;
6305                     ret = 0;
6306                     break;
6307                 }
6308             break;
6309         }
6310         case ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: {
6311             break;
6312         }
6313         case ANDROID_SCALER_AVAILABLE_STALL_DURATIONS: {
6314             break;
6315         }
6316         case ANDROID_SCALER_CROPPING_TYPE: {
6317                 enumName = "CENTER_ONLY";
6318                 if (strncmp(name, enumName, size) == 0) {
6319                     *value = ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY;
6320                     ret = 0;
6321                     break;
6322                 }
6323                 enumName = "FREEFORM";
6324                 if (strncmp(name, enumName, size) == 0) {
6325                     *value = ANDROID_SCALER_CROPPING_TYPE_FREEFORM;
6326                     ret = 0;
6327                     break;
6328                 }
6329             break;
6330         }
6331         case ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS: {
6332                 enumName = "PREVIEW";
6333                 if (strncmp(name, enumName, size) == 0) {
6334                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW;
6335                     ret = 0;
6336                     break;
6337                 }
6338                 enumName = "RECORD";
6339                 if (strncmp(name, enumName, size) == 0) {
6340                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD;
6341                     ret = 0;
6342                     break;
6343                 }
6344                 enumName = "VIDEO_SNAPSHOT";
6345                 if (strncmp(name, enumName, size) == 0) {
6346                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT;
6347                     ret = 0;
6348                     break;
6349                 }
6350                 enumName = "SNAPSHOT";
6351                 if (strncmp(name, enumName, size) == 0) {
6352                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT;
6353                     ret = 0;
6354                     break;
6355                 }
6356                 enumName = "ZSL";
6357                 if (strncmp(name, enumName, size) == 0) {
6358                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL;
6359                     ret = 0;
6360                     break;
6361                 }
6362                 enumName = "RAW";
6363                 if (strncmp(name, enumName, size) == 0) {
6364                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW;
6365                     ret = 0;
6366                     break;
6367                 }
6368                 enumName = "LOW_LATENCY_SNAPSHOT";
6369                 if (strncmp(name, enumName, size) == 0) {
6370                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT;
6371                     ret = 0;
6372                     break;
6373                 }
6374                 enumName = "PUBLIC_END";
6375                 if (strncmp(name, enumName, size) == 0) {
6376                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END;
6377                     ret = 0;
6378                     break;
6379                 }
6380                 enumName = "10BIT_OUTPUT";
6381                 if (strncmp(name, enumName, size) == 0) {
6382                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT;
6383                     ret = 0;
6384                     break;
6385                 }
6386                 enumName = "PUBLIC_END_3_8";
6387                 if (strncmp(name, enumName, size) == 0) {
6388                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8;
6389                     ret = 0;
6390                     break;
6391                 }
6392                 enumName = "VENDOR_START";
6393                 if (strncmp(name, enumName, size) == 0) {
6394                     *value = ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START;
6395                     ret = 0;
6396                     break;
6397                 }
6398             break;
6399         }
6400         case ANDROID_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP: {
6401             break;
6402         }
6403         case ANDROID_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: {
6404             break;
6405         }
6406         case ANDROID_SCALER_ROTATE_AND_CROP: {
6407                 enumName = "NONE";
6408                 if (strncmp(name, enumName, size) == 0) {
6409                     *value = ANDROID_SCALER_ROTATE_AND_CROP_NONE;
6410                     ret = 0;
6411                     break;
6412                 }
6413                 enumName = "90";
6414                 if (strncmp(name, enumName, size) == 0) {
6415                     *value = ANDROID_SCALER_ROTATE_AND_CROP_90;
6416                     ret = 0;
6417                     break;
6418                 }
6419                 enumName = "180";
6420                 if (strncmp(name, enumName, size) == 0) {
6421                     *value = ANDROID_SCALER_ROTATE_AND_CROP_180;
6422                     ret = 0;
6423                     break;
6424                 }
6425                 enumName = "270";
6426                 if (strncmp(name, enumName, size) == 0) {
6427                     *value = ANDROID_SCALER_ROTATE_AND_CROP_270;
6428                     ret = 0;
6429                     break;
6430                 }
6431                 enumName = "AUTO";
6432                 if (strncmp(name, enumName, size) == 0) {
6433                     *value = ANDROID_SCALER_ROTATE_AND_CROP_AUTO;
6434                     ret = 0;
6435                     break;
6436                 }
6437             break;
6438         }
6439         case ANDROID_SCALER_DEFAULT_SECURE_IMAGE_SIZE: {
6440             break;
6441         }
6442         case ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS: {
6443                 enumName = "OUTPUT";
6444                 if (strncmp(name, enumName, size) == 0) {
6445                     *value = ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT;
6446                     ret = 0;
6447                     break;
6448                 }
6449                 enumName = "INPUT";
6450                 if (strncmp(name, enumName, size) == 0) {
6451                     *value = ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT;
6452                     ret = 0;
6453                     break;
6454                 }
6455             break;
6456         }
6457         case ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
6458                 enumName = "OUTPUT";
6459                 if (strncmp(name, enumName, size) == 0) {
6460                     *value = ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT;
6461                     ret = 0;
6462                     break;
6463                 }
6464                 enumName = "INPUT";
6465                 if (strncmp(name, enumName, size) == 0) {
6466                     *value = ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT;
6467                     ret = 0;
6468                     break;
6469                 }
6470             break;
6471         }
6472         case ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
6473             break;
6474         }
6475         case ANDROID_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
6476             break;
6477         }
6478         case ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION: {
6479             break;
6480         }
6481         case ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED: {
6482                 enumName = "FALSE";
6483                 if (strncmp(name, enumName, size) == 0) {
6484                     *value = ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE;
6485                     ret = 0;
6486                     break;
6487                 }
6488                 enumName = "TRUE";
6489                 if (strncmp(name, enumName, size) == 0) {
6490                     *value = ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE;
6491                     ret = 0;
6492                     break;
6493                 }
6494             break;
6495         }
6496         case ANDROID_SCALER_CROP_REGION_SET: {
6497                 enumName = "FALSE";
6498                 if (strncmp(name, enumName, size) == 0) {
6499                     *value = ANDROID_SCALER_CROP_REGION_SET_FALSE;
6500                     ret = 0;
6501                     break;
6502                 }
6503                 enumName = "TRUE";
6504                 if (strncmp(name, enumName, size) == 0) {
6505                     *value = ANDROID_SCALER_CROP_REGION_SET_TRUE;
6506                     ret = 0;
6507                     break;
6508                 }
6509             break;
6510         }
6511         case ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES: {
6512                 enumName = "DEFAULT";
6513                 if (strncmp(name, enumName, size) == 0) {
6514                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT;
6515                     ret = 0;
6516                     break;
6517                 }
6518                 enumName = "PREVIEW";
6519                 if (strncmp(name, enumName, size) == 0) {
6520                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW;
6521                     ret = 0;
6522                     break;
6523                 }
6524                 enumName = "STILL_CAPTURE";
6525                 if (strncmp(name, enumName, size) == 0) {
6526                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE;
6527                     ret = 0;
6528                     break;
6529                 }
6530                 enumName = "VIDEO_RECORD";
6531                 if (strncmp(name, enumName, size) == 0) {
6532                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD;
6533                     ret = 0;
6534                     break;
6535                 }
6536                 enumName = "PREVIEW_VIDEO_STILL";
6537                 if (strncmp(name, enumName, size) == 0) {
6538                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL;
6539                     ret = 0;
6540                     break;
6541                 }
6542                 enumName = "VIDEO_CALL";
6543                 if (strncmp(name, enumName, size) == 0) {
6544                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL;
6545                     ret = 0;
6546                     break;
6547                 }
6548                 enumName = "CROPPED_RAW";
6549                 if (strncmp(name, enumName, size) == 0) {
6550                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW;
6551                     ret = 0;
6552                     break;
6553                 }
6554                 enumName = "VENDOR_START";
6555                 if (strncmp(name, enumName, size) == 0) {
6556                     *value = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VENDOR_START;
6557                     ret = 0;
6558                     break;
6559                 }
6560             break;
6561         }
6562         case ANDROID_SCALER_RAW_CROP_REGION: {
6563             break;
6564         }
6565 
6566         case ANDROID_SENSOR_EXPOSURE_TIME: {
6567             break;
6568         }
6569         case ANDROID_SENSOR_FRAME_DURATION: {
6570             break;
6571         }
6572         case ANDROID_SENSOR_SENSITIVITY: {
6573             break;
6574         }
6575         case ANDROID_SENSOR_REFERENCE_ILLUMINANT1: {
6576                 enumName = "DAYLIGHT";
6577                 if (strncmp(name, enumName, size) == 0) {
6578                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT;
6579                     ret = 0;
6580                     break;
6581                 }
6582                 enumName = "FLUORESCENT";
6583                 if (strncmp(name, enumName, size) == 0) {
6584                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT;
6585                     ret = 0;
6586                     break;
6587                 }
6588                 enumName = "TUNGSTEN";
6589                 if (strncmp(name, enumName, size) == 0) {
6590                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN;
6591                     ret = 0;
6592                     break;
6593                 }
6594                 enumName = "FLASH";
6595                 if (strncmp(name, enumName, size) == 0) {
6596                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH;
6597                     ret = 0;
6598                     break;
6599                 }
6600                 enumName = "FINE_WEATHER";
6601                 if (strncmp(name, enumName, size) == 0) {
6602                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER;
6603                     ret = 0;
6604                     break;
6605                 }
6606                 enumName = "CLOUDY_WEATHER";
6607                 if (strncmp(name, enumName, size) == 0) {
6608                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER;
6609                     ret = 0;
6610                     break;
6611                 }
6612                 enumName = "SHADE";
6613                 if (strncmp(name, enumName, size) == 0) {
6614                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE;
6615                     ret = 0;
6616                     break;
6617                 }
6618                 enumName = "DAYLIGHT_FLUORESCENT";
6619                 if (strncmp(name, enumName, size) == 0) {
6620                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT;
6621                     ret = 0;
6622                     break;
6623                 }
6624                 enumName = "DAY_WHITE_FLUORESCENT";
6625                 if (strncmp(name, enumName, size) == 0) {
6626                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT;
6627                     ret = 0;
6628                     break;
6629                 }
6630                 enumName = "COOL_WHITE_FLUORESCENT";
6631                 if (strncmp(name, enumName, size) == 0) {
6632                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT;
6633                     ret = 0;
6634                     break;
6635                 }
6636                 enumName = "WHITE_FLUORESCENT";
6637                 if (strncmp(name, enumName, size) == 0) {
6638                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT;
6639                     ret = 0;
6640                     break;
6641                 }
6642                 enumName = "STANDARD_A";
6643                 if (strncmp(name, enumName, size) == 0) {
6644                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A;
6645                     ret = 0;
6646                     break;
6647                 }
6648                 enumName = "STANDARD_B";
6649                 if (strncmp(name, enumName, size) == 0) {
6650                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B;
6651                     ret = 0;
6652                     break;
6653                 }
6654                 enumName = "STANDARD_C";
6655                 if (strncmp(name, enumName, size) == 0) {
6656                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C;
6657                     ret = 0;
6658                     break;
6659                 }
6660                 enumName = "D55";
6661                 if (strncmp(name, enumName, size) == 0) {
6662                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55;
6663                     ret = 0;
6664                     break;
6665                 }
6666                 enumName = "D65";
6667                 if (strncmp(name, enumName, size) == 0) {
6668                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65;
6669                     ret = 0;
6670                     break;
6671                 }
6672                 enumName = "D75";
6673                 if (strncmp(name, enumName, size) == 0) {
6674                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75;
6675                     ret = 0;
6676                     break;
6677                 }
6678                 enumName = "D50";
6679                 if (strncmp(name, enumName, size) == 0) {
6680                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50;
6681                     ret = 0;
6682                     break;
6683                 }
6684                 enumName = "ISO_STUDIO_TUNGSTEN";
6685                 if (strncmp(name, enumName, size) == 0) {
6686                     *value = ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN;
6687                     ret = 0;
6688                     break;
6689                 }
6690             break;
6691         }
6692         case ANDROID_SENSOR_REFERENCE_ILLUMINANT2: {
6693             break;
6694         }
6695         case ANDROID_SENSOR_CALIBRATION_TRANSFORM1: {
6696             break;
6697         }
6698         case ANDROID_SENSOR_CALIBRATION_TRANSFORM2: {
6699             break;
6700         }
6701         case ANDROID_SENSOR_COLOR_TRANSFORM1: {
6702             break;
6703         }
6704         case ANDROID_SENSOR_COLOR_TRANSFORM2: {
6705             break;
6706         }
6707         case ANDROID_SENSOR_FORWARD_MATRIX1: {
6708             break;
6709         }
6710         case ANDROID_SENSOR_FORWARD_MATRIX2: {
6711             break;
6712         }
6713         case ANDROID_SENSOR_BASE_GAIN_FACTOR: {
6714             break;
6715         }
6716         case ANDROID_SENSOR_BLACK_LEVEL_PATTERN: {
6717             break;
6718         }
6719         case ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY: {
6720             break;
6721         }
6722         case ANDROID_SENSOR_ORIENTATION: {
6723             break;
6724         }
6725         case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS: {
6726             break;
6727         }
6728         case ANDROID_SENSOR_TIMESTAMP: {
6729             break;
6730         }
6731         case ANDROID_SENSOR_TEMPERATURE: {
6732             break;
6733         }
6734         case ANDROID_SENSOR_NEUTRAL_COLOR_POINT: {
6735             break;
6736         }
6737         case ANDROID_SENSOR_NOISE_PROFILE: {
6738             break;
6739         }
6740         case ANDROID_SENSOR_PROFILE_HUE_SAT_MAP: {
6741             break;
6742         }
6743         case ANDROID_SENSOR_PROFILE_TONE_CURVE: {
6744             break;
6745         }
6746         case ANDROID_SENSOR_GREEN_SPLIT: {
6747             break;
6748         }
6749         case ANDROID_SENSOR_TEST_PATTERN_DATA: {
6750             break;
6751         }
6752         case ANDROID_SENSOR_TEST_PATTERN_MODE: {
6753                 enumName = "OFF";
6754                 if (strncmp(name, enumName, size) == 0) {
6755                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_OFF;
6756                     ret = 0;
6757                     break;
6758                 }
6759                 enumName = "SOLID_COLOR";
6760                 if (strncmp(name, enumName, size) == 0) {
6761                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR;
6762                     ret = 0;
6763                     break;
6764                 }
6765                 enumName = "COLOR_BARS";
6766                 if (strncmp(name, enumName, size) == 0) {
6767                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS;
6768                     ret = 0;
6769                     break;
6770                 }
6771                 enumName = "COLOR_BARS_FADE_TO_GRAY";
6772                 if (strncmp(name, enumName, size) == 0) {
6773                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY;
6774                     ret = 0;
6775                     break;
6776                 }
6777                 enumName = "PN9";
6778                 if (strncmp(name, enumName, size) == 0) {
6779                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_PN9;
6780                     ret = 0;
6781                     break;
6782                 }
6783                 enumName = "BLACK";
6784                 if (strncmp(name, enumName, size) == 0) {
6785                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_BLACK;
6786                     ret = 0;
6787                     break;
6788                 }
6789                 enumName = "CUSTOM1";
6790                 if (strncmp(name, enumName, size) == 0) {
6791                     *value = ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1;
6792                     ret = 0;
6793                     break;
6794                 }
6795             break;
6796         }
6797         case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
6798             break;
6799         }
6800         case ANDROID_SENSOR_ROLLING_SHUTTER_SKEW: {
6801             break;
6802         }
6803         case ANDROID_SENSOR_OPTICAL_BLACK_REGIONS: {
6804             break;
6805         }
6806         case ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL: {
6807             break;
6808         }
6809         case ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL: {
6810             break;
6811         }
6812         case ANDROID_SENSOR_OPAQUE_RAW_SIZE: {
6813             break;
6814         }
6815         case ANDROID_SENSOR_OPAQUE_RAW_SIZE_MAXIMUM_RESOLUTION: {
6816             break;
6817         }
6818         case ANDROID_SENSOR_PIXEL_MODE: {
6819                 enumName = "DEFAULT";
6820                 if (strncmp(name, enumName, size) == 0) {
6821                     *value = ANDROID_SENSOR_PIXEL_MODE_DEFAULT;
6822                     ret = 0;
6823                     break;
6824                 }
6825                 enumName = "MAXIMUM_RESOLUTION";
6826                 if (strncmp(name, enumName, size) == 0) {
6827                     *value = ANDROID_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION;
6828                     ret = 0;
6829                     break;
6830                 }
6831             break;
6832         }
6833         case ANDROID_SENSOR_RAW_BINNING_FACTOR_USED: {
6834                 enumName = "TRUE";
6835                 if (strncmp(name, enumName, size) == 0) {
6836                     *value = ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_TRUE;
6837                     ret = 0;
6838                     break;
6839                 }
6840                 enumName = "FALSE";
6841                 if (strncmp(name, enumName, size) == 0) {
6842                     *value = ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_FALSE;
6843                     ret = 0;
6844                     break;
6845                 }
6846             break;
6847         }
6848         case ANDROID_SENSOR_READOUT_TIMESTAMP: {
6849                 enumName = "NOT_SUPPORTED";
6850                 if (strncmp(name, enumName, size) == 0) {
6851                     *value = ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED;
6852                     ret = 0;
6853                     break;
6854                 }
6855                 enumName = "HARDWARE";
6856                 if (strncmp(name, enumName, size) == 0) {
6857                     *value = ANDROID_SENSOR_READOUT_TIMESTAMP_HARDWARE;
6858                     ret = 0;
6859                     break;
6860                 }
6861             break;
6862         }
6863 
6864         case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
6865             break;
6866         }
6867         case ANDROID_SENSOR_INFO_SENSITIVITY_RANGE: {
6868             break;
6869         }
6870         case ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: {
6871                 enumName = "RGGB";
6872                 if (strncmp(name, enumName, size) == 0) {
6873                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB;
6874                     ret = 0;
6875                     break;
6876                 }
6877                 enumName = "GRBG";
6878                 if (strncmp(name, enumName, size) == 0) {
6879                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG;
6880                     ret = 0;
6881                     break;
6882                 }
6883                 enumName = "GBRG";
6884                 if (strncmp(name, enumName, size) == 0) {
6885                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG;
6886                     ret = 0;
6887                     break;
6888                 }
6889                 enumName = "BGGR";
6890                 if (strncmp(name, enumName, size) == 0) {
6891                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR;
6892                     ret = 0;
6893                     break;
6894                 }
6895                 enumName = "RGB";
6896                 if (strncmp(name, enumName, size) == 0) {
6897                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB;
6898                     ret = 0;
6899                     break;
6900                 }
6901                 enumName = "MONO";
6902                 if (strncmp(name, enumName, size) == 0) {
6903                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO;
6904                     ret = 0;
6905                     break;
6906                 }
6907                 enumName = "NIR";
6908                 if (strncmp(name, enumName, size) == 0) {
6909                     *value = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR;
6910                     ret = 0;
6911                     break;
6912                 }
6913             break;
6914         }
6915         case ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE: {
6916             break;
6917         }
6918         case ANDROID_SENSOR_INFO_MAX_FRAME_DURATION: {
6919             break;
6920         }
6921         case ANDROID_SENSOR_INFO_PHYSICAL_SIZE: {
6922             break;
6923         }
6924         case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE: {
6925             break;
6926         }
6927         case ANDROID_SENSOR_INFO_WHITE_LEVEL: {
6928             break;
6929         }
6930         case ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE: {
6931                 enumName = "UNKNOWN";
6932                 if (strncmp(name, enumName, size) == 0) {
6933                     *value = ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN;
6934                     ret = 0;
6935                     break;
6936                 }
6937                 enumName = "REALTIME";
6938                 if (strncmp(name, enumName, size) == 0) {
6939                     *value = ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME;
6940                     ret = 0;
6941                     break;
6942                 }
6943             break;
6944         }
6945         case ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED: {
6946                 enumName = "FALSE";
6947                 if (strncmp(name, enumName, size) == 0) {
6948                     *value = ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE;
6949                     ret = 0;
6950                     break;
6951                 }
6952                 enumName = "TRUE";
6953                 if (strncmp(name, enumName, size) == 0) {
6954                     *value = ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE;
6955                     ret = 0;
6956                     break;
6957                 }
6958             break;
6959         }
6960         case ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: {
6961             break;
6962         }
6963         case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: {
6964             break;
6965         }
6966         case ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: {
6967             break;
6968         }
6969         case ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: {
6970             break;
6971         }
6972         case ANDROID_SENSOR_INFO_BINNING_FACTOR: {
6973             break;
6974         }
6975 
6976         case ANDROID_SHADING_MODE: {
6977                 enumName = "OFF";
6978                 if (strncmp(name, enumName, size) == 0) {
6979                     *value = ANDROID_SHADING_MODE_OFF;
6980                     ret = 0;
6981                     break;
6982                 }
6983                 enumName = "FAST";
6984                 if (strncmp(name, enumName, size) == 0) {
6985                     *value = ANDROID_SHADING_MODE_FAST;
6986                     ret = 0;
6987                     break;
6988                 }
6989                 enumName = "HIGH_QUALITY";
6990                 if (strncmp(name, enumName, size) == 0) {
6991                     *value = ANDROID_SHADING_MODE_HIGH_QUALITY;
6992                     ret = 0;
6993                     break;
6994                 }
6995             break;
6996         }
6997         case ANDROID_SHADING_STRENGTH: {
6998             break;
6999         }
7000         case ANDROID_SHADING_AVAILABLE_MODES: {
7001             break;
7002         }
7003 
7004         case ANDROID_STATISTICS_FACE_DETECT_MODE: {
7005                 enumName = "OFF";
7006                 if (strncmp(name, enumName, size) == 0) {
7007                     *value = ANDROID_STATISTICS_FACE_DETECT_MODE_OFF;
7008                     ret = 0;
7009                     break;
7010                 }
7011                 enumName = "SIMPLE";
7012                 if (strncmp(name, enumName, size) == 0) {
7013                     *value = ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE;
7014                     ret = 0;
7015                     break;
7016                 }
7017                 enumName = "FULL";
7018                 if (strncmp(name, enumName, size) == 0) {
7019                     *value = ANDROID_STATISTICS_FACE_DETECT_MODE_FULL;
7020                     ret = 0;
7021                     break;
7022                 }
7023             break;
7024         }
7025         case ANDROID_STATISTICS_HISTOGRAM_MODE: {
7026                 enumName = "OFF";
7027                 if (strncmp(name, enumName, size) == 0) {
7028                     *value = ANDROID_STATISTICS_HISTOGRAM_MODE_OFF;
7029                     ret = 0;
7030                     break;
7031                 }
7032                 enumName = "ON";
7033                 if (strncmp(name, enumName, size) == 0) {
7034                     *value = ANDROID_STATISTICS_HISTOGRAM_MODE_ON;
7035                     ret = 0;
7036                     break;
7037                 }
7038             break;
7039         }
7040         case ANDROID_STATISTICS_SHARPNESS_MAP_MODE: {
7041                 enumName = "OFF";
7042                 if (strncmp(name, enumName, size) == 0) {
7043                     *value = ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF;
7044                     ret = 0;
7045                     break;
7046                 }
7047                 enumName = "ON";
7048                 if (strncmp(name, enumName, size) == 0) {
7049                     *value = ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON;
7050                     ret = 0;
7051                     break;
7052                 }
7053             break;
7054         }
7055         case ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE: {
7056                 enumName = "OFF";
7057                 if (strncmp(name, enumName, size) == 0) {
7058                     *value = ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF;
7059                     ret = 0;
7060                     break;
7061                 }
7062                 enumName = "ON";
7063                 if (strncmp(name, enumName, size) == 0) {
7064                     *value = ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON;
7065                     ret = 0;
7066                     break;
7067                 }
7068             break;
7069         }
7070         case ANDROID_STATISTICS_FACE_IDS: {
7071             break;
7072         }
7073         case ANDROID_STATISTICS_FACE_LANDMARKS: {
7074             break;
7075         }
7076         case ANDROID_STATISTICS_FACE_RECTANGLES: {
7077             break;
7078         }
7079         case ANDROID_STATISTICS_FACE_SCORES: {
7080             break;
7081         }
7082         case ANDROID_STATISTICS_HISTOGRAM: {
7083             break;
7084         }
7085         case ANDROID_STATISTICS_SHARPNESS_MAP: {
7086             break;
7087         }
7088         case ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP: {
7089             break;
7090         }
7091         case ANDROID_STATISTICS_LENS_SHADING_MAP: {
7092             break;
7093         }
7094         case ANDROID_STATISTICS_PREDICTED_COLOR_GAINS: {
7095             break;
7096         }
7097         case ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM: {
7098             break;
7099         }
7100         case ANDROID_STATISTICS_SCENE_FLICKER: {
7101                 enumName = "NONE";
7102                 if (strncmp(name, enumName, size) == 0) {
7103                     *value = ANDROID_STATISTICS_SCENE_FLICKER_NONE;
7104                     ret = 0;
7105                     break;
7106                 }
7107                 enumName = "50HZ";
7108                 if (strncmp(name, enumName, size) == 0) {
7109                     *value = ANDROID_STATISTICS_SCENE_FLICKER_50HZ;
7110                     ret = 0;
7111                     break;
7112                 }
7113                 enumName = "60HZ";
7114                 if (strncmp(name, enumName, size) == 0) {
7115                     *value = ANDROID_STATISTICS_SCENE_FLICKER_60HZ;
7116                     ret = 0;
7117                     break;
7118                 }
7119             break;
7120         }
7121         case ANDROID_STATISTICS_HOT_PIXEL_MAP: {
7122             break;
7123         }
7124         case ANDROID_STATISTICS_LENS_SHADING_MAP_MODE: {
7125                 enumName = "OFF";
7126                 if (strncmp(name, enumName, size) == 0) {
7127                     *value = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF;
7128                     ret = 0;
7129                     break;
7130                 }
7131                 enumName = "ON";
7132                 if (strncmp(name, enumName, size) == 0) {
7133                     *value = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON;
7134                     ret = 0;
7135                     break;
7136                 }
7137             break;
7138         }
7139         case ANDROID_STATISTICS_OIS_DATA_MODE: {
7140                 enumName = "OFF";
7141                 if (strncmp(name, enumName, size) == 0) {
7142                     *value = ANDROID_STATISTICS_OIS_DATA_MODE_OFF;
7143                     ret = 0;
7144                     break;
7145                 }
7146                 enumName = "ON";
7147                 if (strncmp(name, enumName, size) == 0) {
7148                     *value = ANDROID_STATISTICS_OIS_DATA_MODE_ON;
7149                     ret = 0;
7150                     break;
7151                 }
7152             break;
7153         }
7154         case ANDROID_STATISTICS_OIS_TIMESTAMPS: {
7155             break;
7156         }
7157         case ANDROID_STATISTICS_OIS_X_SHIFTS: {
7158             break;
7159         }
7160         case ANDROID_STATISTICS_OIS_Y_SHIFTS: {
7161             break;
7162         }
7163         case ANDROID_STATISTICS_LENS_INTRINSIC_TIMESTAMPS: {
7164             break;
7165         }
7166         case ANDROID_STATISTICS_LENS_INTRINSIC_SAMPLES: {
7167             break;
7168         }
7169 
7170         case ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: {
7171             break;
7172         }
7173         case ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT: {
7174             break;
7175         }
7176         case ANDROID_STATISTICS_INFO_MAX_FACE_COUNT: {
7177             break;
7178         }
7179         case ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT: {
7180             break;
7181         }
7182         case ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE: {
7183             break;
7184         }
7185         case ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE: {
7186             break;
7187         }
7188         case ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: {
7189             break;
7190         }
7191         case ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: {
7192             break;
7193         }
7194         case ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: {
7195             break;
7196         }
7197 
7198         case ANDROID_TONEMAP_CURVE_BLUE: {
7199             break;
7200         }
7201         case ANDROID_TONEMAP_CURVE_GREEN: {
7202             break;
7203         }
7204         case ANDROID_TONEMAP_CURVE_RED: {
7205             break;
7206         }
7207         case ANDROID_TONEMAP_MODE: {
7208                 enumName = "CONTRAST_CURVE";
7209                 if (strncmp(name, enumName, size) == 0) {
7210                     *value = ANDROID_TONEMAP_MODE_CONTRAST_CURVE;
7211                     ret = 0;
7212                     break;
7213                 }
7214                 enumName = "FAST";
7215                 if (strncmp(name, enumName, size) == 0) {
7216                     *value = ANDROID_TONEMAP_MODE_FAST;
7217                     ret = 0;
7218                     break;
7219                 }
7220                 enumName = "HIGH_QUALITY";
7221                 if (strncmp(name, enumName, size) == 0) {
7222                     *value = ANDROID_TONEMAP_MODE_HIGH_QUALITY;
7223                     ret = 0;
7224                     break;
7225                 }
7226                 enumName = "GAMMA_VALUE";
7227                 if (strncmp(name, enumName, size) == 0) {
7228                     *value = ANDROID_TONEMAP_MODE_GAMMA_VALUE;
7229                     ret = 0;
7230                     break;
7231                 }
7232                 enumName = "PRESET_CURVE";
7233                 if (strncmp(name, enumName, size) == 0) {
7234                     *value = ANDROID_TONEMAP_MODE_PRESET_CURVE;
7235                     ret = 0;
7236                     break;
7237                 }
7238             break;
7239         }
7240         case ANDROID_TONEMAP_MAX_CURVE_POINTS: {
7241             break;
7242         }
7243         case ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES: {
7244             break;
7245         }
7246         case ANDROID_TONEMAP_GAMMA: {
7247             break;
7248         }
7249         case ANDROID_TONEMAP_PRESET_CURVE: {
7250                 enumName = "SRGB";
7251                 if (strncmp(name, enumName, size) == 0) {
7252                     *value = ANDROID_TONEMAP_PRESET_CURVE_SRGB;
7253                     ret = 0;
7254                     break;
7255                 }
7256                 enumName = "REC709";
7257                 if (strncmp(name, enumName, size) == 0) {
7258                     *value = ANDROID_TONEMAP_PRESET_CURVE_REC709;
7259                     ret = 0;
7260                     break;
7261                 }
7262             break;
7263         }
7264 
7265         case ANDROID_LED_TRANSMIT: {
7266                 enumName = "OFF";
7267                 if (strncmp(name, enumName, size) == 0) {
7268                     *value = ANDROID_LED_TRANSMIT_OFF;
7269                     ret = 0;
7270                     break;
7271                 }
7272                 enumName = "ON";
7273                 if (strncmp(name, enumName, size) == 0) {
7274                     *value = ANDROID_LED_TRANSMIT_ON;
7275                     ret = 0;
7276                     break;
7277                 }
7278             break;
7279         }
7280         case ANDROID_LED_AVAILABLE_LEDS: {
7281                 enumName = "TRANSMIT";
7282                 if (strncmp(name, enumName, size) == 0) {
7283                     *value = ANDROID_LED_AVAILABLE_LEDS_TRANSMIT;
7284                     ret = 0;
7285                     break;
7286                 }
7287             break;
7288         }
7289 
7290         case ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL: {
7291                 enumName = "LIMITED";
7292                 if (strncmp(name, enumName, size) == 0) {
7293                     *value = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;
7294                     ret = 0;
7295                     break;
7296                 }
7297                 enumName = "FULL";
7298                 if (strncmp(name, enumName, size) == 0) {
7299                     *value = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL;
7300                     ret = 0;
7301                     break;
7302                 }
7303                 enumName = "LEGACY";
7304                 if (strncmp(name, enumName, size) == 0) {
7305                     *value = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY;
7306                     ret = 0;
7307                     break;
7308                 }
7309                 enumName = "3";
7310                 if (strncmp(name, enumName, size) == 0) {
7311                     *value = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3;
7312                     ret = 0;
7313                     break;
7314                 }
7315                 enumName = "EXTERNAL";
7316                 if (strncmp(name, enumName, size) == 0) {
7317                     *value = ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL;
7318                     ret = 0;
7319                     break;
7320                 }
7321             break;
7322         }
7323         case ANDROID_INFO_VERSION: {
7324             break;
7325         }
7326         case ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION: {
7327                 enumName = "HIDL_DEVICE_3_5";
7328                 if (strncmp(name, enumName, size) == 0) {
7329                     *value = ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5;
7330                     ret = 0;
7331                     break;
7332                 }
7333                 enumName = "SESSION_CONFIGURABLE";
7334                 if (strncmp(name, enumName, size) == 0) {
7335                     *value = ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE;
7336                     ret = 0;
7337                     break;
7338                 }
7339             break;
7340         }
7341         case ANDROID_INFO_DEVICE_STATE_ORIENTATIONS: {
7342             break;
7343         }
7344         case ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION: {
7345                 enumName = "UPSIDE_DOWN_CAKE";
7346                 if (strncmp(name, enumName, size) == 0) {
7347                     *value = ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_UPSIDE_DOWN_CAKE;
7348                     ret = 0;
7349                     break;
7350                 }
7351                 enumName = "VANILLA_ICE_CREAM";
7352                 if (strncmp(name, enumName, size) == 0) {
7353                     *value = ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_VANILLA_ICE_CREAM;
7354                     ret = 0;
7355                     break;
7356                 }
7357                 enumName = "BAKLAVA";
7358                 if (strncmp(name, enumName, size) == 0) {
7359                     *value = ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_BAKLAVA;
7360                     ret = 0;
7361                     break;
7362                 }
7363             break;
7364         }
7365         case ANDROID_INFO_DEVICE_ID: {
7366             break;
7367         }
7368 
7369         case ANDROID_BLACK_LEVEL_LOCK: {
7370                 enumName = "OFF";
7371                 if (strncmp(name, enumName, size) == 0) {
7372                     *value = ANDROID_BLACK_LEVEL_LOCK_OFF;
7373                     ret = 0;
7374                     break;
7375                 }
7376                 enumName = "ON";
7377                 if (strncmp(name, enumName, size) == 0) {
7378                     *value = ANDROID_BLACK_LEVEL_LOCK_ON;
7379                     ret = 0;
7380                     break;
7381                 }
7382             break;
7383         }
7384 
7385         case ANDROID_SYNC_FRAME_NUMBER: {
7386                 enumName = "CONVERGING";
7387                 if (strncmp(name, enumName, size) == 0) {
7388                     *value = ANDROID_SYNC_FRAME_NUMBER_CONVERGING;
7389                     ret = 0;
7390                     break;
7391                 }
7392                 enumName = "UNKNOWN";
7393                 if (strncmp(name, enumName, size) == 0) {
7394                     *value = ANDROID_SYNC_FRAME_NUMBER_UNKNOWN;
7395                     ret = 0;
7396                     break;
7397                 }
7398             break;
7399         }
7400         case ANDROID_SYNC_MAX_LATENCY: {
7401                 enumName = "PER_FRAME_CONTROL";
7402                 if (strncmp(name, enumName, size) == 0) {
7403                     *value = ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL;
7404                     ret = 0;
7405                     break;
7406                 }
7407                 enumName = "UNKNOWN";
7408                 if (strncmp(name, enumName, size) == 0) {
7409                     *value = ANDROID_SYNC_MAX_LATENCY_UNKNOWN;
7410                     ret = 0;
7411                     break;
7412                 }
7413             break;
7414         }
7415 
7416         case ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: {
7417             break;
7418         }
7419         case ANDROID_REPROCESS_MAX_CAPTURE_STALL: {
7420             break;
7421         }
7422 
7423         case ANDROID_DEPTH_MAX_DEPTH_SAMPLES: {
7424             break;
7425         }
7426         case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: {
7427                 enumName = "OUTPUT";
7428                 if (strncmp(name, enumName, size) == 0) {
7429                     *value = ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT;
7430                     ret = 0;
7431                     break;
7432                 }
7433                 enumName = "INPUT";
7434                 if (strncmp(name, enumName, size) == 0) {
7435                     *value = ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT;
7436                     ret = 0;
7437                     break;
7438                 }
7439             break;
7440         }
7441         case ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: {
7442             break;
7443         }
7444         case ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: {
7445             break;
7446         }
7447         case ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE: {
7448                 enumName = "FALSE";
7449                 if (strncmp(name, enumName, size) == 0) {
7450                     *value = ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE;
7451                     ret = 0;
7452                     break;
7453                 }
7454                 enumName = "TRUE";
7455                 if (strncmp(name, enumName, size) == 0) {
7456                     *value = ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE;
7457                     ret = 0;
7458                     break;
7459                 }
7460             break;
7461         }
7462         case ANDROID_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS: {
7463             break;
7464         }
7465         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS: {
7466                 enumName = "OUTPUT";
7467                 if (strncmp(name, enumName, size) == 0) {
7468                     *value = ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT;
7469                     ret = 0;
7470                     break;
7471                 }
7472                 enumName = "INPUT";
7473                 if (strncmp(name, enumName, size) == 0) {
7474                     *value = ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT;
7475                     ret = 0;
7476                     break;
7477                 }
7478             break;
7479         }
7480         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS: {
7481             break;
7482         }
7483         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS: {
7484             break;
7485         }
7486         case ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
7487                 enumName = "OUTPUT";
7488                 if (strncmp(name, enumName, size) == 0) {
7489                     *value = ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT;
7490                     ret = 0;
7491                     break;
7492                 }
7493                 enumName = "INPUT";
7494                 if (strncmp(name, enumName, size) == 0) {
7495                     *value = ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT;
7496                     ret = 0;
7497                     break;
7498                 }
7499             break;
7500         }
7501         case ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
7502             break;
7503         }
7504         case ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
7505             break;
7506         }
7507         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
7508                 enumName = "OUTPUT";
7509                 if (strncmp(name, enumName, size) == 0) {
7510                     *value = ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT;
7511                     ret = 0;
7512                     break;
7513                 }
7514                 enumName = "INPUT";
7515                 if (strncmp(name, enumName, size) == 0) {
7516                     *value = ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT;
7517                     ret = 0;
7518                     break;
7519                 }
7520             break;
7521         }
7522         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
7523             break;
7524         }
7525         case ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
7526             break;
7527         }
7528 
7529         case ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: {
7530             break;
7531         }
7532         case ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: {
7533                 enumName = "APPROXIMATE";
7534                 if (strncmp(name, enumName, size) == 0) {
7535                     *value = ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE;
7536                     ret = 0;
7537                     break;
7538                 }
7539                 enumName = "CALIBRATED";
7540                 if (strncmp(name, enumName, size) == 0) {
7541                     *value = ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED;
7542                     ret = 0;
7543                     break;
7544                 }
7545             break;
7546         }
7547         case ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: {
7548             break;
7549         }
7550         case ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION: {
7551             break;
7552         }
7553 
7554         case ANDROID_DISTORTION_CORRECTION_MODE: {
7555                 enumName = "OFF";
7556                 if (strncmp(name, enumName, size) == 0) {
7557                     *value = ANDROID_DISTORTION_CORRECTION_MODE_OFF;
7558                     ret = 0;
7559                     break;
7560                 }
7561                 enumName = "FAST";
7562                 if (strncmp(name, enumName, size) == 0) {
7563                     *value = ANDROID_DISTORTION_CORRECTION_MODE_FAST;
7564                     ret = 0;
7565                     break;
7566                 }
7567                 enumName = "HIGH_QUALITY";
7568                 if (strncmp(name, enumName, size) == 0) {
7569                     *value = ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY;
7570                     ret = 0;
7571                     break;
7572                 }
7573             break;
7574         }
7575         case ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES: {
7576             break;
7577         }
7578 
7579         case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS: {
7580                 enumName = "OUTPUT";
7581                 if (strncmp(name, enumName, size) == 0) {
7582                     *value = ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT;
7583                     ret = 0;
7584                     break;
7585                 }
7586                 enumName = "INPUT";
7587                 if (strncmp(name, enumName, size) == 0) {
7588                     *value = ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT;
7589                     ret = 0;
7590                     break;
7591                 }
7592             break;
7593         }
7594         case ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS: {
7595             break;
7596         }
7597         case ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: {
7598             break;
7599         }
7600         case ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
7601                 enumName = "OUTPUT";
7602                 if (strncmp(name, enumName, size) == 0) {
7603                     *value = ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT;
7604                     ret = 0;
7605                     break;
7606                 }
7607                 enumName = "INPUT";
7608                 if (strncmp(name, enumName, size) == 0) {
7609                     *value = ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT;
7610                     ret = 0;
7611                     break;
7612                 }
7613             break;
7614         }
7615         case ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
7616             break;
7617         }
7618         case ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
7619             break;
7620         }
7621         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS: {
7622                 enumName = "OUTPUT";
7623                 if (strncmp(name, enumName, size) == 0) {
7624                     *value = ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_OUTPUT;
7625                     ret = 0;
7626                     break;
7627                 }
7628                 enumName = "INPUT";
7629                 if (strncmp(name, enumName, size) == 0) {
7630                     *value = ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_INPUT;
7631                     ret = 0;
7632                     break;
7633                 }
7634             break;
7635         }
7636         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_MIN_FRAME_DURATIONS: {
7637             break;
7638         }
7639         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STALL_DURATIONS: {
7640             break;
7641         }
7642         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
7643                 enumName = "OUTPUT";
7644                 if (strncmp(name, enumName, size) == 0) {
7645                     *value = ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT;
7646                     ret = 0;
7647                     break;
7648                 }
7649                 enumName = "INPUT";
7650                 if (strncmp(name, enumName, size) == 0) {
7651                     *value = ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT;
7652                     ret = 0;
7653                     break;
7654                 }
7655             break;
7656         }
7657         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
7658             break;
7659         }
7660         case ANDROID_HEIC_AVAILABLE_HEIC_ULTRA_HDR_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
7661             break;
7662         }
7663 
7664         case ANDROID_HEIC_INFO_SUPPORTED: {
7665                 enumName = "FALSE";
7666                 if (strncmp(name, enumName, size) == 0) {
7667                     *value = ANDROID_HEIC_INFO_SUPPORTED_FALSE;
7668                     ret = 0;
7669                     break;
7670                 }
7671                 enumName = "TRUE";
7672                 if (strncmp(name, enumName, size) == 0) {
7673                     *value = ANDROID_HEIC_INFO_SUPPORTED_TRUE;
7674                     ret = 0;
7675                     break;
7676                 }
7677             break;
7678         }
7679         case ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT: {
7680             break;
7681         }
7682 
7683         case ANDROID_AUTOMOTIVE_LOCATION: {
7684                 enumName = "INTERIOR";
7685                 if (strncmp(name, enumName, size) == 0) {
7686                     *value = ANDROID_AUTOMOTIVE_LOCATION_INTERIOR;
7687                     ret = 0;
7688                     break;
7689                 }
7690                 enumName = "EXTERIOR_OTHER";
7691                 if (strncmp(name, enumName, size) == 0) {
7692                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER;
7693                     ret = 0;
7694                     break;
7695                 }
7696                 enumName = "EXTERIOR_FRONT";
7697                 if (strncmp(name, enumName, size) == 0) {
7698                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT;
7699                     ret = 0;
7700                     break;
7701                 }
7702                 enumName = "EXTERIOR_REAR";
7703                 if (strncmp(name, enumName, size) == 0) {
7704                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_REAR;
7705                     ret = 0;
7706                     break;
7707                 }
7708                 enumName = "EXTERIOR_LEFT";
7709                 if (strncmp(name, enumName, size) == 0) {
7710                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT;
7711                     ret = 0;
7712                     break;
7713                 }
7714                 enumName = "EXTERIOR_RIGHT";
7715                 if (strncmp(name, enumName, size) == 0) {
7716                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT;
7717                     ret = 0;
7718                     break;
7719                 }
7720                 enumName = "EXTRA_OTHER";
7721                 if (strncmp(name, enumName, size) == 0) {
7722                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTRA_OTHER;
7723                     ret = 0;
7724                     break;
7725                 }
7726                 enumName = "EXTRA_FRONT";
7727                 if (strncmp(name, enumName, size) == 0) {
7728                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTRA_FRONT;
7729                     ret = 0;
7730                     break;
7731                 }
7732                 enumName = "EXTRA_REAR";
7733                 if (strncmp(name, enumName, size) == 0) {
7734                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTRA_REAR;
7735                     ret = 0;
7736                     break;
7737                 }
7738                 enumName = "EXTRA_LEFT";
7739                 if (strncmp(name, enumName, size) == 0) {
7740                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTRA_LEFT;
7741                     ret = 0;
7742                     break;
7743                 }
7744                 enumName = "EXTRA_RIGHT";
7745                 if (strncmp(name, enumName, size) == 0) {
7746                     *value = ANDROID_AUTOMOTIVE_LOCATION_EXTRA_RIGHT;
7747                     ret = 0;
7748                     break;
7749                 }
7750             break;
7751         }
7752 
7753         case ANDROID_AUTOMOTIVE_LENS_FACING: {
7754                 enumName = "EXTERIOR_OTHER";
7755                 if (strncmp(name, enumName, size) == 0) {
7756                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER;
7757                     ret = 0;
7758                     break;
7759                 }
7760                 enumName = "EXTERIOR_FRONT";
7761                 if (strncmp(name, enumName, size) == 0) {
7762                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT;
7763                     ret = 0;
7764                     break;
7765                 }
7766                 enumName = "EXTERIOR_REAR";
7767                 if (strncmp(name, enumName, size) == 0) {
7768                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR;
7769                     ret = 0;
7770                     break;
7771                 }
7772                 enumName = "EXTERIOR_LEFT";
7773                 if (strncmp(name, enumName, size) == 0) {
7774                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT;
7775                     ret = 0;
7776                     break;
7777                 }
7778                 enumName = "EXTERIOR_RIGHT";
7779                 if (strncmp(name, enumName, size) == 0) {
7780                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT;
7781                     ret = 0;
7782                     break;
7783                 }
7784                 enumName = "INTERIOR_OTHER";
7785                 if (strncmp(name, enumName, size) == 0) {
7786                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER;
7787                     ret = 0;
7788                     break;
7789                 }
7790                 enumName = "INTERIOR_SEAT_ROW_1_LEFT";
7791                 if (strncmp(name, enumName, size) == 0) {
7792                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT;
7793                     ret = 0;
7794                     break;
7795                 }
7796                 enumName = "INTERIOR_SEAT_ROW_1_CENTER";
7797                 if (strncmp(name, enumName, size) == 0) {
7798                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER;
7799                     ret = 0;
7800                     break;
7801                 }
7802                 enumName = "INTERIOR_SEAT_ROW_1_RIGHT";
7803                 if (strncmp(name, enumName, size) == 0) {
7804                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT;
7805                     ret = 0;
7806                     break;
7807                 }
7808                 enumName = "INTERIOR_SEAT_ROW_2_LEFT";
7809                 if (strncmp(name, enumName, size) == 0) {
7810                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT;
7811                     ret = 0;
7812                     break;
7813                 }
7814                 enumName = "INTERIOR_SEAT_ROW_2_CENTER";
7815                 if (strncmp(name, enumName, size) == 0) {
7816                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER;
7817                     ret = 0;
7818                     break;
7819                 }
7820                 enumName = "INTERIOR_SEAT_ROW_2_RIGHT";
7821                 if (strncmp(name, enumName, size) == 0) {
7822                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT;
7823                     ret = 0;
7824                     break;
7825                 }
7826                 enumName = "INTERIOR_SEAT_ROW_3_LEFT";
7827                 if (strncmp(name, enumName, size) == 0) {
7828                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT;
7829                     ret = 0;
7830                     break;
7831                 }
7832                 enumName = "INTERIOR_SEAT_ROW_3_CENTER";
7833                 if (strncmp(name, enumName, size) == 0) {
7834                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER;
7835                     ret = 0;
7836                     break;
7837                 }
7838                 enumName = "INTERIOR_SEAT_ROW_3_RIGHT";
7839                 if (strncmp(name, enumName, size) == 0) {
7840                     *value = ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT;
7841                     ret = 0;
7842                     break;
7843                 }
7844             break;
7845         }
7846 
7847         case ANDROID_EXTENSION_STRENGTH: {
7848             break;
7849         }
7850         case ANDROID_EXTENSION_CURRENT_TYPE: {
7851             break;
7852         }
7853         case ANDROID_EXTENSION_NIGHT_MODE_INDICATOR: {
7854                 enumName = "UNKNOWN";
7855                 if (strncmp(name, enumName, size) == 0) {
7856                     *value = ANDROID_EXTENSION_NIGHT_MODE_INDICATOR_UNKNOWN;
7857                     ret = 0;
7858                     break;
7859                 }
7860                 enumName = "OFF";
7861                 if (strncmp(name, enumName, size) == 0) {
7862                     *value = ANDROID_EXTENSION_NIGHT_MODE_INDICATOR_OFF;
7863                     ret = 0;
7864                     break;
7865                 }
7866                 enumName = "ON";
7867                 if (strncmp(name, enumName, size) == 0) {
7868                     *value = ANDROID_EXTENSION_NIGHT_MODE_INDICATOR_ON;
7869                     ret = 0;
7870                     break;
7871                 }
7872             break;
7873         }
7874 
7875         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS: {
7876                 enumName = "OUTPUT";
7877                 if (strncmp(name, enumName, size) == 0) {
7878                     *value = ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT;
7879                     ret = 0;
7880                     break;
7881                 }
7882                 enumName = "INPUT";
7883                 if (strncmp(name, enumName, size) == 0) {
7884                     *value = ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT;
7885                     ret = 0;
7886                     break;
7887                 }
7888             break;
7889         }
7890         case ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS: {
7891             break;
7892         }
7893         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS: {
7894             break;
7895         }
7896         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION: {
7897                 enumName = "OUTPUT";
7898                 if (strncmp(name, enumName, size) == 0) {
7899                     *value = ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT;
7900                     ret = 0;
7901                     break;
7902                 }
7903                 enumName = "INPUT";
7904                 if (strncmp(name, enumName, size) == 0) {
7905                     *value = ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT;
7906                     ret = 0;
7907                     break;
7908                 }
7909             break;
7910         }
7911         case ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION: {
7912             break;
7913         }
7914         case ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION: {
7915             break;
7916         }
7917 
7918         case ANDROID_SHARED_SESSION_COLOR_SPACE: {
7919                 enumName = "UNSPECIFIED";
7920                 if (strncmp(name, enumName, size) == 0) {
7921                     *value = ANDROID_SHARED_SESSION_COLOR_SPACE_UNSPECIFIED;
7922                     ret = 0;
7923                     break;
7924                 }
7925                 enumName = "SRGB";
7926                 if (strncmp(name, enumName, size) == 0) {
7927                     *value = ANDROID_SHARED_SESSION_COLOR_SPACE_SRGB;
7928                     ret = 0;
7929                     break;
7930                 }
7931                 enumName = "DISPLAY_P3";
7932                 if (strncmp(name, enumName, size) == 0) {
7933                     *value = ANDROID_SHARED_SESSION_COLOR_SPACE_DISPLAY_P3;
7934                     ret = 0;
7935                     break;
7936                 }
7937                 enumName = "BT2020_HLG";
7938                 if (strncmp(name, enumName, size) == 0) {
7939                     *value = ANDROID_SHARED_SESSION_COLOR_SPACE_BT2020_HLG;
7940                     ret = 0;
7941                     break;
7942                 }
7943             break;
7944         }
7945         case ANDROID_SHARED_SESSION_OUTPUT_CONFIGURATIONS: {
7946             break;
7947         }
7948 
7949         case ANDROID_DESKTOP_EFFECTS_CAPABILITIES: {
7950                 enumName = "BACKGROUND_BLUR";
7951                 if (strncmp(name, enumName, size) == 0) {
7952                     *value = ANDROID_DESKTOP_EFFECTS_CAPABILITIES_BACKGROUND_BLUR;
7953                     ret = 0;
7954                     break;
7955                 }
7956                 enumName = "FACE_RETOUCH";
7957                 if (strncmp(name, enumName, size) == 0) {
7958                     *value = ANDROID_DESKTOP_EFFECTS_CAPABILITIES_FACE_RETOUCH;
7959                     ret = 0;
7960                     break;
7961                 }
7962                 enumName = "PORTRAIT_RELIGHT";
7963                 if (strncmp(name, enumName, size) == 0) {
7964                     *value = ANDROID_DESKTOP_EFFECTS_CAPABILITIES_PORTRAIT_RELIGHT;
7965                     ret = 0;
7966                     break;
7967                 }
7968             break;
7969         }
7970         case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODES: {
7971             break;
7972         }
7973         case ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE: {
7974                 enumName = "OFF";
7975                 if (strncmp(name, enumName, size) == 0) {
7976                     *value = ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE_OFF;
7977                     ret = 0;
7978                     break;
7979                 }
7980                 enumName = "LIGHT";
7981                 if (strncmp(name, enumName, size) == 0) {
7982                     *value = ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE_LIGHT;
7983                     ret = 0;
7984                     break;
7985                 }
7986                 enumName = "FULL";
7987                 if (strncmp(name, enumName, size) == 0) {
7988                     *value = ANDROID_DESKTOP_EFFECTS_BACKGROUND_BLUR_MODE_FULL;
7989                     ret = 0;
7990                     break;
7991                 }
7992             break;
7993         }
7994         case ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE: {
7995                 enumName = "OFF";
7996                 if (strncmp(name, enumName, size) == 0) {
7997                     *value = ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE_OFF;
7998                     ret = 0;
7999                     break;
8000                 }
8001                 enumName = "ON";
8002                 if (strncmp(name, enumName, size) == 0) {
8003                     *value = ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_MODE_ON;
8004                     ret = 0;
8005                     break;
8006                 }
8007             break;
8008         }
8009         case ANDROID_DESKTOP_EFFECTS_FACE_RETOUCH_STRENGTH: {
8010             break;
8011         }
8012         case ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE: {
8013                 enumName = "OFF";
8014                 if (strncmp(name, enumName, size) == 0) {
8015                     *value = ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE_OFF;
8016                     ret = 0;
8017                     break;
8018                 }
8019                 enumName = "ON";
8020                 if (strncmp(name, enumName, size) == 0) {
8021                     *value = ANDROID_DESKTOP_EFFECTS_PORTRAIT_RELIGHT_MODE_ON;
8022                     ret = 0;
8023                     break;
8024                 }
8025             break;
8026         }
8027 
8028     }
8029 
8030     return ret;
8031 }
8032 
8033 
8034 #define CAMERA_METADATA_ENUM_STRING_MAX_SIZE 39
8035