/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** *** To edit the content of this header, modify the corresponding *** source file (e.g. under external/kernel-headers/original/) then *** run bionic/libc/kernel/tools/update_all.py *** *** Any manual change here will be lost the next time this script will *** be run. You've been warned! *** **************************************************************************** ****************************************************************************/ #ifndef FIMC_IS_METADATA_H_ #define FIMC_IS_METADATA_H_ struct rational { uint32_t num; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t den; }; #define CAMERA2_MAX_AVAILABLE_MODE 21 #define CAMERA2_MAX_FACES 16 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAMERA2_FACE_DETECTION_THRESHOLD 35 enum metadata_mode { METADATA_MODE_NONE, METADATA_MODE_FULL /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_request_ctl { uint32_t id; enum metadata_mode metadataMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint8_t outputStreams[16]; uint32_t frameCount; }; struct camera2_request_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t id; enum metadata_mode metadataMode; uint32_t frameCount; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum optical_stabilization_mode { OPTICAL_STABILIZATION_MODE_OFF, OPTICAL_STABILIZATION_MODE_ON }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum lens_facing { LENS_FACING_BACK, LENS_FACING_FRONT }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_lens_ctl { uint32_t focusDistance; float aperture; float focalLength; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ float filterDensity; enum optical_stabilization_mode opticalStabilizationMode; }; struct camera2_lens_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t focusDistance; float aperture; float focalLength; float filterDensity; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum optical_stabilization_mode opticalStabilizationMode; float focusRange[2]; }; struct camera2_lens_sm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ float minimumFocusDistance; float hyperfocalDistance; float availableFocalLength[2]; float availableApertures; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ float availableFilterDensities; enum optical_stabilization_mode availableOpticalStabilization; uint32_t shadingMapSize; float shadingMap[3][40][30]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t geometricCorrectionMapSize; float geometricCorrectionMap[2][3][40][30]; enum lens_facing facing; float position[2]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; enum sensor_colorfilterarrangement { SENSOR_COLORFILTERARRANGEMENT_RGGB, SENSOR_COLORFILTERARRANGEMENT_GRBG, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ SENSOR_COLORFILTERARRANGEMENT_GBRG, SENSOR_COLORFILTERARRANGEMENT_BGGR, SENSOR_COLORFILTERARRANGEMENT_RGB }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum sensor_ref_illuminant { SENSOR_ILLUMINANT_DAYLIGHT = 1, SENSOR_ILLUMINANT_FLUORESCENT = 2, SENSOR_ILLUMINANT_TUNGSTEN = 3, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ SENSOR_ILLUMINANT_FLASH = 4, SENSOR_ILLUMINANT_FINE_WEATHER = 9, SENSOR_ILLUMINANT_CLOUDY_WEATHER = 10, SENSOR_ILLUMINANT_SHADE = 11, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ SENSOR_ILLUMINANT_DAYLIGHT_FLUORESCENT = 12, SENSOR_ILLUMINANT_DAY_WHITE_FLUORESCENT = 13, SENSOR_ILLUMINANT_COOL_WHITE_FLUORESCENT = 14, SENSOR_ILLUMINANT_WHITE_FLUORESCENT = 15, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ SENSOR_ILLUMINANT_STANDARD_A = 17, SENSOR_ILLUMINANT_STANDARD_B = 18, SENSOR_ILLUMINANT_STANDARD_C = 19, SENSOR_ILLUMINANT_D55 = 20, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ SENSOR_ILLUMINANT_D65 = 21, SENSOR_ILLUMINANT_D75 = 22, SENSOR_ILLUMINANT_D50 = 23, SENSOR_ILLUMINANT_ISO_STUDIO_TUNGSTEN = 24 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_sensor_ctl { uint64_t exposureTime; uint64_t frameDuration; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t sensitivity; }; struct camera2_sensor_dm { uint64_t exposureTime; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint64_t frameDuration; uint32_t sensitivity; uint64_t timeStamp; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_sensor_sm { uint32_t exposureTimeRange[2]; uint32_t maxFrameDuration; uint32_t availableSensitivities[10]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum sensor_colorfilterarrangement colorFilterArrangement; float physicalSize[2]; uint32_t pixelArraySize[2]; uint32_t activeArraySize[4]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t whiteLevel; uint32_t blackLevelPattern[4]; struct rational colorTransform1[9]; struct rational colorTransform2[9]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum sensor_ref_illuminant referenceIlluminant1; enum sensor_ref_illuminant referenceIlluminant2; struct rational forwardMatrix1[9]; struct rational forwardMatrix2[9]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct rational calibrationTransform1[9]; struct rational calibrationTransform2[9]; struct rational baseGainFactor; uint32_t maxAnalogSensitivity; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ float noiseModelCoefficients[2]; uint32_t orientation; }; enum flash_mode { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ CAM2_FLASH_MODE_NOP = 0, CAM2_FLASH_MODE_OFF = 1, CAM2_FLASH_MODE_SINGLE, CAM2_FLASH_MODE_TORCH, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ CAM2_FLASH_MODE_BEST }; struct camera2_flash_ctl { enum flash_mode flashMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t firingPower; uint64_t firingTime; }; struct camera2_flash_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum flash_mode flashMode; uint32_t firingPower; uint64_t firingTime; uint32_t firingStable; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t decision; }; struct camera2_flash_sm { uint32_t available; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint64_t chargeDuration; }; enum processing_mode { PROCESSING_MODE_OFF = 1, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PROCESSING_MODE_FAST, PROCESSING_MODE_HIGH_QUALITY }; struct camera2_hotpixel_ctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum processing_mode mode; }; struct camera2_hotpixel_dm { enum processing_mode mode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_demosaic_ctl { enum processing_mode mode; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_demosaic_dm { enum processing_mode mode; }; struct camera2_noisereduction_ctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum processing_mode mode; uint32_t strength; }; struct camera2_noisereduction_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum processing_mode mode; uint32_t strength; }; struct camera2_shading_ctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum processing_mode mode; }; struct camera2_shading_dm { enum processing_mode mode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_geometric_ctl { enum processing_mode mode; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_geometric_dm { enum processing_mode mode; }; enum colorcorrection_mode { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ COLORCORRECTION_MODE_FAST = 1, COLORCORRECTION_MODE_HIGH_QUALITY, COLORCORRECTION_MODE_TRANSFORM_MATRIX, COLORCORRECTION_MODE_EFFECT_MONO, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ COLORCORRECTION_MODE_EFFECT_NEGATIVE, COLORCORRECTION_MODE_EFFECT_SOLARIZE, COLORCORRECTION_MODE_EFFECT_SEPIA, COLORCORRECTION_MODE_EFFECT_POSTERIZE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ COLORCORRECTION_MODE_EFFECT_WHITEBOARD, COLORCORRECTION_MODE_EFFECT_BLACKBOARD, COLORCORRECTION_MODE_EFFECT_AQUA }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_colorcorrection_ctl { enum colorcorrection_mode mode; float transform[9]; uint32_t hue; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t saturation; uint32_t brightness; }; struct camera2_colorcorrection_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum colorcorrection_mode mode; float transform[9]; uint32_t hue; uint32_t saturation; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t brightness; }; struct camera2_colorcorrection_sm { uint8_t availableModes[CAMERA2_MAX_AVAILABLE_MODE]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t hueRange[2]; uint32_t saturationRange[2]; uint32_t brightnessRange[2]; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum tonemap_mode { TONEMAP_MODE_FAST = 1, TONEMAP_MODE_HIGH_QUALITY, TONEMAP_MODE_CONTRAST_CURVE /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_tonemap_ctl { enum tonemap_mode mode; float curveRed[64]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ float curveGreen[64]; float curveBlue[64]; }; struct camera2_tonemap_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum tonemap_mode mode; float curveRed[64]; float curveGreen[64]; float curveBlue[64]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_tonemap_sm { uint32_t maxCurvePoints; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_edge_ctl { enum processing_mode mode; uint32_t strength; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_edge_dm { enum processing_mode mode; uint32_t strength; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum scaler_availableformats { SCALER_FORMAT_BAYER_RAW, SCALER_FORMAT_YV12, SCALER_FORMAT_NV21, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ SCALER_FORMAT_JPEG, SCALER_FORMAT_UNKNOWN }; struct camera2_scaler_ctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t cropRegion[3]; }; struct camera2_scaler_dm { uint32_t cropRegion[3]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_scaler_sm { enum scaler_availableformats availableFormats[4]; uint32_t availableRawSizes; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint64_t availableRawMinDurations; uint32_t availableProcessedSizes[8]; uint64_t availableProcessedMinDurations[8]; uint32_t availableJpegSizes[8][2]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint64_t availableJpegMinDurations[8]; uint32_t availableMaxDigitalZoom[8]; }; struct camera2_jpeg_ctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t quality; uint32_t thumbnailSize[2]; uint32_t thumbnailQuality; double gpsCoordinates[3]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t gpsProcessingMethod; uint64_t gpsTimestamp; uint32_t orientation; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_jpeg_dm { uint32_t quality; uint32_t thumbnailSize[2]; uint32_t thumbnailQuality; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ double gpsCoordinates[3]; uint32_t gpsProcessingMethod; uint64_t gpsTimestamp; uint32_t orientation; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_jpeg_sm { uint32_t availableThumbnailSizes[8][2]; uint32_t maxSize; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; enum facedetect_mode { FACEDETECT_MODE_OFF = 1, FACEDETECT_MODE_SIMPLE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ FACEDETECT_MODE_FULL }; enum stats_mode { STATS_MODE_OFF = 1, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ STATS_MODE_ON }; struct camera2_stats_ctl { enum facedetect_mode faceDetectMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum stats_mode histogramMode; enum stats_mode sharpnessMapMode; }; struct camera2_stats_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum facedetect_mode faceDetectMode; uint32_t faceRectangles[CAMERA2_MAX_FACES][4]; uint8_t faceScores[CAMERA2_MAX_FACES]; uint32_t faceLandmarks[CAMERA2_MAX_FACES][6]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t faceIds[CAMERA2_MAX_FACES]; enum stats_mode histogramMode; uint32_t histogram[3 * 256]; enum stats_mode sharpnessMapMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_stats_sm { uint8_t availableFaceDetectModes[CAMERA2_MAX_AVAILABLE_MODE]; uint32_t maxFaceCount; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t histogramBucketCount; uint32_t maxHistogramCount; uint32_t sharpnessMapSize[2]; uint32_t maxSharpnessMapValue; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; enum aa_capture_intent { AA_CAPTURE_INTENT_CUSTOM = 0, AA_CAPTURE_INTENT_PREVIEW, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_CAPTURE_INTENT_STILL_CAPTURE, AA_CAPTURE_INTENT_VIDEO_RECORD, AA_CAPTURE_INTENT_VIDEO_SNAPSHOT, AA_CAPTURE_INTENT_ZERO_SHUTTER_LAG /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; enum aa_mode { AA_CONTROL_NONE = 0, AA_CONTROL_OFF, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_CONTROL_AUTO, AA_CONTROL_USE_SCENE_MODE }; enum aa_scene_mode { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_SCENE_MODE_UNSUPPORTED = 1, AA_SCENE_MODE_FACE_PRIORITY, AA_SCENE_MODE_ACTION, AA_SCENE_MODE_PORTRAIT, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_SCENE_MODE_LANDSCAPE, AA_SCENE_MODE_NIGHT, AA_SCENE_MODE_NIGHT_PORTRAIT, AA_SCENE_MODE_THEATRE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_SCENE_MODE_BEACH, AA_SCENE_MODE_SNOW, AA_SCENE_MODE_SUNSET, AA_SCENE_MODE_STEADYPHOTO, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_SCENE_MODE_FIREWORKS, AA_SCENE_MODE_SPORTS, AA_SCENE_MODE_PARTY, AA_SCENE_MODE_CANDLELIGHT, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_SCENE_MODE_BARCODE, AA_SCENE_MODE_NIGHT_CAPTURE, AA_SCENE_MODE_MAX }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum aa_effect_mode { AA_EFFECT_OFF = 1, AA_EFFECT_MONO, AA_EFFECT_NEGATIVE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_EFFECT_SOLARIZE, AA_EFFECT_SEPIA, AA_EFFECT_POSTERIZE, AA_EFFECT_WHITEBOARD, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_EFFECT_BLACKBOARD, AA_EFFECT_AQUA }; enum aa_aemode { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AEMODE_OFF = 1, AA_AEMODE_LOCKED, AA_AEMODE_ON, AA_AEMODE_ON_AUTO_FLASH, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AEMODE_ON_ALWAYS_FLASH, AA_AEMODE_ON_AUTO_FLASH_REDEYE }; enum aa_ae_flashmode { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_FLASHMODE_NOP = 0, AA_FLASHMODE_OFF = 1, AA_FLASHMODE_ON, AA_FLASHMODE_AUTO, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_FLASHMODE_CAPTURE, AA_FLASHMODE_ON_ALWAYS }; enum aa_ae_antibanding_mode { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AE_ANTIBANDING_OFF = 1, AA_AE_ANTIBANDING_50HZ, AA_AE_ANTIBANDING_60HZ, AA_AE_ANTIBANDING_AUTO /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; enum aa_awbmode { AA_AWBMODE_OFF = 1, AA_AWBMODE_LOCKED, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AWBMODE_WB_AUTO, AA_AWBMODE_WB_INCANDESCENT, AA_AWBMODE_WB_FLUORESCENT, AA_AWBMODE_WB_WARM_FLUORESCENT, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AWBMODE_WB_DAYLIGHT, AA_AWBMODE_WB_CLOUDY_DAYLIGHT, AA_AWBMODE_WB_TWILIGHT, AA_AWBMODE_WB_SHADE /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; enum aa_afmode { NO_CHANGE = 0, AA_AFMODE_OFF = 1, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AFMODE_AUTO, AA_AFMODE_MACRO, AA_AFMODE_CONTINUOUS_VIDEO, AA_AFMODE_CONTINUOUS_PICTURE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AFMODE_INFINITY, AA_AFMODE_AUTO_FACE, AA_AFMODE_CONTINUOUS_VIDEO_FACE, AA_AFMODE_CONTINUOUS_PICTURE_FACE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AFMODE_MANUAL, AA_AFMODE_EDOF }; enum aa_afstate { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AFSTATE_INACTIVE = 1, AA_AFSTATE_PASSIVE_SCAN, AA_AFSTATE_ACTIVE_SCAN, AA_AFSTATE_AF_ACQUIRED_FOCUS, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AA_AFSTATE_AF_FAILED_FOCUS }; enum ae_state { AE_STATE_INACTIVE = 1, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AE_STATE_SEARCHING, AE_STATE_CONVERGED, AE_STATE_LOCKED, AE_STATE_FLASH_REQUIRED, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AE_STATE_PRECAPTURE }; enum awb_state { AWB_STATE_INACTIVE = 1, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ AWB_STATE_SEARCHING, AWB_STATE_CONVERGED, AWB_STATE_LOCKED }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum aa_isomode { AA_ISOMODE_AUTO = 1, AA_ISOMODE_MANUAL, }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum ae_lockmode { AEMODE_LOCK_OFF = 0, AEMODE_LOCK_ON, }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum awb_lockmode { AWBMODE_LOCK_OFF = 0, AWBMODE_LOCK_ON, }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_aa_ctl { enum aa_capture_intent captureIntent; enum aa_mode mode; enum aa_scene_mode sceneMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t videoStabilizationMode; enum aa_aemode aeMode; uint32_t aeRegions[5]; int32_t aeExpCompensation; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t aeTargetFpsRange[2]; enum aa_ae_antibanding_mode aeAntibandingMode; enum aa_ae_flashmode aeflashMode; enum aa_awbmode awbMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t awbRegions[5]; enum aa_afmode afMode; uint32_t afRegions[5]; uint32_t afTrigger; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum aa_isomode isoMode; uint32_t isoValue; }; struct camera2_aa_dm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum aa_mode mode; enum aa_effect_mode effectMode; enum aa_scene_mode sceneMode; uint32_t videoStabilizationMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum aa_aemode aeMode; uint32_t aeRegions[5]; enum ae_state aeState; enum aa_ae_flashmode aeflashMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum aa_awbmode awbMode; uint32_t awbRegions[5]; enum awb_state awbState; enum aa_afmode afMode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t afRegions[5]; enum aa_afstate afState; enum aa_isomode isoMode; uint32_t isoValue; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_aa_sm { uint8_t availableSceneModes[CAMERA2_MAX_AVAILABLE_MODE]; uint8_t availableEffects[CAMERA2_MAX_AVAILABLE_MODE]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t maxRegions; uint8_t aeAvailableModes[CAMERA2_MAX_AVAILABLE_MODE]; struct rational aeCompensationStep; int32_t aeCompensationRange[2]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t aeAvailableTargetFpsRanges[CAMERA2_MAX_AVAILABLE_MODE][2]; uint8_t aeAvailableAntibandingModes[CAMERA2_MAX_AVAILABLE_MODE]; uint8_t awbAvailableModes[CAMERA2_MAX_AVAILABLE_MODE]; uint8_t afAvailableModes[CAMERA2_MAX_AVAILABLE_MODE]; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint8_t availableVideoStabilizationModes[4]; uint32_t isoRange[2]; }; struct camera2_lens_usm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t focusDistanceFrameDelay; }; struct camera2_sensor_usm { uint32_t exposureTimeFrameDelay; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t frameDurationFrameDelay; uint32_t sensitivityFrameDelay; }; struct camera2_flash_usm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t flashModeFrameDelay; uint32_t firingPowerFrameDelay; uint64_t firingTimeFrameDelay; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_ctl { struct camera2_request_ctl request; struct camera2_lens_ctl lens; struct camera2_sensor_ctl sensor; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_flash_ctl flash; struct camera2_hotpixel_ctl hotpixel; struct camera2_demosaic_ctl demosaic; struct camera2_noisereduction_ctl noise; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_shading_ctl shading; struct camera2_geometric_ctl geometric; struct camera2_colorcorrection_ctl color; struct camera2_tonemap_ctl tonemap; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_edge_ctl edge; struct camera2_scaler_ctl scaler; struct camera2_jpeg_ctl jpeg; struct camera2_stats_ctl stats; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_aa_ctl aa; }; struct camera2_dm { struct camera2_request_dm request; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_lens_dm lens; struct camera2_sensor_dm sensor; struct camera2_flash_dm flash; struct camera2_hotpixel_dm hotpixel; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_demosaic_dm demosaic; struct camera2_noisereduction_dm noise; struct camera2_shading_dm shading; struct camera2_geometric_dm geometric; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_colorcorrection_dm color; struct camera2_tonemap_dm tonemap; struct camera2_edge_dm edge; struct camera2_scaler_dm scaler; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_jpeg_dm jpeg; struct camera2_stats_dm stats; struct camera2_aa_dm aa; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_sm { struct camera2_lens_sm lens; struct camera2_sensor_sm sensor; struct camera2_flash_sm flash; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_colorcorrection_sm color; struct camera2_tonemap_sm tonemap; struct camera2_scaler_sm scaler; struct camera2_jpeg_sm jpeg; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_stats_sm stats; struct camera2_aa_sm aa; struct camera2_lens_usm lensUd; struct camera2_sensor_usm sensorUd; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_flash_usm flashUd; }; struct camera2_lens_uctl { struct camera2_lens_ctl ctl; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t maxPos; uint32_t slewRate; }; struct camera2_lens_udm { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t maxPos; uint32_t slewRate; }; struct camera2_sensor_uctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_sensor_ctl ctl; uint64_t dynamicFrameDuration; }; struct camera2_scaler_uctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t sccTargetAddress[4]; uint32_t scpTargetAddress[4]; }; struct camera2_flash_uctl { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_flash_ctl ctl; }; struct camera2_uctl { uint32_t uUpdateBitMap; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t uFrameNumber; struct camera2_lens_uctl lensUd; struct camera2_sensor_uctl sensorUd; struct camera2_flash_uctl flashUd; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_scaler_uctl scalerUd; }; struct camera2_udm { struct camera2_lens_udm lens; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; struct camera2_shot { struct camera2_ctl ctl; struct camera2_dm dm; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_uctl uctl; struct camera2_udm udm; uint32_t magicNumber; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct camera2_shot_ext { uint32_t setfile; uint32_t request_sensor; uint32_t request_scc; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t request_scp; uint32_t drc_bypass; uint32_t dis_bypass; uint32_t dnr_bypass; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t fd_bypass; uint32_t reserved[20]; uint32_t timeZone[10][2]; struct camera2_shot shot; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint8_t gpsProcessingMethod[32]; uint8_t isReprocessing; uint8_t reprocessInput; enum ae_lockmode ae_lock; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum awb_lockmode awb_lock; enum aa_awbmode awb_mode_dm; }; struct camera2_stream { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ uint32_t address; uint32_t fcount; uint32_t rcount; uint32_t findex; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; #define CAM_LENS_CMD (0x1 << 0x0) #define CAM_SENSOR_CMD (0x1 << 0x1) #define CAM_FLASH_CMD (0x1 << 0x2) /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif