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_ 21struct 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 30enum metadata_mode { 31 METADATA_MODE_NONE, 32 METADATA_MODE_FULL 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34}; 35struct 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}; 42struct 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 */ 49enum 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 */ 54enum lens_facing { 55 LENS_FACING_BACK, 56 LENS_FACING_FRONT 57}; 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59struct 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}; 67struct 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}; 77struct 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}; 95enum 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 */ 104enum 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}; 130struct 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}; 136struct 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 */ 144struct 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}; 172enum 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}; 181struct 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}; 187struct 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}; 196struct camera2_flash_sm { 197 uint32_t available; 198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 uint64_t chargeDuration; 200}; 201enum 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}; 207struct camera2_hotpixel_ctl { 208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 enum processing_mode mode; 210}; 211struct camera2_hotpixel_dm { 212 enum processing_mode mode; 213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214}; 215struct camera2_demosaic_ctl { 216 enum processing_mode mode; 217}; 218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219struct camera2_demosaic_dm { 220 enum processing_mode mode; 221}; 222struct 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}; 227struct 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}; 232struct camera2_shading_ctl { 233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 enum processing_mode mode; 235}; 236struct camera2_shading_dm { 237 enum processing_mode mode; 238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239}; 240struct camera2_geometric_ctl { 241 enum processing_mode mode; 242}; 243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244struct camera2_geometric_dm { 245 enum processing_mode mode; 246}; 247enum 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 */ 264struct 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}; 272struct 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}; 281struct 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 */ 289enum 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}; 295struct 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}; 302struct 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}; 310struct camera2_tonemap_sm { 311 uint32_t maxCurvePoints; 312}; 313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314struct 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 */ 319struct 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 */ 324enum 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}; 332struct camera2_scaler_ctl { 333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 uint32_t cropRegion[3]; 335}; 336struct camera2_scaler_dm { 337 uint32_t cropRegion[3]; 338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339}; 340struct 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}; 352struct 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 */ 364struct 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}; 375struct 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}; 380enum 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}; 386enum stats_mode { 387 STATS_MODE_OFF = 1, 388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 STATS_MODE_ON 390}; 391struct 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}; 397struct 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}; 410struct 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}; 420enum 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}; 430enum 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}; 437enum 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 */ 464enum 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}; 477enum 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}; 487enum 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}; 497enum 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}; 505enum 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}; 520enum 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}; 537enum 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}; 546enum 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}; 556enum 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 */ 564enum aa_isomode { 565 AA_ISOMODE_AUTO = 1, 566 AA_ISOMODE_MANUAL, 567}; 568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569enum ae_lockmode { 570 AEMODE_LOCK_OFF = 0, 571 AEMODE_LOCK_ON, 572}; 573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574enum awb_lockmode { 575 AWBMODE_LOCK_OFF = 0, 576 AWBMODE_LOCK_ON, 577}; 578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579struct 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}; 602struct 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}; 625struct 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}; 642struct camera2_lens_usm { 643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644 uint32_t focusDistanceFrameDelay; 645}; 646struct 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}; 652struct 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 */ 659struct 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}; 681struct 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 */ 704struct 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}; 721struct 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}; 727struct camera2_lens_udm { 728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 729 uint32_t maxPos; 730 uint32_t slewRate; 731}; 732struct 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}; 737struct 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}; 742struct camera2_flash_uctl { 743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 744 struct camera2_flash_ctl ctl; 745}; 746struct 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}; 756struct camera2_udm { 757 struct camera2_lens_udm lens; 758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 759}; 760struct 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 */ 769struct 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}; 792struct 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