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