/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @file NdkNameToTag.h
 */

#include <map>
#include <camera/NdkCameraMetadataTags.h>

/*
 * This file defines an NDK API.
 * Do not remove methods.
 * Do not change method signatures.
 * Do not change the value of constants.
 * Do not change the size of any of the classes defined in here.
 * Do not reference types that are not part of the NDK.
 * Do not #include files that aren't part of the NDK.
 */

#ifndef _NDK_CAMERA_METADATA_TAGS_MAP_H
#define _NDK_CAMERA_METADATA_TAGS_MAP_H

/*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
  * The key entries below this point are generated from metadata
  * definitions in /system/media/camera/docs. Do not modify by hand or
  * modify the comment blocks at the start or end.
  *~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/

    std::map<const char*, acamera_metadata_tag_t> ndk_metadata_name_to_tag {
      {"android.colorCorrection.mode", ACAMERA_COLOR_CORRECTION_MODE},
      {"android.colorCorrection.transform", ACAMERA_COLOR_CORRECTION_TRANSFORM},
      {"android.colorCorrection.gains", ACAMERA_COLOR_CORRECTION_GAINS},
      {"android.colorCorrection.aberrationMode", ACAMERA_COLOR_CORRECTION_ABERRATION_MODE},
      {"android.colorCorrection.availableAberrationModes", ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES},
      {"android.control.aeAntibandingMode", ACAMERA_CONTROL_AE_ANTIBANDING_MODE},
      {"android.control.aeExposureCompensation", ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION},
      {"android.control.aeLock", ACAMERA_CONTROL_AE_LOCK},
      {"android.control.aeMode", ACAMERA_CONTROL_AE_MODE},
      {"android.control.aeRegions", ACAMERA_CONTROL_AE_REGIONS},
      {"android.control.aeTargetFpsRange", ACAMERA_CONTROL_AE_TARGET_FPS_RANGE},
      {"android.control.aePrecaptureTrigger", ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER},
      {"android.control.afMode", ACAMERA_CONTROL_AF_MODE},
      {"android.control.afRegions", ACAMERA_CONTROL_AF_REGIONS},
      {"android.control.afTrigger", ACAMERA_CONTROL_AF_TRIGGER},
      {"android.control.awbLock", ACAMERA_CONTROL_AWB_LOCK},
      {"android.control.awbMode", ACAMERA_CONTROL_AWB_MODE},
      {"android.control.awbRegions", ACAMERA_CONTROL_AWB_REGIONS},
      {"android.control.captureIntent", ACAMERA_CONTROL_CAPTURE_INTENT},
      {"android.control.effectMode", ACAMERA_CONTROL_EFFECT_MODE},
      {"android.control.mode", ACAMERA_CONTROL_MODE},
      {"android.control.sceneMode", ACAMERA_CONTROL_SCENE_MODE},
      {"android.control.videoStabilizationMode", ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE},
      {"android.control.aeAvailableAntibandingModes", ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES},
      {"android.control.aeAvailableModes", ACAMERA_CONTROL_AE_AVAILABLE_MODES},
      {"android.control.aeAvailableTargetFpsRanges", ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES},
      {"android.control.aeCompensationRange", ACAMERA_CONTROL_AE_COMPENSATION_RANGE},
      {"android.control.aeCompensationStep", ACAMERA_CONTROL_AE_COMPENSATION_STEP},
      {"android.control.afAvailableModes", ACAMERA_CONTROL_AF_AVAILABLE_MODES},
      {"android.control.availableEffects", ACAMERA_CONTROL_AVAILABLE_EFFECTS},
      {"android.control.availableSceneModes", ACAMERA_CONTROL_AVAILABLE_SCENE_MODES},
      {"android.control.availableVideoStabilizationModes", ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES},
      {"android.control.awbAvailableModes", ACAMERA_CONTROL_AWB_AVAILABLE_MODES},
      {"android.control.maxRegions", ACAMERA_CONTROL_MAX_REGIONS},
      {"android.control.aeState", ACAMERA_CONTROL_AE_STATE},
      {"android.control.afState", ACAMERA_CONTROL_AF_STATE},
      {"android.control.awbState", ACAMERA_CONTROL_AWB_STATE},
      {"android.control.aeLockAvailable", ACAMERA_CONTROL_AE_LOCK_AVAILABLE},
      {"android.control.awbLockAvailable", ACAMERA_CONTROL_AWB_LOCK_AVAILABLE},
      {"android.control.availableModes", ACAMERA_CONTROL_AVAILABLE_MODES},
      {"android.control.postRawSensitivityBoostRange", ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE},
      {"android.control.postRawSensitivityBoost", ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST},
      {"android.control.enableZsl", ACAMERA_CONTROL_ENABLE_ZSL},
      {"android.control.afSceneChange", ACAMERA_CONTROL_AF_SCENE_CHANGE},
      {"android.control.availableExtendedSceneModeMaxSizes", ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES},
      {"android.control.availableExtendedSceneModeZoomRatioRanges", ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES},
      {"android.control.extendedSceneMode", ACAMERA_CONTROL_EXTENDED_SCENE_MODE},
      {"android.control.zoomRatioRange", ACAMERA_CONTROL_ZOOM_RATIO_RANGE},
      {"android.control.zoomRatio", ACAMERA_CONTROL_ZOOM_RATIO},
      {"android.control.settingsOverride", ACAMERA_CONTROL_SETTINGS_OVERRIDE},
      {"android.control.availableSettingsOverrides", ACAMERA_CONTROL_AVAILABLE_SETTINGS_OVERRIDES},
      {"android.control.autoframing", ACAMERA_CONTROL_AUTOFRAMING},
      {"android.control.autoframingAvailable", ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE},
      {"android.control.autoframingState", ACAMERA_CONTROL_AUTOFRAMING_STATE},
      {"android.control.lowLightBoostInfoLuminanceRange", ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE},
      {"android.control.lowLightBoostState", ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE},
      {"android.edge.mode", ACAMERA_EDGE_MODE},
      {"android.edge.availableEdgeModes", ACAMERA_EDGE_AVAILABLE_EDGE_MODES},
      {"android.flash.mode", ACAMERA_FLASH_MODE},
      {"android.flash.state", ACAMERA_FLASH_STATE},
      {"android.flash.strengthLevel", ACAMERA_FLASH_STRENGTH_LEVEL},
      {"android.flash.singleStrengthMaxLevel", ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL},
      {"android.flash.singleStrengthDefaultLevel", ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL},
      {"android.flash.torchStrengthMaxLevel", ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL},
      {"android.flash.torchStrengthDefaultLevel", ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL},
      {"android.flash.info.available", ACAMERA_FLASH_INFO_AVAILABLE},
      {"android.flash.info.strengthMaximumLevel", ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL},
      {"android.flash.info.strengthDefaultLevel", ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL},
      {"android.hotPixel.mode", ACAMERA_HOT_PIXEL_MODE},
      {"android.hotPixel.availableHotPixelModes", ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES},
      {"android.jpeg.gpsCoordinates", ACAMERA_JPEG_GPS_COORDINATES},
      {"android.jpeg.gpsProcessingMethod", ACAMERA_JPEG_GPS_PROCESSING_METHOD},
      {"android.jpeg.gpsTimestamp", ACAMERA_JPEG_GPS_TIMESTAMP},
      {"android.jpeg.orientation", ACAMERA_JPEG_ORIENTATION},
      {"android.jpeg.quality", ACAMERA_JPEG_QUALITY},
      {"android.jpeg.thumbnailQuality", ACAMERA_JPEG_THUMBNAIL_QUALITY},
      {"android.jpeg.thumbnailSize", ACAMERA_JPEG_THUMBNAIL_SIZE},
      {"android.jpeg.availableThumbnailSizes", ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES},
      {"android.lens.aperture", ACAMERA_LENS_APERTURE},
      {"android.lens.filterDensity", ACAMERA_LENS_FILTER_DENSITY},
      {"android.lens.focalLength", ACAMERA_LENS_FOCAL_LENGTH},
      {"android.lens.focusDistance", ACAMERA_LENS_FOCUS_DISTANCE},
      {"android.lens.opticalStabilizationMode", ACAMERA_LENS_OPTICAL_STABILIZATION_MODE},
      {"android.lens.facing", ACAMERA_LENS_FACING},
      {"android.lens.poseRotation", ACAMERA_LENS_POSE_ROTATION},
      {"android.lens.poseTranslation", ACAMERA_LENS_POSE_TRANSLATION},
      {"android.lens.focusRange", ACAMERA_LENS_FOCUS_RANGE},
      {"android.lens.state", ACAMERA_LENS_STATE},
      {"android.lens.intrinsicCalibration", ACAMERA_LENS_INTRINSIC_CALIBRATION},
      {"android.lens.radialDistortion", ACAMERA_LENS_RADIAL_DISTORTION},
      {"android.lens.poseReference", ACAMERA_LENS_POSE_REFERENCE},
      {"android.lens.distortion", ACAMERA_LENS_DISTORTION},
      {"android.lens.distortionMaximumResolution", ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION},
      {"android.lens.intrinsicCalibrationMaximumResolution", ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION},
      {"android.lens.info.availableApertures", ACAMERA_LENS_INFO_AVAILABLE_APERTURES},
      {"android.lens.info.availableFilterDensities", ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES},
      {"android.lens.info.availableFocalLengths", ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS},
      {"android.lens.info.availableOpticalStabilization", ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION},
      {"android.lens.info.hyperfocalDistance", ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE},
      {"android.lens.info.minimumFocusDistance", ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE},
      {"android.lens.info.shadingMapSize", ACAMERA_LENS_INFO_SHADING_MAP_SIZE},
      {"android.lens.info.focusDistanceCalibration", ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION},
      {"android.noiseReduction.mode", ACAMERA_NOISE_REDUCTION_MODE},
      {"android.noiseReduction.availableNoiseReductionModes", ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES},
      {"android.request.maxNumOutputStreams", ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS},
      {"android.request.pipelineDepth", ACAMERA_REQUEST_PIPELINE_DEPTH},
      {"android.request.pipelineMaxDepth", ACAMERA_REQUEST_PIPELINE_MAX_DEPTH},
      {"android.request.partialResultCount", ACAMERA_REQUEST_PARTIAL_RESULT_COUNT},
      {"android.request.availableCapabilities", ACAMERA_REQUEST_AVAILABLE_CAPABILITIES},
      {"android.request.availableRequestKeys", ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS},
      {"android.request.availableResultKeys", ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS},
      {"android.request.availableCharacteristicsKeys", ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS},
      {"android.request.availableSessionKeys", ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS},
      {"android.request.availablePhysicalCameraRequestKeys", ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS},
      {"android.request.availableDynamicRangeProfilesMap", ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP},
      {"android.request.availableColorSpaceProfilesMap", ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP},
      {"android.scaler.cropRegion", ACAMERA_SCALER_CROP_REGION},
      {"android.scaler.availableMaxDigitalZoom", ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM},
      {"android.scaler.availableStreamConfigurations", ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS},
      {"android.scaler.availableMinFrameDurations", ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS},
      {"android.scaler.availableStallDurations", ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS},
      {"android.scaler.croppingType", ACAMERA_SCALER_CROPPING_TYPE},
      {"android.scaler.availableRecommendedStreamConfigurations", ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS},
      {"android.scaler.availableRecommendedInputOutputFormatsMap", ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP},
      {"android.scaler.availableRotateAndCropModes", ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES},
      {"android.scaler.rotateAndCrop", ACAMERA_SCALER_ROTATE_AND_CROP},
      {"android.scaler.defaultSecureImageSize", ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE},
      {"android.scaler.physicalCameraMultiResolutionStreamConfigurations", ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS},
      {"android.scaler.availableStreamConfigurationsMaximumResolution", ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION},
      {"android.scaler.availableMinFrameDurationsMaximumResolution", ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.scaler.availableStallDurationsMaximumResolution", ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.scaler.multiResolutionStreamSupported", ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED},
      {"android.scaler.availableStreamUseCases", ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES},
      {"android.scaler.rawCropRegion", ACAMERA_SCALER_RAW_CROP_REGION},
      {"android.sensor.exposureTime", ACAMERA_SENSOR_EXPOSURE_TIME},
      {"android.sensor.frameDuration", ACAMERA_SENSOR_FRAME_DURATION},
      {"android.sensor.sensitivity", ACAMERA_SENSOR_SENSITIVITY},
      {"android.sensor.referenceIlluminant1", ACAMERA_SENSOR_REFERENCE_ILLUMINANT1},
      {"android.sensor.referenceIlluminant2", ACAMERA_SENSOR_REFERENCE_ILLUMINANT2},
      {"android.sensor.calibrationTransform1", ACAMERA_SENSOR_CALIBRATION_TRANSFORM1},
      {"android.sensor.calibrationTransform2", ACAMERA_SENSOR_CALIBRATION_TRANSFORM2},
      {"android.sensor.colorTransform1", ACAMERA_SENSOR_COLOR_TRANSFORM1},
      {"android.sensor.colorTransform2", ACAMERA_SENSOR_COLOR_TRANSFORM2},
      {"android.sensor.forwardMatrix1", ACAMERA_SENSOR_FORWARD_MATRIX1},
      {"android.sensor.forwardMatrix2", ACAMERA_SENSOR_FORWARD_MATRIX2},
      {"android.sensor.blackLevelPattern", ACAMERA_SENSOR_BLACK_LEVEL_PATTERN},
      {"android.sensor.maxAnalogSensitivity", ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY},
      {"android.sensor.orientation", ACAMERA_SENSOR_ORIENTATION},
      {"android.sensor.timestamp", ACAMERA_SENSOR_TIMESTAMP},
      {"android.sensor.neutralColorPoint", ACAMERA_SENSOR_NEUTRAL_COLOR_POINT},
      {"android.sensor.noiseProfile", ACAMERA_SENSOR_NOISE_PROFILE},
      {"android.sensor.greenSplit", ACAMERA_SENSOR_GREEN_SPLIT},
      {"android.sensor.testPatternData", ACAMERA_SENSOR_TEST_PATTERN_DATA},
      {"android.sensor.testPatternMode", ACAMERA_SENSOR_TEST_PATTERN_MODE},
      {"android.sensor.availableTestPatternModes", ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES},
      {"android.sensor.rollingShutterSkew", ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW},
      {"android.sensor.opticalBlackRegions", ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS},
      {"android.sensor.dynamicBlackLevel", ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL},
      {"android.sensor.dynamicWhiteLevel", ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL},
      {"android.sensor.pixelMode", ACAMERA_SENSOR_PIXEL_MODE},
      {"android.sensor.rawBinningFactorUsed", ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED},
      {"android.sensor.info.activeArraySize", ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE},
      {"android.sensor.info.sensitivityRange", ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE},
      {"android.sensor.info.colorFilterArrangement", ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT},
      {"android.sensor.info.exposureTimeRange", ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE},
      {"android.sensor.info.maxFrameDuration", ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION},
      {"android.sensor.info.physicalSize", ACAMERA_SENSOR_INFO_PHYSICAL_SIZE},
      {"android.sensor.info.pixelArraySize", ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE},
      {"android.sensor.info.whiteLevel", ACAMERA_SENSOR_INFO_WHITE_LEVEL},
      {"android.sensor.info.timestampSource", ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE},
      {"android.sensor.info.lensShadingApplied", ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED},
      {"android.sensor.info.preCorrectionActiveArraySize", ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE},
      {"android.sensor.info.activeArraySizeMaximumResolution", ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION},
      {"android.sensor.info.pixelArraySizeMaximumResolution", ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION},
      {"android.sensor.info.preCorrectionActiveArraySizeMaximumResolution", ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION},
      {"android.sensor.info.binningFactor", ACAMERA_SENSOR_INFO_BINNING_FACTOR},
      {"android.shading.mode", ACAMERA_SHADING_MODE},
      {"android.shading.availableModes", ACAMERA_SHADING_AVAILABLE_MODES},
      {"android.statistics.faceDetectMode", ACAMERA_STATISTICS_FACE_DETECT_MODE},
      {"android.statistics.hotPixelMapMode", ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE},
      {"android.statistics.faceIds", ACAMERA_STATISTICS_FACE_IDS},
      {"android.statistics.faceLandmarks", ACAMERA_STATISTICS_FACE_LANDMARKS},
      {"android.statistics.faceRectangles", ACAMERA_STATISTICS_FACE_RECTANGLES},
      {"android.statistics.faceScores", ACAMERA_STATISTICS_FACE_SCORES},
      {"android.statistics.lensShadingMap", ACAMERA_STATISTICS_LENS_SHADING_MAP},
      {"android.statistics.sceneFlicker", ACAMERA_STATISTICS_SCENE_FLICKER},
      {"android.statistics.hotPixelMap", ACAMERA_STATISTICS_HOT_PIXEL_MAP},
      {"android.statistics.lensShadingMapMode", ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE},
      {"android.statistics.oisDataMode", ACAMERA_STATISTICS_OIS_DATA_MODE},
      {"android.statistics.oisTimestamps", ACAMERA_STATISTICS_OIS_TIMESTAMPS},
      {"android.statistics.oisXShifts", ACAMERA_STATISTICS_OIS_X_SHIFTS},
      {"android.statistics.oisYShifts", ACAMERA_STATISTICS_OIS_Y_SHIFTS},
      {"android.statistics.lensIntrinsicTimestamps", ACAMERA_STATISTICS_LENS_INTRINSIC_TIMESTAMPS},
      {"android.statistics.lensIntrinsicSamples", ACAMERA_STATISTICS_LENS_INTRINSIC_SAMPLES},
      {"android.statistics.info.availableFaceDetectModes", ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES},
      {"android.statistics.info.maxFaceCount", ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT},
      {"android.statistics.info.availableHotPixelMapModes", ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES},
      {"android.statistics.info.availableLensShadingMapModes", ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES},
      {"android.statistics.info.availableOisDataModes", ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES},
      {"android.tonemap.curveBlue", ACAMERA_TONEMAP_CURVE_BLUE},
      {"android.tonemap.curveGreen", ACAMERA_TONEMAP_CURVE_GREEN},
      {"android.tonemap.curveRed", ACAMERA_TONEMAP_CURVE_RED},
      {"android.tonemap.mode", ACAMERA_TONEMAP_MODE},
      {"android.tonemap.maxCurvePoints", ACAMERA_TONEMAP_MAX_CURVE_POINTS},
      {"android.tonemap.availableToneMapModes", ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES},
      {"android.tonemap.gamma", ACAMERA_TONEMAP_GAMMA},
      {"android.tonemap.presetCurve", ACAMERA_TONEMAP_PRESET_CURVE},
      {"android.info.supportedHardwareLevel", ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL},
      {"android.info.version", ACAMERA_INFO_VERSION},
      {"android.info.deviceStateOrientations", ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS},
      {"android.blackLevel.lock", ACAMERA_BLACK_LEVEL_LOCK},
      {"android.sync.frameNumber", ACAMERA_SYNC_FRAME_NUMBER},
      {"android.sync.maxLatency", ACAMERA_SYNC_MAX_LATENCY},
      {"android.depth.availableDepthStreamConfigurations", ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS},
      {"android.depth.availableDepthMinFrameDurations", ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS},
      {"android.depth.availableDepthStallDurations", ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS},
      {"android.depth.depthIsExclusive", ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE},
      {"android.depth.availableRecommendedDepthStreamConfigurations", ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS},
      {"android.depth.availableDynamicDepthStreamConfigurations", ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS},
      {"android.depth.availableDynamicDepthMinFrameDurations", ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS},
      {"android.depth.availableDynamicDepthStallDurations", ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS},
      {"android.depth.availableDepthStreamConfigurationsMaximumResolution", ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION},
      {"android.depth.availableDepthMinFrameDurationsMaximumResolution", ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.depth.availableDepthStallDurationsMaximumResolution", ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.depth.availableDynamicDepthStreamConfigurationsMaximumResolution", ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION},
      {"android.depth.availableDynamicDepthMinFrameDurationsMaximumResolution", ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.depth.availableDynamicDepthStallDurationsMaximumResolution", ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.logicalMultiCamera.physicalIds", ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS},
      {"android.logicalMultiCamera.sensorSyncType", ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE},
      {"android.logicalMultiCamera.activePhysicalId", ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID},
      {"android.logicalMultiCamera.activePhysicalSensorCropRegion", ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION},
      {"android.distortionCorrection.mode", ACAMERA_DISTORTION_CORRECTION_MODE},
      {"android.distortionCorrection.availableModes", ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES},
      {"android.heic.availableHeicStreamConfigurations", ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS},
      {"android.heic.availableHeicMinFrameDurations", ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS},
      {"android.heic.availableHeicStallDurations", ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS},
      {"android.heic.availableHeicStreamConfigurationsMaximumResolution", ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION},
      {"android.heic.availableHeicMinFrameDurationsMaximumResolution", ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.heic.availableHeicStallDurationsMaximumResolution", ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.automotive.location", ACAMERA_AUTOMOTIVE_LOCATION},
      {"android.automotive.lens.facing", ACAMERA_AUTOMOTIVE_LENS_FACING},
      {"android.jpegr.availableJpegRStreamConfigurations", ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS},
      {"android.jpegr.availableJpegRMinFrameDurations", ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS},
      {"android.jpegr.availableJpegRStallDurations", ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS},
      {"android.jpegr.availableJpegRStreamConfigurationsMaximumResolution", ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION},
      {"android.jpegr.availableJpegRMinFrameDurationsMaximumResolution", ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION},
      {"android.jpegr.availableJpegRStallDurationsMaximumResolution", ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION},
    };

    /*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
     * End generated code
     *~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~O@*/
#endif