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