Home | History | Annotate | Download | only in libcamera2
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef FIMC_IS_METADATA_H_
     20 #define FIMC_IS_METADATA_H_
     21 struct rational {
     22  uint32_t num;
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24  uint32_t den;
     25 };
     26 #define CAMERA2_MAX_AVAILABLE_MODE 21
     27 #define CAMERA2_MAX_FACES 16
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define CAMERA2_FACE_DETECTION_THRESHOLD 35
     30 enum metadata_mode {
     31  METADATA_MODE_NONE,
     32  METADATA_MODE_FULL
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 };
     35 struct camera2_request_ctl {
     36  uint32_t id;
     37  enum metadata_mode metadataMode;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39  uint8_t outputStreams[16];
     40  uint32_t frameCount;
     41 };
     42 struct camera2_request_dm {
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  uint32_t id;
     45  enum metadata_mode metadataMode;
     46  uint32_t frameCount;
     47 };
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 enum optical_stabilization_mode {
     50  OPTICAL_STABILIZATION_MODE_OFF,
     51  OPTICAL_STABILIZATION_MODE_ON
     52 };
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 enum lens_facing {
     55  LENS_FACING_BACK,
     56  LENS_FACING_FRONT
     57 };
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 struct camera2_lens_ctl {
     60  uint32_t focusDistance;
     61  float aperture;
     62  float focalLength;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64  float filterDensity;
     65  enum optical_stabilization_mode opticalStabilizationMode;
     66 };
     67 struct camera2_lens_dm {
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  uint32_t focusDistance;
     70  float aperture;
     71  float focalLength;
     72  float filterDensity;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  enum optical_stabilization_mode opticalStabilizationMode;
     75  float focusRange[2];
     76 };
     77 struct camera2_lens_sm {
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  float minimumFocusDistance;
     80  float hyperfocalDistance;
     81  float availableFocalLength[2];
     82  float availableApertures;
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  float availableFilterDensities;
     85  enum optical_stabilization_mode availableOpticalStabilization;
     86  uint32_t shadingMapSize;
     87  float shadingMap[3][40][30];
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  uint32_t geometricCorrectionMapSize;
     90  float geometricCorrectionMap[2][3][40][30];
     91  enum lens_facing facing;
     92  float position[2];
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 };
     95 enum sensor_colorfilterarrangement {
     96  SENSOR_COLORFILTERARRANGEMENT_RGGB,
     97  SENSOR_COLORFILTERARRANGEMENT_GRBG,
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  SENSOR_COLORFILTERARRANGEMENT_GBRG,
    100  SENSOR_COLORFILTERARRANGEMENT_BGGR,
    101  SENSOR_COLORFILTERARRANGEMENT_RGB
    102 };
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 enum sensor_ref_illuminant {
    105  SENSOR_ILLUMINANT_DAYLIGHT = 1,
    106  SENSOR_ILLUMINANT_FLUORESCENT = 2,
    107  SENSOR_ILLUMINANT_TUNGSTEN = 3,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  SENSOR_ILLUMINANT_FLASH = 4,
    110  SENSOR_ILLUMINANT_FINE_WEATHER = 9,
    111  SENSOR_ILLUMINANT_CLOUDY_WEATHER = 10,
    112  SENSOR_ILLUMINANT_SHADE = 11,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  SENSOR_ILLUMINANT_DAYLIGHT_FLUORESCENT = 12,
    115  SENSOR_ILLUMINANT_DAY_WHITE_FLUORESCENT = 13,
    116  SENSOR_ILLUMINANT_COOL_WHITE_FLUORESCENT = 14,
    117  SENSOR_ILLUMINANT_WHITE_FLUORESCENT = 15,
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  SENSOR_ILLUMINANT_STANDARD_A = 17,
    120  SENSOR_ILLUMINANT_STANDARD_B = 18,
    121  SENSOR_ILLUMINANT_STANDARD_C = 19,
    122  SENSOR_ILLUMINANT_D55 = 20,
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  SENSOR_ILLUMINANT_D65 = 21,
    125  SENSOR_ILLUMINANT_D75 = 22,
    126  SENSOR_ILLUMINANT_D50 = 23,
    127  SENSOR_ILLUMINANT_ISO_STUDIO_TUNGSTEN = 24
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 };
    130 struct camera2_sensor_ctl {
    131  uint64_t exposureTime;
    132  uint64_t frameDuration;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  uint32_t sensitivity;
    135 };
    136 struct camera2_sensor_dm {
    137  uint64_t exposureTime;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  uint64_t frameDuration;
    140  uint32_t sensitivity;
    141  uint64_t timeStamp;
    142 };
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 struct camera2_sensor_sm {
    145  uint32_t exposureTimeRange[2];
    146  uint32_t maxFrameDuration;
    147  uint32_t availableSensitivities[10];
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  enum sensor_colorfilterarrangement colorFilterArrangement;
    150  float physicalSize[2];
    151  uint32_t pixelArraySize[2];
    152  uint32_t activeArraySize[4];
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154  uint32_t whiteLevel;
    155  uint32_t blackLevelPattern[4];
    156  struct rational colorTransform1[9];
    157  struct rational colorTransform2[9];
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159  enum sensor_ref_illuminant referenceIlluminant1;
    160  enum sensor_ref_illuminant referenceIlluminant2;
    161  struct rational forwardMatrix1[9];
    162  struct rational forwardMatrix2[9];
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164  struct rational calibrationTransform1[9];
    165  struct rational calibrationTransform2[9];
    166  struct rational baseGainFactor;
    167  uint32_t maxAnalogSensitivity;
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169  float noiseModelCoefficients[2];
    170  uint32_t orientation;
    171 };
    172 enum flash_mode {
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174  CAM2_FLASH_MODE_NOP = 0,
    175  CAM2_FLASH_MODE_OFF = 1,
    176  CAM2_FLASH_MODE_SINGLE,
    177  CAM2_FLASH_MODE_TORCH,
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179  CAM2_FLASH_MODE_BEST
    180 };
    181 struct camera2_flash_ctl {
    182  enum flash_mode flashMode;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184  uint32_t firingPower;
    185  uint64_t firingTime;
    186 };
    187 struct camera2_flash_dm {
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189  enum flash_mode flashMode;
    190  uint32_t firingPower;
    191  uint64_t firingTime;
    192  uint32_t firingStable;
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194  uint32_t decision;
    195 };
    196 struct camera2_flash_sm {
    197  uint32_t available;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199  uint64_t chargeDuration;
    200 };
    201 enum processing_mode {
    202  PROCESSING_MODE_OFF = 1,
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204  PROCESSING_MODE_FAST,
    205  PROCESSING_MODE_HIGH_QUALITY
    206 };
    207 struct camera2_hotpixel_ctl {
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  enum processing_mode mode;
    210 };
    211 struct camera2_hotpixel_dm {
    212  enum processing_mode mode;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 };
    215 struct camera2_demosaic_ctl {
    216  enum processing_mode mode;
    217 };
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 struct camera2_demosaic_dm {
    220  enum processing_mode mode;
    221 };
    222 struct camera2_noisereduction_ctl {
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224  enum processing_mode mode;
    225  uint32_t strength;
    226 };
    227 struct camera2_noisereduction_dm {
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229  enum processing_mode mode;
    230  uint32_t strength;
    231 };
    232 struct camera2_shading_ctl {
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234  enum processing_mode mode;
    235 };
    236 struct camera2_shading_dm {
    237  enum processing_mode mode;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 };
    240 struct camera2_geometric_ctl {
    241  enum processing_mode mode;
    242 };
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 struct camera2_geometric_dm {
    245  enum processing_mode mode;
    246 };
    247 enum colorcorrection_mode {
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  COLORCORRECTION_MODE_FAST = 1,
    250  COLORCORRECTION_MODE_HIGH_QUALITY,
    251  COLORCORRECTION_MODE_TRANSFORM_MATRIX,
    252  COLORCORRECTION_MODE_EFFECT_MONO,
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  COLORCORRECTION_MODE_EFFECT_NEGATIVE,
    255  COLORCORRECTION_MODE_EFFECT_SOLARIZE,
    256  COLORCORRECTION_MODE_EFFECT_SEPIA,
    257  COLORCORRECTION_MODE_EFFECT_POSTERIZE,
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  COLORCORRECTION_MODE_EFFECT_WHITEBOARD,
    260  COLORCORRECTION_MODE_EFFECT_BLACKBOARD,
    261  COLORCORRECTION_MODE_EFFECT_AQUA
    262 };
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 struct camera2_colorcorrection_ctl {
    265  enum colorcorrection_mode mode;
    266  float transform[9];
    267  uint32_t hue;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  uint32_t saturation;
    270  uint32_t brightness;
    271 };
    272 struct camera2_colorcorrection_dm {
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274  enum colorcorrection_mode mode;
    275  float transform[9];
    276  uint32_t hue;
    277  uint32_t saturation;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  uint32_t brightness;
    280 };
    281 struct camera2_colorcorrection_sm {
    282  uint8_t availableModes[CAMERA2_MAX_AVAILABLE_MODE];
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  uint32_t hueRange[2];
    285  uint32_t saturationRange[2];
    286  uint32_t brightnessRange[2];
    287 };
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 enum tonemap_mode {
    290  TONEMAP_MODE_FAST = 1,
    291  TONEMAP_MODE_HIGH_QUALITY,
    292  TONEMAP_MODE_CONTRAST_CURVE
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294 };
    295 struct camera2_tonemap_ctl {
    296  enum tonemap_mode mode;
    297  float curveRed[64];
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299  float curveGreen[64];
    300  float curveBlue[64];
    301 };
    302 struct camera2_tonemap_dm {
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304  enum tonemap_mode mode;
    305  float curveRed[64];
    306  float curveGreen[64];
    307  float curveBlue[64];
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 };
    310 struct camera2_tonemap_sm {
    311  uint32_t maxCurvePoints;
    312 };
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314 struct camera2_edge_ctl {
    315  enum processing_mode mode;
    316  uint32_t strength;
    317 };
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319 struct camera2_edge_dm {
    320  enum processing_mode mode;
    321  uint32_t strength;
    322 };
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324 enum scaler_availableformats {
    325  SCALER_FORMAT_BAYER_RAW,
    326  SCALER_FORMAT_YV12,
    327  SCALER_FORMAT_NV21,
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329  SCALER_FORMAT_JPEG,
    330  SCALER_FORMAT_UNKNOWN
    331 };
    332 struct camera2_scaler_ctl {
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  uint32_t cropRegion[3];
    335 };
    336 struct camera2_scaler_dm {
    337  uint32_t cropRegion[3];
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339 };
    340 struct camera2_scaler_sm {
    341  enum scaler_availableformats availableFormats[4];
    342  uint32_t availableRawSizes;
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  uint64_t availableRawMinDurations;
    345  uint32_t availableProcessedSizes[8];
    346  uint64_t availableProcessedMinDurations[8];
    347  uint32_t availableJpegSizes[8][2];
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  uint64_t availableJpegMinDurations[8];
    350  uint32_t availableMaxDigitalZoom[8];
    351 };
    352 struct camera2_jpeg_ctl {
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  uint32_t quality;
    355  uint32_t thumbnailSize[2];
    356  uint32_t thumbnailQuality;
    357  double gpsCoordinates[3];
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  uint32_t gpsProcessingMethod;
    360  uint64_t gpsTimestamp;
    361  uint32_t orientation;
    362 };
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364 struct camera2_jpeg_dm {
    365  uint32_t quality;
    366  uint32_t thumbnailSize[2];
    367  uint32_t thumbnailQuality;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  double gpsCoordinates[3];
    370  uint32_t gpsProcessingMethod;
    371  uint64_t gpsTimestamp;
    372  uint32_t orientation;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374 };
    375 struct camera2_jpeg_sm {
    376  uint32_t availableThumbnailSizes[8][2];
    377  uint32_t maxSize;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 };
    380 enum facedetect_mode {
    381  FACEDETECT_MODE_OFF = 1,
    382  FACEDETECT_MODE_SIMPLE,
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  FACEDETECT_MODE_FULL
    385 };
    386 enum stats_mode {
    387  STATS_MODE_OFF = 1,
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  STATS_MODE_ON
    390 };
    391 struct camera2_stats_ctl {
    392  enum facedetect_mode faceDetectMode;
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  enum stats_mode histogramMode;
    395  enum stats_mode sharpnessMapMode;
    396 };
    397 struct camera2_stats_dm {
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  enum facedetect_mode faceDetectMode;
    400  uint32_t faceRectangles[CAMERA2_MAX_FACES][4];
    401  uint8_t faceScores[CAMERA2_MAX_FACES];
    402  uint32_t faceLandmarks[CAMERA2_MAX_FACES][6];
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  uint32_t faceIds[CAMERA2_MAX_FACES];
    405  enum stats_mode histogramMode;
    406  uint32_t histogram[3 * 256];
    407  enum stats_mode sharpnessMapMode;
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409 };
    410 struct camera2_stats_sm {
    411  uint8_t availableFaceDetectModes[CAMERA2_MAX_AVAILABLE_MODE];
    412  uint32_t maxFaceCount;
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414  uint32_t histogramBucketCount;
    415  uint32_t maxHistogramCount;
    416  uint32_t sharpnessMapSize[2];
    417  uint32_t maxSharpnessMapValue;
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419 };
    420 enum aa_capture_intent {
    421  AA_CAPTURE_INTENT_CUSTOM = 0,
    422  AA_CAPTURE_INTENT_PREVIEW,
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424  AA_CAPTURE_INTENT_STILL_CAPTURE,
    425  AA_CAPTURE_INTENT_VIDEO_RECORD,
    426  AA_CAPTURE_INTENT_VIDEO_SNAPSHOT,
    427  AA_CAPTURE_INTENT_ZERO_SHUTTER_LAG
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429 };
    430 enum aa_mode {
    431  AA_CONTROL_NONE = 0,
    432  AA_CONTROL_OFF,
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434  AA_CONTROL_AUTO,
    435  AA_CONTROL_USE_SCENE_MODE
    436 };
    437 enum aa_scene_mode {
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439  AA_SCENE_MODE_UNSUPPORTED = 1,
    440  AA_SCENE_MODE_FACE_PRIORITY,
    441  AA_SCENE_MODE_ACTION,
    442  AA_SCENE_MODE_PORTRAIT,
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444  AA_SCENE_MODE_LANDSCAPE,
    445  AA_SCENE_MODE_NIGHT,
    446  AA_SCENE_MODE_NIGHT_PORTRAIT,
    447  AA_SCENE_MODE_THEATRE,
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449  AA_SCENE_MODE_BEACH,
    450  AA_SCENE_MODE_SNOW,
    451  AA_SCENE_MODE_SUNSET,
    452  AA_SCENE_MODE_STEADYPHOTO,
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454  AA_SCENE_MODE_FIREWORKS,
    455  AA_SCENE_MODE_SPORTS,
    456  AA_SCENE_MODE_PARTY,
    457  AA_SCENE_MODE_CANDLELIGHT,
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459  AA_SCENE_MODE_BARCODE,
    460  AA_SCENE_MODE_NIGHT_CAPTURE,
    461  AA_SCENE_MODE_MAX
    462 };
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464 enum aa_effect_mode {
    465  AA_EFFECT_OFF = 1,
    466  AA_EFFECT_MONO,
    467  AA_EFFECT_NEGATIVE,
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469  AA_EFFECT_SOLARIZE,
    470  AA_EFFECT_SEPIA,
    471  AA_EFFECT_POSTERIZE,
    472  AA_EFFECT_WHITEBOARD,
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  AA_EFFECT_BLACKBOARD,
    475  AA_EFFECT_AQUA
    476 };
    477 enum aa_aemode {
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479  AA_AEMODE_OFF = 1,
    480  AA_AEMODE_LOCKED,
    481  AA_AEMODE_ON,
    482  AA_AEMODE_ON_AUTO_FLASH,
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484  AA_AEMODE_ON_ALWAYS_FLASH,
    485  AA_AEMODE_ON_AUTO_FLASH_REDEYE
    486 };
    487 enum aa_ae_flashmode {
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489  AA_FLASHMODE_NOP = 0,
    490  AA_FLASHMODE_OFF = 1,
    491  AA_FLASHMODE_ON,
    492  AA_FLASHMODE_AUTO,
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494  AA_FLASHMODE_CAPTURE,
    495  AA_FLASHMODE_ON_ALWAYS
    496 };
    497 enum aa_ae_antibanding_mode {
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499  AA_AE_ANTIBANDING_OFF = 1,
    500  AA_AE_ANTIBANDING_50HZ,
    501  AA_AE_ANTIBANDING_60HZ,
    502  AA_AE_ANTIBANDING_AUTO
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504 };
    505 enum aa_awbmode {
    506  AA_AWBMODE_OFF = 1,
    507  AA_AWBMODE_LOCKED,
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509  AA_AWBMODE_WB_AUTO,
    510  AA_AWBMODE_WB_INCANDESCENT,
    511  AA_AWBMODE_WB_FLUORESCENT,
    512  AA_AWBMODE_WB_WARM_FLUORESCENT,
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514  AA_AWBMODE_WB_DAYLIGHT,
    515  AA_AWBMODE_WB_CLOUDY_DAYLIGHT,
    516  AA_AWBMODE_WB_TWILIGHT,
    517  AA_AWBMODE_WB_SHADE
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519 };
    520 enum aa_afmode {
    521  NO_CHANGE = 0,
    522  AA_AFMODE_OFF = 1,
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524  AA_AFMODE_AUTO,
    525  AA_AFMODE_MACRO,
    526  AA_AFMODE_CONTINUOUS_VIDEO,
    527  AA_AFMODE_CONTINUOUS_PICTURE,
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  AA_AFMODE_INFINITY,
    530  AA_AFMODE_AUTO_FACE,
    531  AA_AFMODE_CONTINUOUS_VIDEO_FACE,
    532  AA_AFMODE_CONTINUOUS_PICTURE_FACE,
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534  AA_AFMODE_MANUAL,
    535  AA_AFMODE_EDOF
    536 };
    537 enum aa_afstate {
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539  AA_AFSTATE_INACTIVE = 1,
    540  AA_AFSTATE_PASSIVE_SCAN,
    541  AA_AFSTATE_ACTIVE_SCAN,
    542  AA_AFSTATE_AF_ACQUIRED_FOCUS,
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544  AA_AFSTATE_AF_FAILED_FOCUS
    545 };
    546 enum ae_state {
    547  AE_STATE_INACTIVE = 1,
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549  AE_STATE_SEARCHING,
    550  AE_STATE_CONVERGED,
    551  AE_STATE_LOCKED,
    552  AE_STATE_FLASH_REQUIRED,
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554  AE_STATE_PRECAPTURE
    555 };
    556 enum awb_state {
    557  AWB_STATE_INACTIVE = 1,
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559  AWB_STATE_SEARCHING,
    560  AWB_STATE_CONVERGED,
    561  AWB_STATE_LOCKED
    562 };
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564 enum aa_isomode {
    565  AA_ISOMODE_AUTO = 1,
    566  AA_ISOMODE_MANUAL,
    567 };
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569 enum ae_lockmode {
    570  AEMODE_LOCK_OFF = 0,
    571  AEMODE_LOCK_ON,
    572 };
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574 enum awb_lockmode {
    575  AWBMODE_LOCK_OFF = 0,
    576  AWBMODE_LOCK_ON,
    577 };
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579 struct camera2_aa_ctl {
    580  enum aa_capture_intent captureIntent;
    581  enum aa_mode mode;
    582  enum aa_scene_mode sceneMode;
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584  uint32_t videoStabilizationMode;
    585  enum aa_aemode aeMode;
    586  uint32_t aeRegions[5];
    587  int32_t aeExpCompensation;
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589  uint32_t aeTargetFpsRange[2];
    590  enum aa_ae_antibanding_mode aeAntibandingMode;
    591  enum aa_ae_flashmode aeflashMode;
    592  enum aa_awbmode awbMode;
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594  uint32_t awbRegions[5];
    595  enum aa_afmode afMode;
    596  uint32_t afRegions[5];
    597  uint32_t afTrigger;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599  enum aa_isomode isoMode;
    600  uint32_t isoValue;
    601 };
    602 struct camera2_aa_dm {
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604  enum aa_mode mode;
    605  enum aa_effect_mode effectMode;
    606  enum aa_scene_mode sceneMode;
    607  uint32_t videoStabilizationMode;
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609  enum aa_aemode aeMode;
    610  uint32_t aeRegions[5];
    611  enum ae_state aeState;
    612  enum aa_ae_flashmode aeflashMode;
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614  enum aa_awbmode awbMode;
    615  uint32_t awbRegions[5];
    616  enum awb_state awbState;
    617  enum aa_afmode afMode;
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619  uint32_t afRegions[5];
    620  enum aa_afstate afState;
    621  enum aa_isomode isoMode;
    622  uint32_t isoValue;
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624 };
    625 struct camera2_aa_sm {
    626  uint8_t availableSceneModes[CAMERA2_MAX_AVAILABLE_MODE];
    627  uint8_t availableEffects[CAMERA2_MAX_AVAILABLE_MODE];
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629  uint32_t maxRegions;
    630  uint8_t aeAvailableModes[CAMERA2_MAX_AVAILABLE_MODE];
    631  struct rational aeCompensationStep;
    632  int32_t aeCompensationRange[2];
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634  uint32_t aeAvailableTargetFpsRanges[CAMERA2_MAX_AVAILABLE_MODE][2];
    635  uint8_t aeAvailableAntibandingModes[CAMERA2_MAX_AVAILABLE_MODE];
    636  uint8_t awbAvailableModes[CAMERA2_MAX_AVAILABLE_MODE];
    637  uint8_t afAvailableModes[CAMERA2_MAX_AVAILABLE_MODE];
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639  uint8_t availableVideoStabilizationModes[4];
    640  uint32_t isoRange[2];
    641 };
    642 struct camera2_lens_usm {
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644  uint32_t focusDistanceFrameDelay;
    645 };
    646 struct camera2_sensor_usm {
    647  uint32_t exposureTimeFrameDelay;
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649  uint32_t frameDurationFrameDelay;
    650  uint32_t sensitivityFrameDelay;
    651 };
    652 struct camera2_flash_usm {
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654  uint32_t flashModeFrameDelay;
    655  uint32_t firingPowerFrameDelay;
    656  uint64_t firingTimeFrameDelay;
    657 };
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659 struct camera2_ctl {
    660  struct camera2_request_ctl request;
    661  struct camera2_lens_ctl lens;
    662  struct camera2_sensor_ctl sensor;
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664  struct camera2_flash_ctl flash;
    665  struct camera2_hotpixel_ctl hotpixel;
    666  struct camera2_demosaic_ctl demosaic;
    667  struct camera2_noisereduction_ctl noise;
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669  struct camera2_shading_ctl shading;
    670  struct camera2_geometric_ctl geometric;
    671  struct camera2_colorcorrection_ctl color;
    672  struct camera2_tonemap_ctl tonemap;
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674  struct camera2_edge_ctl edge;
    675  struct camera2_scaler_ctl scaler;
    676  struct camera2_jpeg_ctl jpeg;
    677  struct camera2_stats_ctl stats;
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679  struct camera2_aa_ctl aa;
    680 };
    681 struct camera2_dm {
    682  struct camera2_request_dm request;
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684  struct camera2_lens_dm lens;
    685  struct camera2_sensor_dm sensor;
    686  struct camera2_flash_dm flash;
    687  struct camera2_hotpixel_dm hotpixel;
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689  struct camera2_demosaic_dm demosaic;
    690  struct camera2_noisereduction_dm noise;
    691  struct camera2_shading_dm shading;
    692  struct camera2_geometric_dm geometric;
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694  struct camera2_colorcorrection_dm color;
    695  struct camera2_tonemap_dm tonemap;
    696  struct camera2_edge_dm edge;
    697  struct camera2_scaler_dm scaler;
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699  struct camera2_jpeg_dm jpeg;
    700  struct camera2_stats_dm stats;
    701  struct camera2_aa_dm aa;
    702 };
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704 struct camera2_sm {
    705  struct camera2_lens_sm lens;
    706  struct camera2_sensor_sm sensor;
    707  struct camera2_flash_sm flash;
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709  struct camera2_colorcorrection_sm color;
    710  struct camera2_tonemap_sm tonemap;
    711  struct camera2_scaler_sm scaler;
    712  struct camera2_jpeg_sm jpeg;
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714  struct camera2_stats_sm stats;
    715  struct camera2_aa_sm aa;
    716  struct camera2_lens_usm lensUd;
    717  struct camera2_sensor_usm sensorUd;
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719  struct camera2_flash_usm flashUd;
    720 };
    721 struct camera2_lens_uctl {
    722  struct camera2_lens_ctl ctl;
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724  uint32_t maxPos;
    725  uint32_t slewRate;
    726 };
    727 struct camera2_lens_udm {
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729  uint32_t maxPos;
    730  uint32_t slewRate;
    731 };
    732 struct camera2_sensor_uctl {
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734  struct camera2_sensor_ctl ctl;
    735  uint64_t dynamicFrameDuration;
    736 };
    737 struct camera2_scaler_uctl {
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739  uint32_t sccTargetAddress[4];
    740  uint32_t scpTargetAddress[4];
    741 };
    742 struct camera2_flash_uctl {
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744  struct camera2_flash_ctl ctl;
    745 };
    746 struct camera2_uctl {
    747  uint32_t uUpdateBitMap;
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749  uint32_t uFrameNumber;
    750  struct camera2_lens_uctl lensUd;
    751  struct camera2_sensor_uctl sensorUd;
    752  struct camera2_flash_uctl flashUd;
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754  struct camera2_scaler_uctl scalerUd;
    755 };
    756 struct camera2_udm {
    757  struct camera2_lens_udm lens;
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759 };
    760 struct camera2_shot {
    761  struct camera2_ctl ctl;
    762  struct camera2_dm dm;
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764  struct camera2_uctl uctl;
    765  struct camera2_udm udm;
    766  uint32_t magicNumber;
    767 };
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769 struct camera2_shot_ext {
    770  uint32_t setfile;
    771  uint32_t request_sensor;
    772  uint32_t request_scc;
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774  uint32_t request_scp;
    775  uint32_t drc_bypass;
    776  uint32_t dis_bypass;
    777  uint32_t dnr_bypass;
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779  uint32_t fd_bypass;
    780  uint32_t reserved[20];
    781  uint32_t timeZone[10][2];
    782  struct camera2_shot shot;
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784  uint8_t gpsProcessingMethod[32];
    785  uint8_t isReprocessing;
    786  uint8_t reprocessInput;
    787  enum ae_lockmode ae_lock;
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789  enum awb_lockmode awb_lock;
    790  enum aa_awbmode awb_mode_dm;
    791 };
    792 struct camera2_stream {
    793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    794  uint32_t address;
    795  uint32_t fcount;
    796  uint32_t rcount;
    797  uint32_t findex;
    798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    799 };
    800 #define CAM_LENS_CMD (0x1 << 0x0)
    801 #define CAM_SENSOR_CMD (0x1 << 0x1)
    802 #define CAM_FLASH_CMD (0x1 << 0x2)
    803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    804 #endif
    805 
    806