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