• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef CAMERA_DEVICE_ABILITY_ITEMS_H
17 #define CAMERA_DEVICE_ABILITY_ITEMS_H
18 
19 typedef enum camera_ability_section {
20     // Camera attribute information: position(facing), type, connection, description, sensor, lens description
21     OHOS_CAMERA_PROPERTIES = 0,
22     OHOS_CAMERA_LENS,
23     OHOS_CAMERA_SENSOR,
24     OHOS_CAMERA_SENSOR_INFO,
25     OHOS_CAMERA_STATISTICS,
26 
27     // Camera device image acquisition
28     OHOS_DEVICE_CONTROL = 0x1000, // Overall control, such as turning off automatic 3A, operating mode
29     OHOS_DEVICE_EXPOSURE,
30     OHOS_DEVICE_FOCUS,
31     OHOS_DEVICE_WHITE_BLANCE,
32     OHOS_DEVICE_FLASH,
33     OHOS_DEVICE_ZOOM,
34     OHOS_LIGHT_STATUS,
35 
36     // Camera effects & algorithms
37     OHOS_CAMERA_EFFECT = 0x2000,
38 
39     // Camera flow control related
40     OHOS_STREAM_ABILITY = 0x3000,
41     OHOS_STREAM_CONTROL, // General control: frame rate, resolution, mirroring
42     OHOS_STREAM_JPEG,
43     OHOS_STREAM_VIDEO, // Video encoding related
44     OHOS_STREAM_DEPTH,
45     OHOS_STREAM_METADATA,
46     OHOS_STREAM_METADATA_FACE,
47     OHOS_STREAM_METADATA_BODY,
48 
49     // Secure camera control related
50     OHOS_CAMERA_SECURE = 0x4000,
51     // Xmage camera ability
52     OHOS_XMAGE_COLOR_ABILITY = 0x5000,
53 
54     OHOS_ABILITY_SECTION_END = 0x6000,
55 
56     // Start vendor tag section
57     OHOS_VENDOR_SECTION = 0X8000
58 } camera_ability_section_t;
59 
60 typedef enum camera_device_metadata_section_start {
61     OHOS_CAMERA_PROPERTIES_START = OHOS_CAMERA_PROPERTIES << 16,
62     OHOS_CAMERA_LENS_START = OHOS_CAMERA_LENS << 16,
63     OHOS_CAMERA_SENSOR_START = OHOS_CAMERA_SENSOR << 16,
64     OHOS_CAMERA_SENSOR_INFO_START = OHOS_CAMERA_SENSOR_INFO << 16,
65     OHOS_CAMERA_STATISTICS_START = OHOS_CAMERA_STATISTICS << 16,
66 
67     OHOS_DEVICE_CONTROL_START = OHOS_DEVICE_CONTROL << 16,
68     OHOS_DEVICE_EXPOSURE_START = OHOS_DEVICE_EXPOSURE << 16,
69     OHOS_DEVICE_FOCUS_START = OHOS_DEVICE_FOCUS << 16,
70     OHOS_DEVICE_WHITE_BLANCE_START = OHOS_DEVICE_WHITE_BLANCE << 16,
71     OHOS_DEVICE_FLASH_START = OHOS_DEVICE_FLASH << 16,
72     OHOS_DEVICE_ZOOM_START = OHOS_DEVICE_ZOOM << 16,
73 
74     OHOS_CAMERA_EFFECT_START = OHOS_CAMERA_EFFECT << 16,
75 
76     OHOS_STREAM_ABILITY_START = OHOS_STREAM_ABILITY << 16,
77     OHOS_STREAM_CONTROL_START = OHOS_STREAM_CONTROL << 16,
78     OHOS_STREAM_JPEG_START = OHOS_STREAM_JPEG << 16,
79     OHOS_STREAM_VIDEO_START = OHOS_STREAM_VIDEO << 16,
80     OHOS_STREAM_DEPTH_START = OHOS_STREAM_DEPTH << 16,
81     OHOS_STREAM_METADATA_START = OHOS_STREAM_METADATA << 16,
82     OHOS_STREAM_METADATA_FACE_START = OHOS_STREAM_METADATA_FACE << 16,
83     OHOS_STREAM_METADATA_BODY_START = OHOS_STREAM_METADATA_BODY << 16,
84 
85     OHOS_CAMERA_SECURE_START = OHOS_CAMERA_SECURE << 16,
86 
87     OHOS_XMAGE_COLOR_MODES_START = OHOS_XMAGE_COLOR_ABILITY << 16,
88     OHOS_VENDOR_SECTION_START = OHOS_VENDOR_SECTION << 16,
89     OHOS_LIGHT_STATUS_START = OHOS_LIGHT_STATUS << 16,
90 } camera_device_info_section_start_t;
91 
92 typedef enum camera_device_metadata_tag {
93     // Camera attribute related item
94     /**
95      * ohos.ability.cameraPositon [static, enum, public]
96      *
97      * camera device property, report current camera position
98      * (i.e. enum: FRONT/BACK/OTHER ...)
99      */
100     OHOS_ABILITY_CAMERA_POSITION = OHOS_CAMERA_PROPERTIES_START,
101     /**
102      * ohos.ability.cameraType [static, enum, public]
103      *
104      * camera device property, report current camera type
105      * (i.e. enum: WIDE_ANGLE/ULTRA_WIDE/TELTPHOTO/TRUE_DEAPTH/LOGICAL/UNSPECIFIED ...)
106      */
107     OHOS_ABILITY_CAMERA_TYPE,
108     /**
109      * ohos.ability.cameraConnectionType [static, enum, public]
110      *
111      * camera device property, report current camera connection type
112      * (i.e. enum: BUILTIN/USB_PLUGIN/REMOTE ...)
113      */
114     OHOS_ABILITY_CAMERA_CONNECTION_TYPE,
115     /**
116      * ohos.ability.memoryType [static, enum, public]
117      *
118      * camera device property, report current camera memory type
119      * (i.e. enum: mmap/userptr/overlay/dmabuf ...)
120      */
121     OHOS_ABILITY_MEMORY_TYPE,
122     /**
123      * ohos.ability.fpsRanges [static, int32[], public]
124      *
125      * camera device property, report current camera support frame/second range
126      * (i.e. int32[]: rangeMin1, rangeMax1, rangeMin2, rangeMax2, ...)
127      */
128     OHOS_ABILITY_FPS_RANGES,
129     /**
130      * ohos.ability.flashAvailable [static, enum, public]
131      *
132      * camera device property, report current camera flash on/off available
133      * (i.e. enum: false/true)
134      */
135     OHOS_ABILITY_FLASH_AVAILABLE,
136     /**
137      * ohos.camera.streamId [static, int32[], public]
138      *
139      * camera device property, set current camera stream id
140      * (i.e. int32[]: streamId, streamId, ...)
141      */
142     OHOS_CAMERA_STREAM_ID,
143     /**
144      * ohos.ability.prelaunchAvailable [static, enum, public]
145      *
146      * camera device property, report current camera device prelaunch supported
147      * (i.e. enum: enable/disable..)
148      */
149     OHOS_ABILITY_PRELAUNCH_AVAILABLE,
150     /**
151      * ohos.ability.customVideoFps [static, int32[], public]
152      *
153      * camera device property, report current camera support custom opreationMode video fps range
154      * (i.e. int32[] ... )
155      */
156     OHOS_ABILITY_CUSTOM_VIDEO_FPS,
157     /**
158      * ohos.ability.cameraModes [static, enum[], public]
159      *
160      * camera device property, report current camera support camera mode
161      * (i.e. enum[]: capture, video ...)
162      */
163     OHOS_ABILITY_CAMERA_MODES,
164     /**
165      * ohos.ability.sketchEnableRatio [static, float[], public]
166      *
167      * camera device property, report current camera device sketch camera mode support ratio
168      * (i.e. float[]: mode, ratio, mode, ratio, ...)
169      */
170     OHOS_ABILITY_SKETCH_ENABLE_RATIO,
171     /**
172      * ohos.ability.sketchReferenceFovRatio [static, float[], public]
173      *
174      * camera device property, report current camera device sketch camera mode enable ratio
175      * (i.e. float[]: mode, ratio, mode, ratio, ...)
176      */
177     OHOS_ABILITY_SKETCH_REFERENCE_FOV_RATIO,
178     /**
179      * ohos.ability.cameraFoldScreen [static, enum, public]
180      *
181      * camera device property, report current camera device fold screen
182      * (i.e. enum: other/inner/outer ...)
183      */
184     OHOS_ABILITY_CAMERA_FOLDSCREEN_TYPE,
185     /**
186      * ohos.ability.availableColorSpaces [static, int32[], public]
187      *
188      * camera device property, report current camera device support color spaces
189      * (i.e. int32[]: mode, colorSpaces[], -1, mode, colorSpaces[], -1, ...)
190      */
191     OHOS_ABILITY_AVAILABLE_COLOR_SPACES,
192     /**
193      * ohos.ability.nightModeSupportedExposureTime [static, int32[], public]
194      *
195      * camera device property, report current camera device the shutter duration supported by the night mode
196      * (i.e. int32[]: time (millisecond), time, ...)
197      */
198     OHOS_ABILITY_NIGHT_MODE_SUPPORTED_EXPOSURE_TIME,
199     /**
200      * ohos.camera.mesureExposureTime [static, uint32, public]
201      *
202      * camera device property, report current camera device long exposure time by the night mode
203      * (i.e. uint32: time(millisecond) ...)
204      */
205     OHOS_CAMERA_MESURE_EXPOSURE_TIME,
206     /**
207      * ohos.camera.exposureModePreviewState [static, uint32, public]
208      *
209      * camera device property, report current camera device exposure mode perview state by the night mode
210      * (i.e. uint32 ...)
211      */
212     OHOS_CAMERA_EXPOSURE_MODE_PREVIEW_STATE,
213     /**
214      * ohos.camera.userId [static, int32[], public]
215      *
216      * camera device property, set userIds can be delivered during stream creation
217      * to identify the user whose images are stored
218      * (User IDs are bound when original images are flushed to disks.)
219      * (i.e. int32[] ...)
220      */
221     OHOS_CAMERA_USER_ID,
222     /**
223      * ohos.ability.moonCaptureBoost [static, uint32[], public]
224      *
225      * camera device property, report current camera device moon-gazing mode
226      * (i.e. uint32[] ...)
227      */
228     OHOS_ABILITY_MOON_CAPTURE_BOOST,
229     /**
230      * ohos.control.moonCaptureBoost [static, enum, public]
231      *
232      * camera device property, set current camera device moon-gazing mode
233      * (i.e. enum: disable/enable ...)
234      */
235     OHOS_CONTROL_MOON_CAPTURE_BOOST,
236     /**
237      * ohos.status.moonCaptureDetection [static, uint32, public]
238      *
239      * camera device property, query current camera device detection moon-gazing mode status
240      * (i.e. uint32 ...)
241      */
242     OHOS_STATUS_MOON_CAPTURE_DETECTION,
243     /**
244      * ohos.ability.captureDurationSupported [static, enum, public]
245      *
246      * camera device property, report current camera device
247      * (i.e. enum: support/unsupport ...)
248      */
249     OHOS_ABILITY_CAPTURE_DURATION_SUPPORTED,
250     /**
251      * ohos.camera.customSnapshotDuration [static, uint32, public]
252      *
253      * camera device property, query current camera device
254      * (i.e. uint32 ...)
255      */
256     OHOS_CAMERA_CUSTOM_SNAPSHOT_DURATION,
257     /**
258      * ohos.ability.movingPhoto [static, int32[], public]
259      *
260      * camera device property, report  current camera device different mode whether support living photo
261      * (i.e. int32[]: mode, value, -1, ...)
262      */
263     OHOS_ABILITY_MOVING_PHOTO,
264     /**
265      * ohos.ability.flashSuggestionSupported [static, uint32[], public]
266      *
267      * camera device property, report current camera whether support flash suggestion
268      * (i.e. uint32[]: open/close ...)
269      */
270     OHOS_ABILITY_FLASH_SUGGESTION_SUPPORTED,
271     /**
272      * ohos.control.flashSuggestionSwitch [static, enum, public]
273      *
274      * camera device property, set current camera whether support flash suggestion
275      * (i.e. enum: support/notSupport ...)
276      */
277     OHOS_CONTROL_FLASH_SUGGESTION_SWITCH,
278     /**
279      * ohos.status.flashSuggestion [static, enum, public]
280      *
281      * camera device property, query current camera whether support flash suggestion
282      * (i.e. enum: support/notSupport ...)
283      */
284     OHOS_STATUS_FLASH_SUGGESTION,
285     /**
286      * ohos.ability.highQualitySupport [static, byte, public]
287      *
288      * camera device property, report current camera whether support high quality
289      * (i.e. byte: support/notSupport ...)
290      */
291     OHOS_ABILITY_HIGH_QUALITY_SUPPORT,
292     /**
293      * ohos.ability.cameraFoldStatus [static, enum, public]
294      *
295      * camera device property, report current camera fold status
296      * (i.e. enum: nonFoldable/expanded/folded ...)
297      */
298     OHOS_ABILITY_CAMERA_FOLD_STATUS,
299     /**
300      * ohos.status.cameraFoldStatus [static, byte, public]
301      *
302      * camera device property, query current camera occlusion detection
303      * (i.e. byte: ...)
304      */
305     OHOS_STATUS_CAMERA_OCCLUSION_DETECTION,
306     /**
307      * ohos.ability.statisticsDetectType [static, enum[], public]
308      *
309      * camera device property, report current camera support statistice detect type
310      * (i.e. enum[]: [humanFace/human/catFace/cat/dogFace/dog/salient/barCode] ...)
311      */
312     OHOS_ABILITY_STATISTICS_DETECT_TYPE,
313     /**
314      * ohos.control.statisticsDetectSetting [static, enum[], public]
315      *
316      * camera device property, set current camera what statistice detect type ware supported
317      * (i.e. enum[]: [humanFace/human/catFace/cat/dogFace/dog/salient/barCode] ...)
318      */
319     OHOS_CONTROL_STATISTICS_DETECT_SETTING,
320     /**
321      * ohos.ability.availableExtendedStreamInfoTypes [static, int32[], public]
322      *
323      * camera device property, report current camera extended streams supported by different streams in the mode
324      * (i.e. int32[] ...)
325      */
326     OHOS_ABILITY_AVAILABLE_EXTENDED_STREAM_INFO_TYPES,
327     /**
328      * ohos.ability.autoDeferredVideoEnhance [static, enum, public]
329      *
330      * camera device property, report current camera whether support auto deferred video enhance
331      * (i.e. enum: OHOS_CAMERA_NOT_SUPPORTED/OHOS_CAMERA_SUPPORTED ...)
332      */
333     OHOS_ABILITY_AUTO_DEFERRED_VIDEO_ENHANCE,
334     /**
335      * ohos.control.autoDeferredVideoEnhance [static, enum, public]
336      *
337      * camera device property, set current camera whether support auto deferred video enhance
338      * (i.e. enum: OHOS_CAMERA_NOT_SUPPORTED/OHOS_CAMERA_SUPPORTED ...)
339      */
340     OHOS_CONTROL_AUTO_DEFERRED_VIDEO_ENHANCE,
341     /**
342      * ohos.ability.autoCloudImageEnhance [static, int32[], public]
343      *
344      * camera device property, report current camera whether support auto cloud image enhance by mode
345      * (i.e. int32[]: [mode, OHOS_CAMERA_NOT_SUPPORTED/OHOS_CAMERA_SUPPORTED, mode ...] ...)
346      */
347     OHOS_ABILITY_AUTO_CLOUD_IMAGE_ENHANCE,
348     /**
349      * ohos.control.autoCloudImageEnhance [static, enum, public]
350      *
351      * camera device property, set current camera whether support auto cloud image enhance
352      * (i.e. enum: OHOS_CAMERA_NOT_SUPPORTED/OHOS_CAMERA_SUPPORTED ...)
353      */
354     OHOS_CONTROL_AUTO_CLOUD_IMAGE_ENHANCE,
355     /**
356      * ohos.ability.tripodDetection [static, int32[], public]
357      *
358      * camera device property, report current camera what mode support tripod detection
359      * (i.e. int32[]: [mode, mode ...] ...)
360      */
361     OHOS_ABILITY_TRIPOD_DETECTION,
362     /**
363      * ohos.control.tripodDetection [static, byte, public]
364      *
365      * camera device property, set current camera whether enable tripod detection
366      * (i.e. byte: 0-false/1-true ...)
367      */
368     OHOS_CONTROL_TRIPOD_DETECTION,
369     /**
370      * ohos.control.tripodStablitation [static, byte, public]
371      *
372      * camera device property, set current camera whether enable tripod stablitation algorithm
373      * (i.e. byte: 0-false/1-true ...)
374      */
375     OHOS_CONTROL_TRIPOD_STABLITATION,
376     /**
377      * ohos.status.tripodDetectionStatus [static, enum, public]
378      *
379      * camera device property, query current camera tripod detection status
380      * (i.e. enum: TRIPOD_STATUS_INVALID/TRIPOD_STATUS_ACTIVE/TRIPOD_STATUS_ENTER/TRIPOD_STATUS_EXITING ...)
381      */
382     OHOS_STATUS_TRIPOD_DETECTION_STATUS,
383     /**
384      * ohos.status.sketchPoint [static, float[], public]
385      *
386      * camera device property, query current camera sketch center point position
387      * (i.e. float[]: [px, py] ...)
388      */
389     OHOS_STATUS_SKETCH_POINT,
390     /**
391      * ohos.ability.lowLightBoost [static, int32[], public]
392      *
393      * camera device property, report current camera whether low light boost by mode
394      * (i.e. int32[]: [mode, OHOS_CAMERA_NOT_SUPPORTED/OHOS_CAMERA_SUPPORTED, mode ...] ...)
395      */
396     OHOS_ABILITY_LOW_LIGHT_BOOST,
397     /**
398      * ohos.control.lowLightDetect [static, byte, public]
399      *
400      * camera device property, set current camera whether low light detect
401      * (i.e. byte: 0-false/1-true ...)
402      */
403     OHOS_CONTROL_LOW_LIGHT_DETECT,
404     /**
405      * ohos.control.lowLightBoost [static, byte, public]
406      *
407      * camera device property, set current camera whether low light boost
408      * (i.e. byte: 0-false/1-true ...)
409      */
410     OHOS_CONTROL_LOW_LIGHT_BOOST,
411     /**
412      * ohos.status.lowLightDetection [static, byte, public]
413      *
414      * camera device property, query current camera low light detection status
415      * (i.e. byte: 0-false/1-true ...)
416      */
417     OHOS_STATUS_LOW_LIGHT_DETECTION,
418     /**
419      * ohos.status.cameraLensDirtyDetection [static, byte, public]
420      *
421      * camera device property, query current camera lens dirty detection
422      * (i.e. byte: 0-false/1-true ...)
423      */
424     OHOS_STATUS_CAMERA_LENS_DIRTY_DETECTION,
425     /**
426      * ohos.device.protectionState [static, enum, public]
427      *
428      * camera device property, query current camera device protection state
429      * (i.e. enum: DeviceProtectionStatus ...)
430      */
431     OHOS_DEVICE_PROTECTION_STATE,
432     /**
433      * ohos.device.tofsensorabnormal [static, int32, public]
434      *
435      * camera device property, query current camera tof sensor abnormal state
436      * (i.e. int32 ...)
437      */
438     OHOS_STATUS_TOF_SENSOR_ABNORMAL,
439     /**
440      * ohos.ability.sunBlockPreviewTypes [static, byte[], public]
441      *
442      * camera device property, report current camera sun block types supported in proview
443      * (i.e. byte[]: [0-notSupport|1-RGB|2-UV|...])
444      */
445     OHOS_ABILITY_SUN_BLOCK_PREVIEW_TYPES,
446     /**
447      * ohos.ability.sunBlockBlendColors [static, byte[], public]
448      *
449      * camera device property, report current camera sun block supports blend colors
450      * (i.e. byte[]: [0-notSupport|1-purple|2-silver|3-gold|...])
451      */
452     OHOS_ABILITY_SUN_BLOCK_BLEND_COLORS,
453     /**
454      * ohos.ability.sunBlockRgbCropRegion [static, float[], public]
455      *
456      * camera device property, report current camera RGB image cropping coefficient, which is the normalized coordinate
457      * (i.e. float[] ...)
458      */
459     OHOS_ABILITY_SUN_BLOCK_RGB_CROP_REGION,
460     /**
461      * ohos.ability.sunBlockRgbUvRegion [static, float[], public]
462      *
463      * camera device property, report current camera UV image cropping coefficient, which is the normalized coordinate
464      * (i.e. float[] ...)
465      */
466     OHOS_ABILITY_SUN_BLOCK_RGB_UV_REGION,
467     /**
468      * ohos.status.sunBlockHint [static, byte, public]
469      *
470      * camera device property, queries the status returned by the current camera running the sun protection detection
471      * (i.e. byte ...)
472      */
473     OHOS_STATUS_SUN_BLOCK_HINT,
474     /**
475      * ohos.ability.cameraLimitedCapabilityes [static, double[], public]
476      *
477      * Camera capability set for limited concurrent scenarios.
478      * This item contains other capability items for device capability control,
479      * such as OHOS_ABILITY_FLASH_MODES or other 3A capabilities.
480      * Resolution is reported through OHOS_ABLE_AVAILABLE_PROFILE_LEVEL.
481      * (i.e. OHOS_ABILITY_FLASH_MODES, length, flashMode, flashMode, ...)
482      * @since 5.1
483      * @version 1.0
484      */
485     OHOS_ABILITY_CAMERA_LIMITED_CAPABILITIES,
486     /**
487      * ohos.ability.cameraConcurrentType [static, byte, public]
488      *
489      * Indicates whether the current camera is in full concurrency mode or limited concurrency mode.
490      * (i.e. byte)
491      * @since 5.1
492      * @version 1.0
493      */
494     OHOS_ABILITY_CAMERA_CONCURRENT_TYPE,
495     /**
496      * ohos.ability.cameraConcurrentType [static, int32, public]
497      *
498      * Concurrent camera combinations are supported. The camera combinations are separated by - 1.
499      * (i.e. int32[] [2, 3, -1, 1, 2])
500      * @since 5.1
501      * @version 1.0
502      */
503     OHOS_ABILITY_CONCURRENT_SUPPORTED_CAMERAS,
504     /**
505      * ohos.ability.autoAigcPhoto [static, byte[], public]
506      *
507      * camera device property, report current camera whether support auto auto aigc photo by mode
508      * (i.e. byte[]: [mode, OHOS_CAMERA_NOT_SUPPORTED/OHOS_CAMERA_SUPPORTED, mode ...] ...)
509      * @since 5.1
510      * @version 1.0
511      */
512     OHOS_ABILITY_AUTO_AIGC_PHOTO,
513     /**
514      * ohos.control.autoAigcPhoto [static, enum, public]
515      *
516      * camera device property, set current camera whether support auto aigc photo
517      * (i.e. byte: 0-false/1-true ...)
518      * @since 5.1
519      * @version 1.0
520      */
521     OHOS_CONTROL_AUTO_AIGC_PHOTO,
522     /**
523      * ohos.camera.propertiesEnd
524      *
525      * camera property end
526      */
527     OHOS_CAMERA_PROPERTIES_END,
528 
529     /**
530      * ohos.sensor.exposureTime [static, int64, public]
531      *
532      * camera device property, query current camera exposure time
533      * (i.e. int64 ...)
534      */
535     OHOS_SENSOR_EXPOSURE_TIME = OHOS_CAMERA_SENSOR_START,
536     /**
537      * ohos.sensor.colorCorrectionGains [static, float, public]
538      *
539      * camera device property, query current camera color correction gains
540      * (i.e. float ...)
541      */
542     OHOS_SENSOR_COLOR_CORRECTION_GAINS,
543     /**
544      * ohos.sensor.orientation [static, int32, public]
545      *
546      * camera device property, query current camera orientation
547      * (i.e. int32 ...)
548      */
549     OHOS_SENSOR_ORIENTATION,
550     /**
551      * ohos.ability.muteModes [static, enum[], public]
552      *
553      * camera device property, report current camera mute modes
554      * (i.e. enum[]: OFF, solidColorBlack ...)
555      */
556     OHOS_ABILITY_MUTE_MODES,
557     /**
558      * ohos.control.muteMode [static, enum, public]
559      *
560      * camera device property, set current camera mute mode
561      * (i.e. enum: OFF/solidColorBlack ...)
562      */
563     OHOS_CONTROL_MUTE_MODE,
564     /**
565      * ohos.control.rotateAngle [static, int32, public]
566      *
567      * camera device property, set current camera rotate angle
568      * (i.e. int32 ...)
569      */
570     OHOS_CONTROL_ROTATE_ANGLE,
571     /**
572      * ohos.camera.sensorEnd
573      *
574      * camera sensor endChar
575      */
576     OHOS_CAMERA_SENSOR_END,
577 
578     /**
579      * ohos.sensorInfo.activeArraySize [static, int32[], public]
580      *
581      * camera device property, report current camera support active array size
582      * (i.e. int32[]: left, top, right, bottom ...)
583      */
584     OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE = OHOS_CAMERA_SENSOR_INFO_START,
585     /**
586      * ohos.sensorInfo.sensitivityRange [static, int32[], public]
587      *
588      * camera device property, report current camera support sensitivity range
589      * (i.e. int32[]: min, max ...)
590      */
591     OHOS_SENSOR_INFO_SENSITIVITY_RANGE,
592     /**
593      * ohos.sensorInfo.maxFrameDuration [static, int64, public]
594      *
595      * camera device property, report current camera support max frame duration
596      * (i.e. int64: maxFrame ...)
597      */
598     OHOS_SENSOR_INFO_MAX_FRAME_DURATION,
599     /**
600      * ohos.sensorInfo.physicalSize [static, float[], public]
601      *
602      * camera device property, report current camera support physical size of sensor
603      * (i.e. float[] ...)
604      */
605     OHOS_SENSOR_INFO_PHYSICAL_SIZE,
606     /**
607      * ohos.sensorInfo.pixelArraySize [static, int32[], public]
608      *
609      * camera device property, report current camera support pixel array size
610      * (i.e. int32[] ...)
611      */
612     OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE,
613     /**
614      * ohos.sensorInfo.timestamp [static, int64, public]
615      *
616      * camera device property, report current camera support timestamp
617      * (i.e. int64 ...)
618      */
619     OHOS_SENSOR_INFO_TIMESTAMP,
620     /**
621      * ohos.camera.sensorInfoEnd
622      *
623      * camera sensorInfoEnd
624      */
625     OHOS_CAMERA_SENSOR_INFO_END,
626 
627     /**
628      * ohos.statistics.faceDetectMode [static, enum, public]
629      *
630      * camera device property, report current camera support face detect support mode
631      * (i.e. enum: OFF/SIMPLE ...)
632      */
633     OHOS_STATISTICS_FACE_DETECT_MODE = OHOS_CAMERA_STATISTICS_START,
634     /**
635      * ohos.statistics.faceDetectSwitch [static, enum, public]
636      *
637      * camera device property, set current camera face detect support switch
638      * (i.e. enum: OFF/SIMPLE ...)
639      */
640     OHOS_STATISTICS_FACE_DETECT_SWITCH,
641     /**
642      * ohos.statistics.faceDetectMaxNum [static, byte, public]
643      *
644      * camera device property, report current camera support face detect max num
645      * (i.e. byte ...)
646      */
647     OHOS_STATISTICS_FACE_DETECT_MAX_NUM,
648     /**
649      * ohos.statistics.histogramMode [static, enum, public]
650      *
651      * camera device property, report current camera support histogram mode
652      * (i.e. enum: OFF/ON ...)
653      */
654     OHOS_STATISTICS_HISTOGRAM_MODE,
655     /**
656      * ohos.statistics.faceIds [static, int32[], public]
657      *
658      * camera device property, set current camera face ids
659      * (i.e. int32[] ...)
660      */
661     OHOS_STATISTICS_FACE_IDS,
662     /**
663      * ohos.statistics.faceLandMarks [static, int32[], public]
664      *
665      * camera device property, report current camera support face land marks
666      * (i.e. int32[] ...)
667      */
668     OHOS_STATISTICS_FACE_LANDMARKS,
669     /**
670      * ohos.statistics.faceLandMarks [static, int32[], public]
671      *
672      * camera device property, report current camera support face land marks
673      * (i.e. int32[] ...)
674      */
675     OHOS_STATISTICS_FACE_RECTANGLES,
676     /**
677      * ohos.statistics.faceScores [static, int32[], public]
678      *
679      * camera device property, query current camera face scores
680      * (i.e. int32[] ...)
681      */
682     OHOS_STATISTICS_FACE_SCORES,
683     /**
684      * ohos.statistics.detectHumanFaceInfos [static, int32[], public]
685      *
686      * camera device property, query current camera detect human face informations
687      * (i.e. int32[] ...)
688      */
689     OHOS_STATISTICS_DETECT_HUMAN_FACE_INFOS,
690     /**
691      * ohos.statistics.detectHumanBodyInfos [static, int32[], public]
692      *
693      * camera device property, query current camera detect human body informations
694      * (i.e. int32[] ...)
695      */
696     OHOS_STATISTICS_DETECT_HUMAN_BODY_INFOS,
697     /**
698      * ohos.statistics.detectCatFaceInfos [static, int32[], public]
699      *
700      * camera device property, query current camera detect cat face informations
701      * (i.e. int32[] ...)
702      */
703     OHOS_STATISTICS_DETECT_CAT_FACE_INFOS,
704     /**
705      * ohos.statistics.detectCatBodyInfos [static, int32[], public]
706      *
707      * camera device property, query current camera detect cat body informations
708      * (i.e. int32[] ...)
709      */
710     OHOS_STATISTICS_DETECT_CAT_BODY_INFOS,
711     /**
712      * ohos.statistics.detectDogFaceInfos [static, int32[], public]
713      *
714      * camera device property, query current camera detect dog face informations
715      * (i.e. int32[] ...)
716      */
717     OHOS_STATISTICS_DETECT_DOG_FACE_INFOS,
718     /**
719      * ohos.statistics.detectDogBodyInfos [static, int32[], public]
720      *
721      * camera device property, query current camera detect dog body informations
722      * (i.e. int32[] ...)
723      */
724     OHOS_STATISTICS_DETECT_DOG_BODY_INFOS,
725     /**
726      * ohos.statistics.detectSalientInfos [static, int32[], public]
727      *
728      * camera device property, query current camera detect salient informations
729      * (i.e. int32[] ...)
730      */
731     OHOS_STATISTICS_DETECT_SALIENT_INFOS,
732     /**
733      * ohos.statistics.detectBarCodeInfos [static, int32[], public]
734      *
735      * camera device property, query current camera detect bar code informations
736      * (i.e. int32[] ...)
737      */
738     OHOS_STATISTICS_DETECT_BAR_CODE_INFOS,
739     /**
740      * ohos.statistics.baseFaceInfo [static, int32[], public]
741      *
742      * camera device property, query current camera detect base face information
743      * (i.e. int32[] ...)
744      */
745     OHOS_STATISTICS_DETECT_BASE_FACE_INFO,
746     /**
747      * ohos.camera.statisticsEnd
748      *
749      * camera statisticsEnd
750      */
751     OHOS_CAMERA_STATISTICS_END,
752 
753     /**
754      * ohos.control.aeAntibandingMode [static, enum, public]
755      *
756      * camera device property, set current camera support ae antibanding mode
757      * (i.e. enum: OFF/50HZ/60HZ/AUTO ...)
758      */
759     OHOS_CONTROL_AE_ANTIBANDING_MODE = OHOS_DEVICE_CONTROL_START,
760     /**
761      * ohos.control.aeExposureCompensation [static, int32, public]
762      *
763      * camera device property, set current camera ae exposure compensation
764      * (i.e. int32 ...)
765      */
766     OHOS_CONTROL_AE_EXPOSURE_COMPENSATION,
767     /**
768      * ohos.control.aeLock [static, enum, public]
769      *
770      * camera device property, set current camera ae lock
771      * (i.e. enum: OFF/ON ...)
772      */
773     OHOS_CONTROL_AE_LOCK,
774     /**
775      * ohos.control.aeMode [static, enum, public]
776      *
777      * camera device property, set current camera ae mode
778      * (i.e. enum: OFF/ON ...)
779      */
780     OHOS_CONTROL_AE_MODE,
781     /**
782      * ohos.control.aeRegions [static, float[], public]
783      *
784      * camera device property, set current camera ae regions
785      * (i.e. float[] ...)
786      */
787     OHOS_CONTROL_AE_REGIONS,
788     /**
789      * ohos.control.aeTargetFpsRange [static, int32[], public]
790      *
791      * camera stream property, set current camera ae target fps range
792      * (i.e. int32[] ...)
793      */
794     OHOS_CONTROL_AE_TARGET_FPS_RANGE,
795     /**
796      * ohos.control.fpsRanges [static, int32[], public]
797      *
798      * camera device property, set current camera fps ranges
799      * (i.e. int32[] ...)
800      */
801     OHOS_CONTROL_FPS_RANGES,
802     /**
803      * ohos.control.afMode [static, enum, public]
804      *
805      * camera device property, set current camera af mode
806      * (i.e. enum: OFF/AUTO ...)
807      */
808     OHOS_CONTROL_AF_MODE,
809     /**
810      * ohos.control.afRegions [static, float[], public]
811      *
812      * camera device property, set current camera af regions
813      * (i.e. float[] ...)
814      */
815     OHOS_CONTROL_AF_REGIONS,
816     /**
817      * ohos.control.afTrigger [static, enum, public]
818      *
819      * camera device property, set current camera af trigger
820      * (i.e. enum: IDLE/START/CANCEL ...)
821      */
822     OHOS_CONTROL_AF_TRIGGER,
823     /**
824      * ohos.control.afTriggerId [static, int32, public]
825      *
826      * camera device property, set current camera af trigger id
827      * (i.e. int32 ...)
828      */
829     OHOS_CONTROL_AF_TRIGGER_ID,
830     /**
831      * ohos.control.afState [static, enum, public]
832      *
833      * camera device property, set current camera af state
834      * (i.e. enum: INACTIVE/PASSIVE_SCAN ...)
835      */
836     OHOS_CONTROL_AF_STATE,
837     /**
838      * ohos.control.awbLock [static, enum, public]
839      *
840      * camera device property, set current camera awb lock
841      * (i.e. enum: OFF/ON ...)
842      */
843     OHOS_CONTROL_AWB_LOCK,
844     /**
845      * ohos.control.awbMode [static, enum, public]
846      *
847      * camera device property, set current camera awb mode
848      * (i.e. enum: OFF/AUTO ...)
849      */
850     OHOS_CONTROL_AWB_MODE,
851     /**
852      * ohos.control.awbRegions [static, int32[], public]
853      *
854      * camera device property, set current camera awb regions
855      * (i.e. int32[] ...)
856      */
857     OHOS_CONTROL_AWB_REGIONS,
858     /**
859      * ohos.control.aeAvailableAntibandingModes [static, byte[], public]
860      *
861      * camera device property, set current camera ae available antibanding modes
862      * (i.e. byte[] ...)
863      */
864     OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES,
865     /**
866      * ohos.control.aeAvailableModes [static, byte[], public]
867      *
868      * camera device property, set current camera ae available modes
869      * (i.e. byte[] ...)
870      */
871     OHOS_CONTROL_AE_AVAILABLE_MODES,
872     /**
873      * ohos.control.aeAvailableTargetFpsRanges [static, int32[], public]
874      *
875      * camera device property, set current camera ae available target fps ranges
876      * (i.e. int32[] ...)
877      */
878     OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES,
879     /**
880      * ohos.ability.aeCompensationRange [static, int32[], public]
881      *
882      * camera device property, report current camera support ae compensation range
883      * (i.e. int32[] ...)
884      */
885     OHOS_ABILITY_AE_COMPENSATION_RANGE,
886     /**
887      * ohos.ability.aeCompensationStep [static, rational, public]
888      *
889      * camera device property, set current camera support ae compensation step
890      * (i.e. rational ...)
891      */
892     OHOS_ABILITY_AE_COMPENSATION_STEP,
893     /**
894      * ohos.control.aeCompensationRange [static, int32[], public]
895      *
896      * camera device property, set current camera ae compensation range
897      * (i.e. int32[] ...)
898      */
899     OHOS_CONTROL_AE_COMPENSATION_RANGE,
900     /**
901      * ohos.control.aeCompensationStep [static, rational, public]
902      *
903      * camera device property, set current camera ae compensation step
904      * (i.e. rational ...)
905      */
906     OHOS_CONTROL_AE_COMPENSATION_STEP,
907     /**
908      * ohos.control.afAvailableModes [static, enum[], public]
909      *
910      * camera device property, set current camera af available modes
911      * (i.e. enum[]: OFF, AUTO, ...)
912      */
913     OHOS_CONTROL_AF_AVAILABLE_MODES,
914     /**
915      * ohos.control.awbAvailableModes [static, byte[], public]
916      *
917      * camera device property, set current camera awb available modes
918      * (i.e. byte[] ...)
919      */
920     OHOS_CONTROL_AWB_AVAILABLE_MODES,
921     /**
922      * ohos.control.captureMirrorSupported [static, enum, public]
923      *
924      * camera device property, set current camera capture mirror supported
925      * (i.e. enum: OFF/ON ...)
926      */
927     OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED,
928     /**
929      * ohos.control.captureMirror [static, enum, public]
930      *
931      * camera device property, set current camera capture mirror
932      * (i.e. enum: OFF/ON ...)
933      */
934     OHOS_CONTROL_CAPTURE_MIRROR,
935     /**
936      * ohos.control.focusState [static, enum, public]
937      *
938      * camera device property, set current camera focus state
939      * (i.e. enum: SCAN/FOCUSED/UNFOCUSED ...)
940      */
941     OHOS_CONTROL_FOCUS_STATE,
942     /**
943      * ohos.control.meterPoint [static, int32[], public]
944      *
945      * camera device property, set current camera meter point
946      * (i.e. int32[] ...)
947      */
948     OHOS_CONTROL_METER_POINT,
949     /**
950      * ohos.control.meterMode [static, enum, public]
951      *
952      * camera device property, set current camera meter mode
953      * (i.e. enum: SPOT_METERING/REGION_METERING ...)
954      */
955     OHOS_CONTROL_METER_MODE,
956     /**
957      * ohos.control.exposureState [static, byte, public]
958      *
959      * camera device property, set current camera exposure state
960      * (i.e. byte ...)
961      */
962     OHOS_CONTROL_EXPOSURE_STATE,
963     /**
964      * ohos.control.focusedPoint [static, int32[], public]
965      *
966      * camera device property, set current camera focused point
967      * (i.e. int32[] ...)
968      */
969     OHOS_CONTROL_FOCUSED_POINT,
970     /**
971      * ohos.control.nightModeTpyAe [static, byte, public]
972      *
973      * camera device property, set current camera night mode
974      * (i.e. byte ...)
975      */
976     OHOS_CONTROL_NIGHT_MODE_TRY_AE,
977     /**
978      * ohos.control.maualExposureTime [static, uint32[], public]
979      *
980      * camera device property, set current camera manually set the exposure time
981      * (i.e. uint32[] ...)
982      */
983     OHOS_CONTROL_MANUAL_EXPOSURE_TIME,
984     /**
985      * ohos.status.cameraCurrentFps [static, uint32, public]
986      *
987      * camera device property, set current camera camera current fps
988      * (i.e. uint32 ...)
989      */
990     OHOS_STATUS_CAMERA_CURRENT_FPS,
991     /**
992      * ohos.ability.isoValues [static, int32[], public]
993      *
994      * camera device property, report current camera support iso values
995      * (i.e. int32[] ...)
996      */
997     OHOS_ABILITY_ISO_VALUES,
998     /**
999      * ohos.control.isoValue [static, int32, public]
1000      *
1001      * camera device property, set current camera iso value
1002      * (i.e. int32 ...)
1003      */
1004     OHOS_CONTROL_ISO_VALUE,
1005     /**
1006      * ohos.status.isoValue [static, int32, public]
1007      *
1008      * camera device property, query current camera iso value
1009      * (i.e. int32 ...)
1010      */
1011     OHOS_STATUS_ISO_VALUE,
1012     /**
1013      * ohos.ability.sensorExposureTimeRange [static, int32, public]
1014      *
1015      * camera device property, report current camera support sensor exposure time range
1016      * (i.e. int32 ...)
1017      */
1018     OHOS_ABILITY_SENSOR_EXPOSURE_TIME_RANGE,
1019     /**
1020      * ohos.ability.sensorExposureTime [static, rational, public]
1021      *
1022      * camera device property, set current camera sensor exposure time
1023      * (i.e. rational ...)
1024      */
1025     OHOS_CONTROL_SENSOR_EXPOSURE_TIME,
1026     /**
1027      * ohos.status.sensorExposureTime [static, rational, public]
1028      *
1029      * camera device property, query current camera sensor exposure time
1030      * (i.e. rational ...)
1031      */
1032     OHOS_STATUS_SENSOR_EXPOSURE_TIME,
1033     /**
1034      * ohos.control.movingPhoto [static, enum, public]
1035      *
1036      * camera device property, set current camera whether support live photo
1037      * (i.e. enum: OFF/ON ...)
1038      */
1039     OHOS_CONTROL_MOVING_PHOTO,
1040     /**
1041      * ohos.ability.sensorWbValues [static, int32[], public]
1042      *
1043      * camera device property, report current camera support sensor wb values
1044      * (i.e. int32[] ...)
1045      */
1046     OHOS_ABILITY_SENSOR_WB_VALUES,
1047     /**
1048      * ohos.control.sensorWbValues [static, int32, public]
1049      *
1050      * camera device property, set current camera sensor wb values
1051      * (i.e. int32 ...)
1052      */
1053     OHOS_CONTROL_SENSOR_WB_VALUE,
1054     /**
1055      * ohos.control.highQualityMode [static, enum, public]
1056      *
1057      * camera stream property, set current camera high quality mode
1058      * (i.e. enum: OFF/ON ...)
1059      */
1060     OHOS_CONTROL_HIGH_QUALITY_MODE,
1061     /**
1062      * ohos.control.burstCapture [static, enum, public]
1063      *
1064      * camera device property, set current camera device burst capture mode
1065      * (i.e. enum: begin/end ...)
1066      */
1067     OHOS_CONTROL_BURST_CAPTURE,
1068     /**
1069      * ohos.control.cameraUsedAsPosition [static, byte, public]
1070      *
1071      * camera device property, set current camera used as position
1072      * (i.e. byte ...)
1073      */
1074     OHOS_CONTROL_CAMERA_USED_AS_POSITION,
1075     /**
1076      * ohos.control.cameraSessionUsage [static, enum[], public]
1077      *
1078      * camera device property, set current camera session usage type whether enable
1079      * (i.e. enum[]: [CameraSessionUsageType, CameraSessionUsageControlType] ...)
1080      */
1081     OHOS_CONTROL_CAMERA_SESSION_USAGE,
1082     /**
1083      * ohos.control.ejectRetry [static, byte, public]
1084      *
1085      * camera device property, set current camera lens retry eject
1086      * (i.e. byte: 0-false/1true ...)
1087      */
1088     OHOS_CONTROL_EJECT_RETRY,
1089     /**
1090      * ohos.control.fallProtection [static, byte, public]
1091      *
1092      * camera device property, set current camera lens fall protection
1093      * (i.e. byte: 0-false/1true ...)
1094      */
1095     OHOS_CONTROL_FALL_PROTECTION,
1096     /**
1097      * ohos.control.sunBlockPreviewType [static, byte, public]
1098      *
1099      * camera device property, sets the sun protection detection type under the current camera preview
1100      * (i.e. byte: 0-RGB/1-UV/2-RGB+UV)
1101      */
1102     OHOS_CONTROL_SUN_BLOCK_PREVIEW_TYPE,
1103     /**
1104      * ohos.control.sunBlockBlendColor [static, byte, public]
1105      *
1106      * camera device property, sets the sun protection detection blend color for the current camera
1107      * (i.e. byte: 0-none/1-purple/2-silver/3-gold)
1108      */
1109     OHOS_CONTROL_SUN_BLOCK_BLEND_COLOR,
1110     /**
1111      * ohos.ability.qualityPrioritization [static, byte, public]
1112      *
1113      * camera device property, set current camera quality prioritization
1114      * (i.e. byte ...)
1115      */
1116     OHOS_CONTROL_QUALITY_PRIORITIZATION,
1117     /**
1118      * ohos.device.controlEnd
1119      *
1120      * device controlEnd
1121      */
1122     OHOS_DEVICE_CONTROL_END,
1123 
1124     // Camera device image acquisition related
1125     /**
1126      * ohos.ability.deviceAvailableExposureModes [static, byte[], public]
1127      *
1128      * camera device property, report current camera support device available exposure modes
1129      * (i.e. byte[] ...)
1130      */
1131     OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES = OHOS_DEVICE_EXPOSURE_START,
1132     /**
1133      * ohos.control.exposureMode [static, enum, public]
1134      *
1135      * camera device property, set current camera exposure mode
1136      * (i.e. enum: MANUAL/CONTINUOUS_AUTO/LOCKED/AUTO ...)
1137      */
1138     OHOS_CONTROL_EXPOSUREMODE,
1139     /**
1140      * ohos.ability.exposureModes [static, enum[], public]
1141      *
1142      * camera device property, report current camera support exposure modes
1143      * (i.e. enum[]: MANUAL, CONTINUOUS_AUTO, LOCKED, AUTO ...)
1144      */
1145     OHOS_ABILITY_EXPOSURE_MODES,
1146     /**
1147      * ohos.control.exposureMode [static, enum, public]
1148      *
1149      * camera device property, set current camera exposure mode
1150      * (i.e. enum: MANUAL/CONTINUOUS_AUTO/LOCKED/AUTO ...)
1151      */
1152     OHOS_CONTROL_EXPOSURE_MODE,
1153     /**
1154      * ohos.ability.meterModes [static, enum[], public]
1155      *
1156      * camera device property, report current camera support meter modes
1157      * (i.e. enum[]: SPOT_METERING, REGION_METERING, OVERALL_METERING, CENTER_WEIGHTED_METERING ...)
1158      */
1159     OHOS_ABILITY_METER_MODES,
1160     /**
1161      * ohos.ability.sceneExposureModes [static, byte[], public]
1162      *
1163      * camera device property, report current camera support scene exposure time
1164      * (i.e. byte[] ...)
1165      */
1166     OHOS_ABILITY_SCENE_EXPOSURE_MODES,
1167     /**
1168      * ohos.ability.exposureTime [static, byte[], public]
1169      *
1170      * camera device property, report current camera support exposure time
1171      * (i.e. byte[] ...)
1172      */
1173     OHOS_ABILITY_EXPOSURE_TIME,
1174     /**
1175      * ohos.ability.aeLock [static, enum[], public]
1176      *
1177      * camera device property, report current camera support ae lock
1178      * (i.e. enum[]: OFF, ON ...)
1179      */
1180     OHOS_ABILITY_AE_LOCK,
1181     /**
1182      * ohos.device.exposureEnd
1183      *
1184      * camera device exposureEnd
1185      */
1186     OHOS_DEVICE_EXPOSURE_END,
1187 
1188     /**
1189      * ohos.ability.deviceAvailableFocusModes [static, byte[], public]
1190      *
1191      * camera device property, report current camera support device available focus modes
1192      * (i.e. byte[] ...)
1193      */
1194     OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES = OHOS_DEVICE_FOCUS_START,
1195     /**
1196      * ohos.ability.focusMode [static, byte, public]
1197      *
1198      * camera device property, set current camera focus mode
1199      * (i.e. byte ...)
1200      */
1201     OHOS_CONTROL_FOCUSMODE,
1202     /**
1203      * ohos.ability.focusModes [static, enum[], public]
1204      *
1205      * camera device property, report current camera support focus modes
1206      * (i.e. enum[]: MANUAL, CONTINUOUS_AUTO, AUTO, LOCKED ...)
1207      */
1208     OHOS_ABILITY_FOCUS_MODES,
1209     /**
1210      * ohos.ability.focusMode [static, enum, public]
1211      *
1212      * camera device property, set current camera focus mode
1213      * (i.e. enum: MANUAL/CONTINUOUS_AUTO/AUTO/LOCKED ...)
1214      */
1215     OHOS_CONTROL_FOCUS_MODE,
1216     /**
1217      * ohos.ability.focalLength [static, float, public]
1218      *
1219      * camera device property, report current camera support focal length
1220      * (i.e. float ...)
1221      */
1222     OHOS_ABILITY_FOCAL_LENGTH,
1223     /**
1224      * ohos.ability.sceneFocusModes [static, byte[], public]
1225      *
1226      * camera device property, report current camera support secene focus modes
1227      * (i.e. byte[] ...)
1228      */
1229     OHOS_ABILITY_SCENE_FOCUS_MODES,
1230     /**
1231      * ohos.ability.focusAssistFlashSupportedModes [static, enum[], public]
1232      *
1233      * camera device property, report current camera focus assist flash supported modes
1234      * (i.e. enum[]: DEFAULT, AUTO, ON, OFF ...)
1235      */
1236 
1237     OHOS_ABILITY_FOCUS_ASSIST_FLASH_SUPPORTED_MODES,
1238     /**
1239      * ohos.control.focusAssistFlashSupportedMode [static, byte, public]
1240      *
1241      * camera device property, set current camera focus assist flash supported mode
1242      * (i.e. byte ...)
1243      */
1244     OHOS_CONTROL_FOCUS_ASSIST_FLASH_SUPPORTED_MODE,
1245     /**
1246      * ohos.ability.lensInfoMinimumFocusDistance [static, float, public]
1247      *
1248      * camera device property, report current camera support lens info minimum focus distance
1249      * (i.e. float ...)
1250      */
1251     OHOS_ABILITY_LENS_INFO_MINIMUM_FOCUS_DISTANCE,
1252     /**
1253      * ohos.ability.lensFocusDistance [static, float, public]
1254      *
1255      * camera device property, set current camera lens focus distance
1256      * (i.e. float ...)
1257      */
1258     OHOS_CONTROL_LENS_FOCUS_DISTANCE,
1259     /**
1260      * ohos.ability.equivalentFocus [static, int32[], public]
1261      *
1262      * camera device property, report current camera support equivalent focus
1263      * (i.e. int32[] ...)
1264      */
1265     OHOS_ABILITY_EQUIVALENT_FOCUS,
1266     /**
1267      * ohos.ability.focusDistance [static, float, public]
1268      *
1269      * camera device property, set current camera support focus distance
1270      * (i.e. float ...)
1271      */
1272     OHOS_CONTROL_FOCUS_DISTANCE,
1273     /**
1274      * ohos.ability.focusRangeTypes [static, enum[], public]
1275      *
1276      * camera device property, report current camera support focus range types
1277      * (i.e. enum[]: AUTO, NEAR ...)
1278      */
1279     OHOS_ABILITY_FOCUS_RANGE_TYPES,
1280     /**
1281      * ohos.control.focusRangeType [static, enum, public]
1282      *
1283      * camera device property, set current camera focus range type
1284      * (i.e. enum: AUTO/NEAR ...)
1285      */
1286     OHOS_CONTROL_FOCUS_RANGE_TYPE,
1287     /**
1288      * ohos.control.focusTrackingMode [static, enum, public]
1289      *
1290      * camera device property, set current camera focus tracking mode
1291      * (i.e. enum: AUTO ...)
1292      */
1293     OHOS_CONTROL_FOCUS_TRACKING_MODE,
1294     /**
1295      * ohos.ability.focusTrackingRegion [static, int32[], public]
1296      *
1297      * camera device property, report current camera focus tracking region
1298      * (i.e. int32[] ...)
1299      */
1300     OHOS_ABILITY_FOCUS_TRACKING_REGION,
1301     /**
1302      * ohos.ability.focusDrivenTypes [static, enum[], public]
1303      *
1304      * camera device property, report current camera support focus driven types
1305      * (i.e. enum[]: AUTO, FACE ...)
1306      */
1307     OHOS_ABILITY_FOCUS_DRIVEN_TYPES,
1308     /**
1309      * ohos.control.focusDrivenType [static, enum, public]
1310      *
1311      * camera device property, set current camera focus driven type
1312      * (i.e. enum: AUTO/FACE ...)
1313      */
1314     OHOS_CONTROL_FOCUS_DRIVEN_TYPE,
1315     /**
1316      * ohos.device.focusEnd
1317      *
1318      * camera device focusEnd
1319      */
1320     OHOS_DEVICE_FOCUS_END,
1321 
1322     /**
1323      * ohos.ability.deviceAvailableAwbModes [static, float, public]
1324      *
1325      * camera device property, report current camera device support available awb modes
1326      * (i.e. float ...)
1327      */
1328     OHOS_ABILITY_DEVICE_AVAILABLE_AWBMODES = OHOS_DEVICE_WHITE_BLANCE_START,
1329     /**
1330      * ohos.ability.awbModes [static, enum[], public]
1331      *
1332      * camera device property, report current camera support awb modes
1333      * (i.e. enum[]: OFF, AUTO, INCANDESCENT, FLUORESCENT, WARM_FLUORESCENT,
1334      *  DAYLIGHT, CLOUDY_DAYLIGHT, TWILIGHT, SHADE ...)
1335      */
1336     OHOS_ABILITY_AWB_MODES,
1337     /**
1338      * ohos.ability.awbLock [static, byte, public]
1339      *
1340      * camera device property, report current camera support awb lock
1341      * (i.e. byte ...)
1342      */
1343     OHOS_ABILITY_AWB_LOCK,
1344     /**
1345      * ohos.device.whiteBlanceEnd
1346      *
1347      * camera device whiteBlanceEnd
1348      */
1349     OHOS_DEVICE_WHITE_BLANCE_END,
1350 
1351     /**
1352      * ohos.ability.deviceAvailableFlashModes [static, byte[], public]
1353      *
1354      * camera device property, report current camera support device available flash modes
1355      * (i.e. byte[] ...)
1356      */
1357     OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES = OHOS_DEVICE_FLASH_START,
1358     /**
1359      * ohos.control.flashMode [static, enum, public]
1360      *
1361      * camera device property, set current camera flash mode
1362      * (i.e. enum: CLOSE/OPEN/AUTO/ALWAYS_OPEN ...)
1363      */
1364     OHOS_CONTROL_FLASHMODE,
1365     /**
1366      * ohos.ability.flashModes [static, enum[], public]
1367      *
1368      * camera device property, report current camera support flash modes
1369      * (i.e. enum[]: CLOSE, OPEN, AUTO, ALWAYS_OPEN ...)
1370      */
1371     OHOS_ABILITY_FLASH_MODES,
1372     /**
1373      * ohos.control.flashMode [static, byte, public]
1374      *
1375      * camera device property, set current camera flash mode
1376      * (i.e. byte ...)
1377      */
1378     OHOS_CONTROL_FLASH_MODE,
1379     /**
1380      * ohos.control.flashState [static, enum, public]
1381      *
1382      * camera device property, set current camera flash state
1383      * (i.e. enum: UNAVAILABLE/CHARGING/READY/FLASHING/UNKNOWN ...)
1384      */
1385     OHOS_CONTROL_FLASH_STATE,
1386     /**
1387      * ohos.ability.sceneFlashModes [static, byte[], public]
1388      *
1389      * camera device property, report current camera support scene flash modes
1390      * (i.e. byte[] ...)
1391      */
1392     OHOS_ABILITY_SCENE_FLASH_MODES,
1393     /**
1394      * ohos.device.flashEnd
1395      *
1396      * camera device flashEnd
1397      */
1398     OHOS_DEVICE_FLASH_END,
1399 
1400     /**
1401      * ohos.ability.zoomRatioRange [static, float[], public]
1402      *
1403      * camera device property, report current camera support zoom ratio range
1404      * (i.e. float[] ...)
1405      */
1406     OHOS_ABILITY_ZOOM_RATIO_RANGE = OHOS_DEVICE_ZOOM_START,
1407     /**
1408      * ohos.control.zoomRatio [static, float, public]
1409      *
1410      * camera device property, set current camera zoom ratio
1411      * (i.e. float ...)
1412      */
1413     OHOS_CONTROL_ZOOM_RATIO,
1414     /**
1415      * ohos.control.zoomCropRegion [static, int32[], public]
1416      *
1417      * camera device property, set current camera zoom crop region
1418      * (i.e. int32[] ...)
1419      */
1420     OHOS_CONTROL_ZOOM_CROP_REGION,
1421     /**
1422      * ohos.ability.zoomCrop [static, int32[], public]
1423      *
1424      * camera device property, report current camera zoom crop
1425      * (i.e. int32[] ...)
1426      */
1427     OHOS_ABILITY_ZOOM_CAP,
1428     /**
1429      * ohos.ability.sceneZoomCap [static, int32[], public]
1430      *
1431      * camera device property, report current camera scene zoom crop
1432      * (i.e. int32[] ...)
1433      */
1434     OHOS_ABILITY_SCENE_ZOOM_CAP,
1435     /**
1436      * ohos.status.cameraCurrentZoomRatio [static, uint32, public]
1437      *
1438      * camera device property, query current camera zoom ratio
1439      * (i.e. uint32 ...)
1440      */
1441     OHOS_STATUS_CAMERA_CURRENT_ZOOM_RATIO,
1442     /**
1443      * ohos.control.smoothZoomRatios [static, uint32[], public]
1444      *
1445      * camera device property, set current camera smooth zoom ratios
1446      * (i.e. uint32[] ...)
1447      */
1448     OHOS_CONTROL_SMOOTH_ZOOM_RATIOS,
1449     /**
1450      * ohos.control.prepareZoom [static, enum, public]
1451      *
1452      * camera device property, set current camera prepare zoom
1453      * (i.e. enum: DISABLE/ENABLE...)
1454      */
1455     OHOS_CONTROL_PREPARE_ZOOM,
1456     /**
1457      * ohos.control.cameraZoomPerformance [static, byte, public]
1458      *
1459      * camera device property, set current camera support camera zoom performance
1460      * (i.e. byte ...)
1461      */
1462     OHOS_STATUS_CAMERA_ZOOM_PERFORMANCE,
1463      /**
1464      * ohos.control.zoomBezierCurvePoint [static, byte, public]
1465       *
1466       * camera device property, set current camera support camera BEZIER_CURVC_POINT
1467       * (i.e. byte ...)
1468       */
1469     OHOS_ABILITY_CAMERA_ZOOM_BEZIER_CURVC_POINT,
1470      /**
1471      * ohos.device.zoomEnd
1472      *
1473      * camera device zoomEnd
1474      */
1475     OHOS_DEVICE_ZOOM_END,
1476 
1477     // Camera flow control related
1478     /**
1479      * ohos.ability.streamAvailableBasicConfigurations [static, int32[], public]
1480      *
1481      * camera device property, current camera support stream available basic configurations
1482      * (i.e. int32[]: RGBA_8888, YCBCR_420_888, YCRCB_420_SP, YCBCR_420_SP, JPEG, YCBCR_P010,
1483      *  YCRCB_P010, DNG, 422_YUYV, IMPLEMENTATION_DEFINED ...)
1484      */
1485     OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS = OHOS_STREAM_ABILITY_START,
1486     /**
1487      * ohos.ability.availableFormats [static, int32[], public]
1488      *
1489      * camera device property, query camera support available formats
1490      * (i.e. int32[]: RGBA_8888/YCBCR_420_888/YCRCB_420_SP/YCBCR_420_SP/JPEG/YCBCR_P010/
1491      *  YCRCB_P010/DNG/422_YUYV/IMPLEMENTATION_DEFINED ...)
1492      */
1493     OHOS_STREAM_AVAILABLE_FORMATS,
1494     /**
1495      * ohos.ability.streamAvailableExtendConfigurations [static, int32[], public]
1496      *
1497      * camera device property, query camera support stream available extend configurations
1498      * (i.e. int32[] ...)
1499      */
1500     OHOS_ABILITY_STREAM_AVAILABLE_EXTEND_CONFIGURATIONS,
1501     /**
1502      * ohos.ability.streamQuickThumbnailAvailable [static, enum, public]
1503      *
1504      * camera device property, report camera support stream quick thumbnail available
1505      * (i.e. enum: false/true ...)
1506      */
1507     OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE,
1508     /**
1509      * ohos.ability.portraitResolusion [static, int32[], public]
1510      *
1511      * camera device property, report camera support portrait resolusion
1512      * (i.e. int32[] ...)
1513      */
1514     OHOS_ABILITY_PORTRAIT_RESOLUSION,
1515     /**
1516      * ohos.ability.sceneStreamQuickThumbnailAvailable [static, byte[], public]
1517      *
1518      * camera device property, report camera support scene stream quick thumbnail available
1519      * (i.e. byte[] ...)
1520      */
1521     OHOS_ABILITY_SCENE_STREAM_QUICK_THUMBNAIL_AVAILABLE,
1522     /**
1523      * ohos.ability.deferredImageDelivery [static, byte[], public]
1524      *
1525      * camera device property, report camera support deferred image delivery
1526      * (i.e. byte[] ...)
1527      */
1528     OHOS_ABILITY_DEFERRED_IMAGE_DELIVERY,
1529     /**
1530      * ohos.ability.deferredImageDelivery [static, byte[], public]
1531      *
1532      * camera stream property, set camera support deferred image delivery
1533      * (i.e. byte[] ...)
1534      */
1535     OHOS_CONTROL_DEFERRED_IMAGE_DELIVERY,
1536     /**
1537      * ohos.ability.autoVideoFrameRate [static, byte[], public]
1538      *
1539      * Camera device property, reporting that the camera supports automatic frame rate adjustment
1540      * (i.e. byte[] ...)
1541      * @since 5.1
1542      * @version 1.0
1543      */
1544     OHOS_ABILITY_AUTO_VIDEO_FRAME_RATE,
1545     /*
1546      * ohos.ability.changeToOfflineStreamOpeator [static, byte[], public]
1547      *
1548      * camera stream property, get camera support offline stream
1549      * (i.e. byte[] ...)
1550      */
1551     OHOS_ABILITY_CHANGETO_OFFLINE_STREAM_OPEATOR,
1552     /**
1553      * ohos.control.changeToOfflineStreamOpeator [static, byte[], public]
1554      *
1555      * camera stream property, set camera support offline stream
1556      * (i.e. byte[] ...)
1557      */
1558     OHOS_CONTROL_CHANGETO_OFFLINE_STREAM_OPEATOR,
1559     /**
1560      * ohos.ability.prerecord [static, int32[], public]
1561      *
1562      * camera device property, query camera support prerecord and duration
1563      * (i.e. int32[] ...)
1564      */
1565     OHOS_ABILITY_PRERECORD,
1566     /**
1567      * ohos.stream.abilityEnd
1568      *
1569      * camera stream abilityEnd
1570      */
1571     OHOS_STREAM_ABILITY_END,
1572 
1573     /**
1574      * ohos.control.autoVideoFrameRate [static, byte[], public]
1575      *
1576      * camera stream property, set camera support automatic frame rate adjustment
1577      * (i.e. byte[] ...)
1578      * @since 5.1
1579      * @version 1.0
1580      */
1581     OHOS_CONTROL_AUTO_VIDEO_FRAME_RATE = OHOS_STREAM_CONTROL_START,
1582     /**
1583      * ohos.control.prerecord.mode [static, enum, public]
1584      *
1585      * camera stream property, set current camera prerecord mode
1586      * (i.e. enum: ON/OFF ...)
1587      */
1588     OHOS_CONTROL_PRERECORD_MODE,
1589     /**
1590      * ohos.control.record.state [static, enum, public]
1591      *
1592      * camera stream property, set current camera record state
1593      * (i.e. enum: PRERECORD_START/RECORD_START/RECORD_END  ...)
1594      */
1595     OHOS_CONTROL_RECORD_STATE,
1596     /**
1597      * ohos.stream.controlEnd
1598      *
1599      * camera stream controlEnd
1600      */
1601     OHOS_STREAM_CONTROL_END,
1602 
1603     /**
1604      * ohos.jpeg.gpsCoordinates [static, double[], public]
1605      *
1606      * camera stream property, report current camera support jpeg gps coordinates
1607      * (i.e. double[] ...)
1608      */
1609     OHOS_JPEG_GPS_COORDINATES = OHOS_STREAM_JPEG_START,
1610     /**
1611      * ohos.jpeg.gpsProcessingMethod [static, byte, public]
1612      *
1613      * camera stream property, report current camera support jpeg gps processing method
1614      * (i.e. byte ...)
1615      */
1616     OHOS_JPEG_GPS_PROCESSING_METHOD,
1617     /**
1618      * ohos.jpeg.gpsTimestamp [static, int64, public]
1619      *
1620      * camera stream property, report current camera support jpeg gps timestamp
1621      * (i.e. int64 ...)
1622      */
1623     OHOS_JPEG_GPS_TIMESTAMP,
1624     /**
1625      * ohos.jpeg.orientation [static, int32, public]
1626      *
1627      * camera stream property, report current camera support jpeg gps orientation
1628      * (i.e. int32: 0/90/180/270 ...)
1629      */
1630     OHOS_JPEG_ORIENTATION,
1631     /**
1632      * ohos.jpeg.quality [static, enum, public]
1633      *
1634      * camera stream property, report current camera support jpeg quality
1635      * (i.e. enum: LOW/MIDDLE/HIGH ...)
1636      */
1637     OHOS_JPEG_QUALITY,
1638     /**
1639      * ohos.jpeg.thumbnailQuality [static, byte, public]
1640      *
1641      * camera stream property, report current camera support jpeg thumbnail quality
1642      * (i.e. byte ...)
1643      */
1644     OHOS_JPEG_THUMBNAIL_QUALITY,
1645     /**
1646      * ohos.jpeg.thumbnailSize [static, int32[], public]
1647      *
1648      * camera stream property, report current camera support jpeg thumbnail size
1649      * (i.e. int32[] ...)
1650      */
1651     OHOS_JPEG_THUMBNAIL_SIZE,
1652     /**
1653      * ohos.jpeg.availableThumbnailSizes [static, int32[], public]
1654      *
1655      * camera stream property, report current camera support available thumbnail sizes
1656      * (i.e. int32[] ...)
1657      */
1658     OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES,
1659     /**
1660      * ohos.jpeg.maxSize [static, int32, public]
1661      *
1662      * camera stream property, report current camera support max size
1663      * (i.e. int32 ...)
1664      */
1665     OHOS_JPEG_MAX_SIZE,
1666     /**
1667      * ohos.jpeg.size [static, int32, public]
1668      *
1669      * camera stream property, report current camera support size
1670      * (i.e. int32 ...)
1671      */
1672     OHOS_JPEG_SIZE,
1673     /**
1674      * ohos.stream.jpegEnd
1675      *
1676      * camera stream jpegEnd
1677      */
1678     OHOS_STREAM_JPEG_END,
1679 
1680     /**
1681      * ohos.ability.videoStabilizationModes [static, enum[], public]
1682      *
1683      * camera device property, report current camera support video stabilization modes
1684      * (i.e. enum[]: OFF, LOW, MIDDLE, HIGH, AUTO ...)
1685      */
1686     OHOS_ABILITY_VIDEO_STABILIZATION_MODES = OHOS_STREAM_VIDEO_START,
1687     /**
1688      * ohos.control.videoStabilizationMode [static, enum, public]
1689      *
1690      * camera stream property, set current camera support video stabilization mode
1691      * (i.e. enum: OFF/LOW/MIDDLE/HIGH/AUTO ...)
1692      */
1693     OHOS_CONTROL_VIDEO_STABILIZATION_MODE,
1694     /**
1695      * ohos.control.videoDebugSwitch [static, byte, public]
1696      *
1697      * camera device property, set current camera video debug switch
1698      * (i.e. byte ...)
1699      */
1700     OHOS_CONTROL_VIDEO_DEBUG_SWITCH,
1701     /**
1702      * ohos.stream.videoEnd
1703      *
1704      * camera stream videoEnd
1705      */
1706     OHOS_STREAM_VIDEO_END,
1707 
1708     // camera effects & algorithms
1709     /**
1710      * ohos.ability.sceneFilterTypes [static, enum[], public]
1711      *
1712      * camera device property, report current camera support scene filter types
1713      * (i.e. enum[]: OFF, NONE, CLASSIC, DAWN, PURE, GREY, NATURAL, MORI, FAIR, PINK ...)
1714      */
1715     OHOS_ABILITY_SCENE_FILTER_TYPES = OHOS_CAMERA_EFFECT_START,
1716     /**
1717      * ohos.control.filterTypes [static, enum, public]
1718      *
1719      * camera device property, set current camera support filter types
1720      * (i.e. enum: OFF/NONE/CLASSIC/DAWN/PURE/GREY/NATURAL/MORI/FAIR/PINK ...)
1721      */
1722     OHOS_CONTROL_FILTER_TYPE,
1723     /**
1724      * ohos.ability.scenePortraitEffectTypes [static, enum[], public]
1725      *
1726      * camera device property, report current camera support scene portrait effect types
1727      * (i.e. enum[]: OFF, CIRCLES, HEART, ROTATED, STUDIO, THEATER ...)
1728      */
1729     OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES,
1730     /**
1731      * ohos.control.scenePortraitEffectType [static, enum, public]
1732      *
1733      * camera device property, set current camera support scene portrait effect type
1734      * (i.e. enum: OFF/CIRCLES/HEART/ROTATED/STUDIO/THEATER ...)
1735      */
1736     OHOS_CONTROL_PORTRAIT_EFFECT_TYPE,
1737     /**
1738      * ohos.ability.sceneBeautyTypes [static, enum[], public]
1739      *
1740      * camera device property, report current camera support scene beauty types
1741      * (i.e. enum[]: OFF, AUTO, SKIN_SMOOTH, FACE_SLENDER, SKIN_TONE ...)
1742      */
1743     OHOS_ABILITY_SCENE_BEAUTY_TYPES,
1744     /**
1745      * ohos.control.sceneBeautyTypes [static, enum, public]
1746      *
1747      * camera device property, set current camera support scene beauty types
1748      * (i.e. enum: OFF/AUTO/SKIN_SMOOTH/FACE_SLENDER/SKIN_TONE ...)
1749      */
1750     OHOS_CONTROL_BEAUTY_TYPE,
1751     /**
1752      * ohos.ability.beautyAutoValues [static, byte[], public]
1753      *
1754      * camera device property, report current camera support beauty auto values
1755      * (i.e. byte[] ...)
1756      */
1757     OHOS_ABILITY_BEAUTY_AUTO_VALUES,
1758     /**
1759      * ohos.control.beautyAutoValue [static, byte, public]
1760      *
1761      * camera device property, set current camera support beauty auto value
1762      * (i.e. byte ...)
1763      */
1764     OHOS_CONTROL_BEAUTY_AUTO_VALUE,
1765     /**
1766      * ohos.ability.beautyFaceSlenderValues [static, byte[], public]
1767      *
1768      * camera device property, report current camera support beauty face slender values
1769      * (i.e. byte[] ...)
1770      */
1771     OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES,
1772     /**
1773      * ohos.control.beautyFaceSlenderValues [static, byte, public]
1774      *
1775      * camera device property, set current camera support beauty face slender value
1776      * (i.e. byte ...)
1777      */
1778     OHOS_CONTROL_BEAUTY_FACE_SLENDER_VALUE,
1779     /**
1780      * ohos.ability.beautySkinToneValues [static, int32[], public]
1781      *
1782      * camera device property, report current camera support beauty skin tone values
1783      * (i.e. int32[] ...)
1784      */
1785     OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES,
1786     /**
1787      * ohos.ability.beautySkinToneValue [static, int32, public]
1788      *
1789      * camera device property, set current camera support beauty skin tone value
1790      * (i.e. int32 ...)
1791      */
1792     OHOS_CONTROL_BEAUTY_SKIN_TONE_VALUE,
1793     /**
1794      * ohos.ability.beautySkinSmoothValues [static, byte[], public]
1795      *
1796      * camera device property, report current camera support beauty skin smooth values
1797      * (i.e. byte[] ...)
1798      */
1799     OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES,
1800     /**
1801      * ohos.ability.beautySkinSmoothValue [static, byte, public]
1802      *
1803      * camera device property, set current camera support beauty skin smooth value
1804      * (i.e. byte ...)
1805      */
1806     OHOS_CONTROL_BEAUTY_SKIN_SMOOTH_VALUE,
1807     /**
1808      * ohos.ability.camera [static, enum, public]
1809      *
1810      * camera device property, report current camera macro
1811      * (i.e. enum: supported/nosupported ...)
1812      */
1813     OHOS_ABILITY_CAMERA_MACRO_SUPPORTED,
1814     /**
1815      * ohos.ability.sceneMacroCap [static, int32[], public]
1816      *
1817      * camera device property, report current camera different macro capAbility
1818      * (i.e. int32[] ...)
1819      */
1820     OHOS_ABILITY_SCENE_MACRO_CAP,
1821     /**
1822      * ohos.status.camera [static, enum, public]
1823      *
1824      * camera device property, query current camera macro
1825      * (i.e. enum: disbale/enable ...)
1826      */
1827     OHOS_CAMERA_MACRO_STATUS,
1828     /**
1829      * ohos.control.camera [static, enum, public]
1830      *
1831      * camera device property, set current camera macro
1832      * (i.e. enum: disbale/enable ...)
1833      */
1834     OHOS_CONTROL_CAMERA_MACRO,
1835     /**
1836      * ohos.ability.cameraVirtualApertureRange [static, float[], public]
1837      *
1838      * camera device property, report current camera virtual aperture range
1839      * (i.e. float[] ...)
1840      */
1841     OHOS_ABILITY_CAMERA_VIRTUAL_APERTURE_RANGE,
1842     /**
1843      * ohos.control.cameraVirtualApertureValue [static, float, public]
1844      *
1845      * camera device property, set current camera virtual aperture value
1846      * (i.e. float ...)
1847      */
1848     OHOS_CONTROL_CAMERA_VIRTUAL_APERTURE_VALUE,
1849     /**
1850      * ohos.control.cameraPhysicalAperttureRange [static, float[], public]
1851      *
1852      * camera device property, set current camera physical aperture range
1853      * (i.e. float[] ...)
1854      */
1855     OHOS_ABILITY_CAMERA_PHYSICAL_APERTURE_RANGE,
1856     /**
1857      * ohos.control.cameraPhysicalAperttureValue [static, float, public]
1858      *
1859      * camera device property, set current camera physical aperture value
1860      * (i.e. float ...)
1861      */
1862     OHOS_CONTROL_CAMERA_PHYSICAL_APERTURE_VALUE,
1863     /**
1864      * ohos.status.cameraApertureValue [static, float, public]
1865      *
1866      * camera device property, query current camera aperture value
1867      * (i.e. float ...)
1868      */
1869     OHOS_STATUS_CAMERA_APERTURE_VALUE,
1870     /**
1871      * ohos.device.exitCameraEvent [static, byte, public]
1872      *
1873      * camera device property, set current camera exitCamera event
1874      * (i.e. byte ...)
1875      */
1876     OHOS_DEVICE_EXITCAMERA_EVENT,
1877     /**
1878      * ohos.control.motionDetectionCheckArea [static, float[], public]
1879      *
1880      * camera device property, report current camera motion detection check area
1881      * (i.e. float[] ...)
1882      */
1883     OHOS_CONTROL_MOTION_DETECTION_CHECK_AREA,
1884     /**
1885      * ohos.status.slowMotionDetection [static, enum, public]
1886      *
1887      * camera device property, query current camera slow motion recording status
1888      * (i.e. enum: disable/ready/start/recording/finish ...)
1889      */
1890     OHOS_STATUS_SLOW_MOTION_DETECTION,
1891     /**
1892      * ohos.ability.motionDetectionSupport [static, enum, public]
1893      *
1894      * camera device property, report current camera motion detection
1895      * (i.e. enum: support/nosupport ...)
1896      */
1897     OHOS_ABILITY_MOTION_DETECTION_SUPPORT,
1898     /**
1899      * ohos.control.motionDetection [static, enum, public]
1900      *
1901      * camera device property, set current camera operation status detection switch
1902      * (i.e. enum: disable/enable ...)
1903      */
1904     OHOS_CONTROL_MOTION_DETECTION,
1905     /**
1906      * ohos.ability.exposureHintSupported [static, byte, public]
1907      *
1908      * camera device property, report current camera screen exposure
1909      * (i.e. byte ...)
1910      */
1911     OHOS_ABILITY_EXPOSURE_HINT_SUPPORTED,
1912     /**
1913      * ohos.control.exposureHintMode [static, byte, public]
1914      *
1915      * camera device property, set current camera screen exposure
1916      * (i.e. byte ...)
1917      */
1918     OHOS_CONTROL_EXPOSURE_HINT_MODE,
1919     /**
1920      * ohos.status.algoMeanY [static, uint32, public]
1921      *
1922      * camera device property, query current camera screen exposure
1923      * (i.e. uint32 ...)
1924      */
1925     OHOS_STATUS_ALGO_MEAN_Y,
1926     /**
1927      * ohos.status.previewPhysicalCameraId [static, byte, public]
1928      *
1929      * camera device property, query current camera preview shot id
1930      * (i.e. byte ...)
1931      */
1932     OHOS_STATUS_PREVIEW_PHYSICAL_CAMERA_ID,
1933     /**
1934      * ohos.ability.captureExpectTime [static, uint32[], public]
1935      *
1936      * camera device property, report current camera expect time
1937      * (i.e. uint32[] ...)
1938      */
1939     OHOS_ABILITY_CAPTURE_EXPECT_TIME,
1940     /**
1941      * ohos.ability.effectSuggestionSupported [static, int32[], public]
1942      *
1943      * camera device property, report current camera supported effect suggestion, report by mode
1944      * (i.e. int32[] {mode1, effectNumber, enum, enum2, ..., -1, ...}...)
1945      */
1946     OHOS_ABILITY_EFFECT_SUGGESTION_SUPPORTED,
1947     /**
1948      * ohos.control.effectSuggestion [static, enum, public]
1949      *
1950      * camera device property, set current camera enable or disable effect suggestion, set by mode
1951      * (i.e. enum 0(disable)/1(enable) ...)
1952      */
1953     OHOS_CONTROL_EFFECT_SUGGESTION,
1954     /**
1955      * ohos.control.effectSuggestionDetection [static, byte[], public]
1956      *
1957      * camera device property, init effect suggestion, set current camera enable or disable effect suggestion
1958      * (i.e. byte[] [enum, 0(disable)/1(enable), enum2, 0(disable)/1(enable) ...] ...)
1959      */
1960     OHOS_CONTROL_EFFECT_SUGGESTION_DETECTION,
1961     /**
1962      * ohos.camera.effectSuggestionType [static, enum, public]
1963      *
1964      * camera device property, query current camera effect suggestion type
1965      * (i.e. enum  NONE/PORTRAIT/FOOD/SKY/SUNRISE_SUNSET ...)
1966      */
1967     OHOS_CAMERA_EFFECT_SUGGESTION_TYPE,
1968     /**
1969      * ohos.control.effectSuggestionType [static, byte[], public]
1970      *
1971      * camera device property, set current effect suggestion enable or disable
1972      * (i.e. byte[] [enum, 0(disable)/1(enable)] ...)
1973      */
1974     OHOS_CONTROL_EFFECT_SUGGESTION_TYPE,
1975     /**
1976      * ohos.ability.availableProfileLevel [static, int32[], public]
1977      *
1978      * camera device property, report current camera available profile level
1979      * (i.e. int32[] ...)
1980      */
1981     OHOS_ABILITY_AVAILABLE_PROFILE_LEVEL,
1982     /**
1983      * ohos.ability.availablePreviewProfile [static, int32[], public]
1984      *
1985      * camera device property, report current camera available preview profile
1986      * (i.e. int32[] ...)
1987      */
1988     OHOS_ABILITY_AVAILABLE_PREVIEW_PROFILE,
1989     /**
1990      * ohos.ability.availablePhotoProfile [static, int32[], public]
1991      *
1992      * camera device property, report current camera available photo profile
1993      * (i.e. int32[] ...)
1994      */
1995     OHOS_ABILITY_AVAILABLE_PHOTO_PROFILE,
1996     /**
1997      * ohos.ability.availableVideoProfile [static, int32[], public]
1998      *
1999      * camera device property, report current camera available video profile
2000      * (i.e. int32[] ...)
2001      */
2002     OHOS_ABILITY_AVAILABLE_VIDEO_PROFILE,
2003     /**
2004      * ohos.ability.availableMetadataProfile [static, int32[], public]
2005      *
2006      * camera device property, report current camera available metadata profile
2007      * (i.e. int32[] ...)
2008      */
2009     OHOS_ABILITY_AVAILABLE_METADATA_PROFILE,
2010     /**
2011      * ohos.ability.availableConfigurations [static, int32[], public]
2012      *
2013      * camera device property, report current camera available configurations
2014      * (i.e. int32[] ...)
2015      */
2016     OHOS_ABILITY_AVAILABLE_CONFIGURATIONS,
2017     /**
2018      * ohos.ability.conflictConfigurations [static, int32[], public]
2019      *
2020      * camera device property, report current camera conflict configurations
2021      * (i.e. int32[] ...)
2022      */
2023     OHOS_ABILITY_CONFLICT_CONFIGURATIONS,
2024     /**
2025      * ohos.ability.lightPaintingType [static, byte[], public]
2026      *
2027      * camera device property, report current camera light painting type
2028      * (i.e. byte[] ...)
2029      */
2030     OHOS_ABILITY_LIGHT_PAINTING_TYPE,
2031     /**
2032      * ohos.control.lightPaintingType [static, byte[], public]
2033      *
2034      * camera device property, set current camera light painting type
2035      * (i.e. byte[] [enum, 0(car)/1(star)/2(water)/3(light)])
2036      */
2037     OHOS_CONTROL_LIGHT_PAINTING_TYPE,
2038     /**
2039      * ohos.control.lightPaintingFlash [static, byte[], public]
2040      *
2041      * camera device property, set current camera light painting flash
2042      * (i.e. byte[] ...)
2043      */
2044     OHOS_CONTROL_LIGHT_PAINTING_FLASH,
2045     /**
2046      * ohos.control.timeLapseInterval [static, uint32_t[], public]
2047      *
2048      * camera device property, set current camera time lapse interval
2049      * (i.e. uint32_t[] ...)
2050      */
2051     OHOS_CONTROL_TIME_LAPSE_INTERVAL,
2052     /**
2053      * ohos.control.timeLapseTryaeState [static, byte[], public]
2054      *
2055      * camera device property, set current camera time lapse tryae state
2056      * (i.e. byte[] ...)
2057      */
2058     OHOS_CONTROL_TIME_LAPSE_TRYAE_STATE,
2059     /**
2060      * ohos.status.timeLapsePreviewType [static, byte[], public]
2061      *
2062      * camera device property, query current camera time lapse preview type
2063      * (i.e. byte[] ...)
2064      */
2065     OHOS_STATUS_TIME_LAPSE_PREVIEW_TYPE,
2066     /**
2067      * ohos.status.timeLapseTryaeHint [static, byte[], public]
2068      *
2069      * camera device property, query current camera time lapse tryae hint
2070      * (i.e. byte[] ...)
2071      */
2072     OHOS_STATUS_TIME_LAPSE_TRYAE_HINT,
2073     /**
2074      * ohos.status.timeLapseCaptureInterval [static, uint32_t[], public]
2075      *
2076      * camera device property, query current camera time lapse capture interval
2077      * (i.e. uint32_t[] ...)
2078      */
2079     OHOS_STATUS_TIME_LAPSE_CAPTURE_INTERVAL,
2080     /**
2081      * ohos.status.timeLapseTryaeDone [static, byte[], public]
2082      *
2083      * camera device property, query current camera time lapse tryae done
2084      * (i.e. byte[] ...)
2085      */
2086     OHOS_STATUS_TIME_LAPSE_TRYAE_DONE,
2087     /**
2088      * ohos.control.timeLapseRecordState [static, byte[], public]
2089      *
2090      * camera device property, set current camera time lapse record state
2091      * (i.e. byte[] ...)
2092      */
2093     OHOS_CONTROL_TIME_LAPSE_RECORD_STATE,
2094     /**
2095      * ohos.control.timeLapsePreviewType [static, byte[], public]
2096      *
2097      * camera device property, set current camera time lapse preview type
2098      * (i.e. byte[] ...)
2099      */
2100     OHOS_CONTROL_TIME_LAPSE_PREVIEW_TYPE,
2101     /**
2102      * ohos.ability.timeLapseIntervalRange [static, uint32_t[], public]
2103      *
2104      * camera device property, report current camera time lapse interval range
2105      * (i.e. uint32_t[] ...)
2106      */
2107     OHOS_ABILITY_TIME_LAPSE_INTERVAL_RANGE,
2108     /**
2109      * ohos.ability.lcdFlash [static, int32_t[], public]
2110      *
2111      * camera device property, report current camera lcd flash
2112      * (i.e. int32_t[] ...)
2113      */
2114     OHOS_ABILITY_LCD_FLASH,
2115     /**
2116      * ohos.control.lcdFlashDetection [static, byte[], public]
2117      *
2118      * camera device property, set current camera lcd flash detection
2119      * (i.e. byte[] ...)
2120      */
2121     OHOS_CONTROL_LCD_FLASH_DETECTION,
2122     /**
2123      * ohos.control.lcdFlash [static, byte[], public]
2124      *
2125      * camera device property, set current camera lcd flash
2126      * (i.e. byte[] ...)
2127      */
2128     OHOS_CONTROL_LCD_FLASH,
2129     /**
2130      * ohos.status.lcdFlashStatus [static, int32_t[], public]
2131      *
2132      * camera device property, quiry current camera lcd flash status
2133      * (i.e. int32_t[] ...)
2134      */
2135     OHOS_STATUS_LCD_FLASH_STATUS,
2136     /**
2137      * ohos.ability.depthDataDelivery [static, int32_t[], public]
2138      *
2139      * camera device property, report current camera depth data delivery
2140      * (i.e. int32_t[] ...)
2141      */
2142     OHOS_ABILITY_DEPTH_DATA_DELIVERY,
2143     /**
2144      * ohos.control.depthDataDeliverySwitch [static, byte[], public]
2145      *
2146      * camera device property, set current camera depth data delivery switch
2147      * (i.e. byte[] ...)
2148      */
2149     OHOS_CONTROL_DEPTH_DATA_DELIVERY_SWITCH,
2150     /**
2151      * ohos.ability.depthDataProfiles [static, int32_t[], public]
2152      *
2153      * camera device property, report current camera depth data profiles
2154      * (i.e. int32_t[] ...)
2155      */
2156     OHOS_ABILITY_DEPTH_DATA_PROFILES,
2157     /**
2158      * ohos.control.depthDataAccuracy [static, int32_t[], public]
2159      *
2160      * camera device property, set current camera depth data accuracy
2161      * (i.e. int32_t[] ...)
2162      */
2163     OHOS_CONTROL_DEPTH_DATA_ACCURACY,
2164     /**
2165      * ohos.ability.cameraIsRetractable [static, byte, public]
2166      *
2167      * camera device property, report current camera retractable
2168      * (i.e. byte ...)
2169      */
2170     OHOS_ABILITY_CAMERA_IS_RETRACTABLE,
2171     /**
2172      * ohos.control.closeAfterSeconds [static, uint32, public]
2173      *
2174      * camera device property, set current camera close after seconds
2175      * (i.e. uint32 ...)
2176      */
2177     OHOS_CONTROL_CAMERA_CLOSE_AFTER_SECONDS,
2178     /**
2179      * ohos.status.movingPhotoBufferDuration [static, uint32[], public]
2180      *
2181      * camera device property, report current moving photo buffer duration
2182      * (i.e. uint32[] ...)
2183      */
2184     OHOS_MOVING_PHOTO_BUFFER_DURATION,
2185     /**
2186      * ohos.movingPhotoStart [static, uint32[], public]
2187      *
2188      * camera device property, report current moving photo start time
2189      * (i.e. uint32[] ...)
2190      */
2191     OHOS_MOVING_PHOTO_START,
2192     /**
2193      * ohos.movingPhotoEnd [static, int64[], public]
2194      *
2195      * camera device property, report current moving photo end time
2196      * (i.e. int64[] ...)
2197      */
2198     OHOS_MOVING_PHOTO_END,
2199     /**
2200      * ohos.ability.captureMacroDepthFusionSupported [static, byte, public]
2201      *
2202      * camera device property, report current capture macro depth fusion supported
2203      * (i.e. byte ...)
2204      */
2205     OHOS_ABILITY_CAPTURE_MACRO_DEPTH_FUSION_SUPPORTED,
2206     /**
2207      * ohos.ability.captureMacroDepthFusionZoomRange [static, float[], public]
2208      *
2209      * camera device property, report current capture macro depth fusion zoom range
2210      * (i.e. float[] ...)
2211      */
2212     OHOS_ABILITY_CAPTURE_MACRO_DEPTH_FUSION_ZOOM_RANGE,
2213     /**
2214      * ohos.control.captureMacroDepthFusion [static, byte, public]
2215      *
2216      * camera device property, set current capture macro depth fusion
2217      * (i.e. byte ...)
2218      */
2219     OHOS_CONTROL_CAPTURE_MACRO_DEPTH_FUSION,
2220     /**
2221      * ohos.ability.cameraPortraitThemeSupported [static, byte, public]
2222      *
2223      * camera device property, report current camera portrait theme supported
2224      * (i.e. byte ...)
2225      */
2226     OHOS_ABILITY_CAMERA_PORTRAIT_THEME_SUPPORTED,
2227     /**
2228      * ohos.ability.cameraPortraitThemeTypes [static, byte[], public]
2229      *
2230      * camera device property, report current camera supported portrait theme types
2231      * (i.e. byte[] ...)
2232      */
2233     OHOS_ABILITY_CAMERA_PORTRAIT_THEME_TYPES,
2234     /**
2235      * ohos.control.cameraPortraitThemeType [static, byte, public]
2236      *
2237      * camera device property, set current camera portrait theme type
2238      * (i.e. byte ...)
2239      */
2240     OHOS_CONTROL_CAMERA_PORTRAIT_THEME_TYPE,
2241     /**
2242      * ohos.ability.cameraVideoRotationSupported [static, byte, public]
2243      *
2244      * camera device property, report current camera video rotation supported
2245      * (i.e. byte ...)
2246      */
2247     OHOS_ABILITY_CAMERA_VIDEO_ROTATION_SUPPORTED,
2248     /**
2249      * ohos.ability.cameraVideoRotation [static, int32[], public]
2250      *
2251      * camera device property, report current camera supported video rotation
2252      * (i.e. int32[] ...)
2253      */
2254     OHOS_ABILITY_CAMERA_VIDEO_ROTATION,
2255     /**
2256      * ohos.control.cameraVideoRotation [static, int32, public]
2257      *
2258      * camera device property, set current camera video rotation
2259      * (i.e. int32 ...)
2260      */
2261     OHOS_CONTROL_CAMERA_VIDEO_ROTATION,
2262     /**
2263      * ohos.ability.colorReservationTypes [static, enum[], public]
2264      *
2265      * camera device property, report current camera support color reservation types
2266      * (i.e. enum[]: NONE, PORTRAIT ...)
2267      */
2268     OHOS_ABILITY_COLOR_RESERVATION_TYPES,
2269     /**
2270      * ohos.control.colorReservationType [static, enum, public]
2271      *
2272      * camera device property, set current camera color reservation type
2273      * (i.e. enum: NONE/PORTRAIT ...)
2274      */
2275     OHOS_CONTROL_COLOR_RESERVATION_TYPE,
2276     /**
2277      * ohos.camera.effectEnd
2278      *
2279      * camera effect end
2280      */
2281     OHOS_CAMERA_EFFECT_END,
2282 
2283     // camera secure related
2284     /**
2285      * ohos.control.secureFaceMode [static, uint32, public]
2286      *
2287      * camera device property, set current camera secure face mode
2288      * (i.e. uint32 ...)
2289      */
2290     OHOS_CONTROL_SECURE_FACE_MODE = OHOS_CAMERA_SECURE_START,
2291     /**
2292      * ohos.control.secureFaceInfo [static, uint32[], public]
2293      *
2294      * camera device property, set current camera secure face info
2295      * (i.e. uint32[] ...)
2296      */
2297     OHOS_CONTROL_SECURE_FACE_INFO,
2298     /**
2299      * ohos.control.secureFaceAuthResult [static, uint32, public]
2300      *
2301      * camera device property, set current camera face auth result
2302      * (i.e. uint32 ...)
2303      */
2304     OHOS_CONTROL_SECURE_FACE_AUTH_RESULT,
2305     /**
2306      * ohos.control.secureFlashSeq [static, uint32[], public]
2307      *
2308      * camera device property, set current camera secure flash seq
2309      * (i.e. uint32[] ...)
2310      */
2311     OHOS_CONTROL_SECURE_FLASH_SEQ,
2312     /**
2313      * ohos.control.secureIrLedSwitch [static, byte, public]
2314      *
2315      * camera device property, set current camera IR lens
2316      * (i.e. byte ...)
2317      */
2318     OHOS_CONTROL_SECURE_IR_LED_SWITCH,
2319     /**
2320      * ohos.control.secureIrLockAeSwitch [static, byte, public]
2321      *
2322      * camera device property, set current camera IR lens lockae
2323      * (i.e. byte ...)
2324      */
2325     OHOS_CONTROL_SECURE_IR_LOCKAE_SWITCH,
2326     /**
2327      * ohos.camera.secureEnd
2328      *
2329      * camera secure end
2330      */
2331     OHOS_CAMERA_SECURE_END,
2332 
2333     //XMAGE MODE
2334     /**
2335      * ohos.control.supportedColorModes [static, enum[], public]
2336      *
2337      * camera device property, report current camera color modes
2338      * (i.e. enum[]: normal, bright, soft, mono ...)
2339      */
2340     OHOS_ABILITY_SUPPORTED_COLOR_MODES = OHOS_XMAGE_COLOR_MODES_START,
2341     /**
2342      * ohos.control.supportedColorModes [static, enum, public]
2343      *
2344      * camera device property, set current camera color modes
2345      * (i.e. enum: normal/bright/soft/mono ...)
2346      */
2347     OHOS_CONTROL_SUPPORTED_COLOR_MODES,
2348     /**
2349      * ohos.xmage.colorMoodesEnd
2350      *
2351      * camera xmage end
2352      */
2353     OHOS_XMAGE_COLOR_MODES_END,
2354     /**
2355      * ohos.camera.abilityLightStatus [static, uint8, public]
2356      *
2357      * camera ability light status
2358      * (i.e. enum 0(disable)/1(enable) ...)
2359      */
2360     OHOS_ABILITY_LIGHT_STATUS = OHOS_LIGHT_STATUS_START,
2361     /**
2362      * ohos.camera.controlLightStatus [static, uint8, public]
2363      *
2364      * camera control light status
2365      * (i.e. enum 0(disable)/1(enable) ...)
2366      */
2367     OHOS_CONTROL_LIGHT_STATUS,
2368     /**
2369      * ohos.camera.lightStatus [static, enum, public]
2370      *
2371      * camera light status
2372      * (i.e. enum 0(true)/1(false) ...)
2373      */
2374     OHOS_STATUS_LIGHT_STATUS,
2375     /**
2376      * ohos.camera.lightStatus [static, enum, public]
2377      *
2378      * camera light status end
2379      */
2380     OHOS_LIGHT_STATUS_END,
2381 } camera_device_metadata_tag_t;
2382 
2383 // switch type tag enumeration values
2384 typedef enum camera_switch_enum {
2385     OHOS_CAMERA_SWTICH_OFF = 0,
2386     OHOS_CAMERA_SWTICH_ON,
2387 } camera_switch_enum_t;
2388 
2389 // OHOS_ABILITY_CAMERA_USED_AS_POSITION enumeration values
2390 // OHOS_ABILITY_CAMERA_POSITION enumeration values
2391 typedef enum camera_position_enum {
2392     OHOS_CAMERA_POSITION_FRONT = 0,
2393     OHOS_CAMERA_POSITION_BACK,
2394     OHOS_CAMERA_POSITION_OTHER
2395 } camera_position_enum_t;
2396 
2397 // OHOS_ABILITY_CAMERA_TYPE enumeration values
2398 typedef enum camera_type_enum {
2399     OHOS_CAMERA_TYPE_WIDE_ANGLE = 0,
2400     OHOS_CAMERA_TYPE_ULTRA_WIDE,
2401     OHOS_CAMERA_TYPE_TELTPHOTO,
2402     OHOS_CAMERA_TYPE_TRUE_DEAPTH,
2403     OHOS_CAMERA_TYPE_LOGICAL,
2404     OHOS_CAMERA_TYPE_UNSPECIFIED,
2405 } camera_type_enum_t;
2406 
2407 // OHOS_ABILITY_CAMERA_CONNECTION_TYPE enumeration values
2408 typedef enum camera_connection_type {
2409     OHOS_CAMERA_CONNECTION_TYPE_BUILTIN = 0,
2410     OHOS_CAMERA_CONNECTION_TYPE_USB_PLUGIN,
2411     OHOS_CAMERA_CONNECTION_TYPE_REMOTE,
2412 } camera_connection_type_t;
2413 
2414 // OHOS_CONTROL_EXPOSUREMODE
2415 // and OHOS_ABILITY_EXPOSURE_MODES enumeration values
2416 typedef enum camera_exposure_mode_enum {
2417     OHOS_CAMERA_EXPOSURE_MODE_MANUAL = 0,
2418     OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO,
2419     OHOS_CAMERA_EXPOSURE_MODE_LOCKED,
2420     OHOS_CAMERA_EXPOSURE_MODE_AUTO
2421 } camera_exposure_mode_enum_t;
2422 
2423 // OHOS_CONTROL_FOCUS_MODE and OHOS_ABILITY_FOCUS_MODES enumeration values
2424 typedef enum camera_focus_mode_enum {
2425     OHOS_CAMERA_FOCUS_MODE_MANUAL = 0,
2426     OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO,
2427     OHOS_CAMERA_FOCUS_MODE_AUTO,
2428     OHOS_CAMERA_FOCUS_MODE_LOCKED
2429 } camera_focus_mode_enum_t;
2430 
2431 // OHOS_ABILITY_FOCUS_ASSIST_FLASH_SUPPORTED_MODES enumeration values
2432 typedef enum camera_focus_assist_flash_mode_enum {
2433     OHOS_CAMERA_FOCUS_ASSIST_FLASH_MODE_DEFAULT = 0,
2434     OHOS_CAMERA_FOCUS_ASSIST_FLASH_MODE_AUTO,
2435     OHOS_CAMERA_FOCUS_ASSIST_FLASH_MODE_ON,
2436     OHOS_CAMERA_FOCUS_ASSIST_FLASH_MODE_OFF
2437 } camera_focus_assist_flash_mode_enum_t;
2438 
2439 // OHOS_CONTROL_FLASHMODE and OHOS_ABILITY_FLASH_MODES enumeration values
2440 typedef enum camera_flash_mode_enum {
2441     OHOS_CAMERA_FLASH_MODE_CLOSE = 0,
2442     OHOS_CAMERA_FLASH_MODE_OPEN,
2443     OHOS_CAMERA_FLASH_MODE_AUTO,
2444     OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN
2445 } camera_flash_mode_enum_t;
2446 
2447 // OHOS_CONTROL_FLASH_STATE enumeration values
2448 typedef enum camera_flash_state_enum {
2449     OHOS_CAMERA_FLASH_STATE_UNAVAILABLE = 0,
2450     OHOS_CAMERA_FLASH_STATE_CHARGING,
2451     OHOS_CAMERA_FLASH_STATE_READY,
2452     OHOS_CAMERA_FLASH_STATE_FLASHING,
2453     OHOS_CAMERA_FLASH_STATE_UNKNOWN
2454 } camera_flash_state_enum_t;
2455 
2456 // OHOS_CONTROL_AE_ANTIBANDING_MODE enumeration values
2457 typedef enum camera_ae_antibanding_mode {
2458     OHOS_CAMERA_AE_ANTIBANDING_MODE_OFF,
2459     OHOS_CAMERA_AE_ANTIBANDING_MODE_50HZ,
2460     OHOS_CAMERA_AE_ANTIBANDING_MODE_60HZ,
2461     OHOS_CAMERA_AE_ANTIBANDING_MODE_AUTO,
2462 } camera_ae_antibanding_mode_t;
2463 
2464 // OHOS_ABILITY_AE_LOCK
2465 // OHOS_CONTROL_AE_LOCK enumeration values
2466 typedef enum camera_ae_lock {
2467     OHOS_CAMERA_AE_LOCK_OFF,
2468     OHOS_CAMERA_AE_LOCK_ON,
2469 } camera_ae_lock_t;
2470 
2471 // OHOS_CONTROL_AE_MODE enumeration values
2472 typedef enum camera_ae_mode {
2473     OHOS_CAMERA_AE_MODE_OFF,
2474     OHOS_CAMERA_AE_MODE_ON,
2475     OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH,
2476     OHOS_CAMERA_AE_MODE_ON_ALWAYS_FLASH,
2477     OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH_REDEYE,
2478     OHOS_CAMERA_AE_MODE_ON_EXTERNAL_FLASH,
2479 } camera_ae_mode_t;
2480 
2481 // OHOS_CONTROL_AF_MODE
2482 // and OHOS_CONTROL_AF_AVAILABLE_MODES enumeration values
2483 typedef enum camera_af_mode {
2484     OHOS_CAMERA_AF_MODE_OFF,
2485     OHOS_CAMERA_AF_MODE_AUTO,
2486     OHOS_CAMERA_AF_MODE_MACRO,
2487     OHOS_CAMERA_AF_MODE_CONTINUOUS_VIDEO,
2488     OHOS_CAMERA_AF_MODE_CONTINUOUS_PICTURE,
2489     OHOS_CAMERA_AF_MODE_EDOF,
2490 } camera_af_mode_t;
2491 
2492 // OHOS_CONTROL_AF_TRIGGER enumeration values
2493 typedef enum camera_af_trigger {
2494     OHOS_CAMERA_AF_TRIGGER_IDLE,
2495     OHOS_CAMERA_AF_TRIGGER_START,
2496     OHOS_CAMERA_AF_TRIGGER_CANCEL,
2497 } camera_af_trigger_t;
2498 
2499 // OHOS_CONTROL_AF_STATE enumeration values
2500 typedef enum camera_af_state {
2501     OHOS_CAMERA_AF_STATE_INACTIVE,
2502     OHOS_CAMERA_AF_STATE_PASSIVE_SCAN,
2503     OHOS_CAMERA_AF_STATE_PASSIVE_FOCUSED,
2504     OHOS_CAMERA_AF_STATE_ACTIVE_SCAN,
2505     OHOS_CAMERA_AF_STATE_FOCUSED_LOCKED,
2506     OHOS_CAMERA_AF_STATE_NOT_FOCUSED_LOCKED,
2507     OHOS_CAMERA_AF_STATE_PASSIVE_UNFOCUSED,
2508 } camera_af_state_t;
2509 
2510 // OHOS_CONTROL_AWB_LOCK enumeration values
2511 typedef enum camera_awb_lock {
2512     OHOS_CAMERA_AWB_LOCK_OFF,
2513     OHOS_CAMERA_AWB_LOCK_ON,
2514 } camera_awb_lock_t;
2515 
2516 // OHOS_ABILITY_AWB_MODES and OHOS_CONTROL_AWB_MODE enumeration values
2517 typedef enum camera_awb_mode {
2518     OHOS_CAMERA_AWB_MODE_OFF,
2519     OHOS_CAMERA_AWB_MODE_AUTO,
2520     OHOS_CAMERA_AWB_MODE_INCANDESCENT,
2521     OHOS_CAMERA_AWB_MODE_FLUORESCENT,
2522     OHOS_CAMERA_AWB_MODE_WARM_FLUORESCENT,
2523     OHOS_CAMERA_AWB_MODE_DAYLIGHT,
2524     OHOS_CAMERA_AWB_MODE_CLOUDY_DAYLIGHT,
2525     OHOS_CAMERA_AWB_MODE_TWILIGHT,
2526     OHOS_CAMERA_AWB_MODE_SHADE,
2527 } camera_awb_mode_t;
2528 
2529 // OHOS_STATISTICS_FACE_DETECT_MODE
2530 // and OHOS_STATISTICS_FACE_DETECT_SWITCH enumeration values
2531 typedef enum camera_face_detect_mode {
2532     OHOS_CAMERA_FACE_DETECT_MODE_OFF,
2533     OHOS_CAMERA_FACE_DETECT_MODE_SIMPLE
2534 } camera_face_detect_mode_t;
2535 
2536 // OHOS_STATISTICS_HISTOGRAM_MODE enumeration values
2537 typedef enum camera_histogram_mode {
2538     OHOS_CAMERA_HISTOGRAM_MODE_OFF,
2539     OHOS_CAMERA_HISTOGRAM_MODE_ON,
2540 } camera_histogram_mode_t;
2541 
2542 // OHOS_STREAM_AVAILABLE_FORMATS
2543 // and OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS enumeration values
2544 typedef enum camera_format {
2545     OHOS_CAMERA_FORMAT_RGBA_8888 = 1,
2546     OHOS_CAMERA_FORMAT_YCBCR_420_888,
2547     OHOS_CAMERA_FORMAT_YCRCB_420_SP,
2548     OHOS_CAMERA_FORMAT_YCBCR_420_SP,
2549     OHOS_CAMERA_FORMAT_JPEG,
2550     OHOS_CAMERA_FORMAT_YCBCR_P010,
2551     OHOS_CAMERA_FORMAT_YCRCB_P010,
2552     OHOS_CAMERA_FORMAT_DNG,
2553     OHOS_CAMERA_FORMAT_422_YUYV,
2554     OHOS_CAMERA_FORMAT_DEPTH_16,
2555     OHOS_CAMERA_FORMAT_DEPTH_32,
2556     OHOS_CAMERA_FORMAT_HEIC,
2557     OHOS_CAMERA_FORMAT_DNG_XDRAW,
2558     OHOS_CAMERA_FORMAT_IMPLEMENTATION_DEFINED = 0x1000,
2559 } camera_format_t;
2560 
2561 // OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE enumeration values
2562 typedef enum camera_quick_thumbnail_available {
2563     OHOS_CAMERA_QUICK_THUMBNAIL_FALSE = 0,
2564     OHOS_CAMERA_QUICK_THUMBNAIL_TRUE,
2565 } camera_quick_thumbnail_available_t;
2566 
2567 // OHOS_CONTROL_FOCUS_STATE enumeration values
2568 typedef enum camera_focus_state {
2569     OHOS_CAMERA_FOCUS_STATE_SCAN,
2570     OHOS_CAMERA_FOCUS_STATE_FOCUSED,
2571     OHOS_CAMERA_FOCUS_STATE_UNFOCUSED,
2572 } camera_focus_state_t;
2573 
2574 // OHOS_CONTROL_METER_MODE and OHOS_ABILITY_METER_MODES enumeration values
2575 typedef enum camera_meter_mode {
2576     OHOS_CAMERA_SPOT_METERING = 0,
2577     OHOS_CAMERA_REGION_METERING,
2578     OHOS_CAMERA_OVERALL_METERING,
2579     OHOS_CAMERA_CENTER_WEIGHTED_METERING,
2580 } camera_meter_mode_t;
2581 
2582 typedef enum camera_exposure_state {
2583     OHOS_CAMERA_EXPOSURE_STATE_SCAN,
2584     OHOS_CAMERA_EXPOSURE_STATE_CONVERGED,
2585 } camera_exposure_state_t;
2586 
2587 // OHOS_CONTROL_CAPTURE_MIRROR enumeration values
2588 typedef enum camera_mirror {
2589     OHOS_CAMERA_MIRROR_OFF = 0,
2590     OHOS_CAMERA_MIRROR_ON,
2591 } camera_mirror_t;
2592 
2593 // OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED
2594 enum CameraMirrorSupport {
2595     OHOS_CAMERA_MIRROR_NOT_SUPPORT = 0,
2596     OHOS_CAMERA_MIRROR_CAPTURE,
2597     OHOS_CAMERA_MIRROR_CAPTURE_VIDEO,
2598 };
2599 
2600 // OHOS_JPEG_ORIENTATION enumeration values
2601 typedef enum camera_jpeg_orientation {
2602     OHOS_CAMERA_JPEG_ROTATION_0 = 0,
2603     OHOS_CAMERA_JPEG_ROTATION_90 = 90,
2604     OHOS_CAMERA_JPEG_ROTATION_180 = 180,
2605     OHOS_CAMERA_JPEG_ROTATION_270 = 270,
2606 } camera_jpeg_orientation_t;
2607 
2608 // OHOS_JPEG_QUALITY enumeration values
2609 typedef enum camera_jpeg_quality {
2610     OHOS_CAMERA_JPEG_LEVEL_LOW = 0,
2611     OHOS_CAMERA_JPEG_LEVEL_MIDDLE,
2612     OHOS_CAMERA_JPEG_LEVEL_HIGH,
2613 } camera_jpeg_quality_t;
2614 
2615 // OHOS_ABILITY_VIDEO_STABILIZATION_MODES
2616 // and OHOS_CONTROL_VIDEO_STABILIZATION_MODE enumeration values
2617 typedef enum camera_video_stabilization_mode {
2618     OHOS_CAMERA_VIDEO_STABILIZATION_OFF = 0,
2619     OHOS_CAMERA_VIDEO_STABILIZATION_LOW,
2620     OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE,
2621     OHOS_CAMERA_VIDEO_STABILIZATION_HIGH,
2622     OHOS_CAMERA_VIDEO_STABILIZATION_AUTO,
2623 } CameraVideoStabilizationMode;
2624 
2625 // OHOS_ABILITY_FLASH_AVAILABLE enumeration values
2626 typedef enum camera_flash_available {
2627     OHOS_CAMERA_FLASH_FALSE = 0,
2628     OHOS_CAMERA_FLASH_TRUE,
2629 } CameraFlashAvailable;
2630 
2631 // OHOS_ABILITY_MEMORY_TYPE enumeration values
2632 typedef enum camera_memory_type_enum {
2633     OHOS_CAMERA_MEMORY_MMAP = 1,
2634     OHOS_CAMERA_MEMORY_USERPTR,
2635     OHOS_CAMERA_MEMORY_OVERLAY,
2636     OHOS_CAMERA_MEMORY_DMABUF,
2637 } camera_memory_type_enum_t;
2638 
2639 // OHOS_ABILITY_MUTE_MODES and OHOS_CONTROL_MUTE_MODE enumeration values
2640 typedef enum camera_mute_mode {
2641     OHOS_CAMERA_MUTE_MODE_OFF,
2642     OHOS_CAMERA_MUTE_MODE_SOLID_COLOR_BLACK,
2643 } camera_mute_mode_t;
2644 
2645 // OHOS_ABILITY_SCENE_FILTER_TYPES enumeration values
2646 typedef enum camera_filter_type {
2647     OHOS_CAMERA_FILTER_TYPE_OFF = 0,
2648     OHOS_CAMERA_FILTER_TYPE_NONE,
2649     OHOS_CAMERA_FILTER_TYPE_CLASSIC,
2650     OHOS_CAMERA_FILTER_TYPE_DAWN,
2651     OHOS_CAMERA_FILTER_TYPE_PURE,
2652     OHOS_CAMERA_FILTER_TYPE_GREY,
2653     OHOS_CAMERA_FILTER_TYPE_NATURAL,
2654     OHOS_CAMERA_FILTER_TYPE_MORI,
2655     OHOS_CAMERA_FILTER_TYPE_FAIR,
2656     OHOS_CAMERA_FILTER_TYPE_PINK,
2657 } camera_filter_type_t;
2658 
2659 // OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES enumeration values
2660 typedef enum camera_portrait_effect_type {
2661     OHOS_CAMERA_PORTRAIT_EFFECT_OFF = 0,
2662     OHOS_CAMERA_PORTRAIT_CIRCLES,
2663     OHOS_CAMERA_PORTRAIT_HEART,
2664     OHOS_CAMERA_PORTRAIT_ROTATED,
2665     OHOS_CAMERA_PORTRAIT_STUDIO,
2666     OHOS_CAMERA_PORTRAIT_THEATER,
2667 } camera_portrait_effect_type_t;
2668 
2669 // OHOS_ABILITY_SCENE_BEAUTY_TYPES enumeration values
2670 typedef enum camera_beauty_type {
2671     OHOS_CAMERA_BEAUTY_TYPE_OFF = 0,
2672     OHOS_CAMERA_BEAUTY_TYPE_AUTO,
2673     OHOS_CAMERA_BEAUTY_TYPE_SKIN_SMOOTH,
2674     OHOS_CAMERA_BEAUTY_TYPE_FACE_SLENDER,
2675     OHOS_CAMERA_BEAUTY_TYPE_SKIN_TONE,
2676 } camera_beauty_type_t;
2677 
2678 //OHOS_ABILITY_SUPPORTED_COLOR_MODES and OHOS_CONTROL_SUPPORTED_COLOR_MODES enumeration
2679 typedef enum camera_xmage_color_type {
2680     CAMERA_CUSTOM_COLOR_NORMAL = 0,
2681     CAMERA_CUSTOM_COLOR_BRIGHT,
2682     CAMERA_CUSTOM_COLOR_SOFT,
2683     CAMERA_CUSTOM_COLOR_MONO,
2684 } camera_xmage_color_type_t;
2685 
2686 // OHOS_ABILITY_CAMERA_FOLDSCREEN_TYPE enumeration values
2687 typedef enum camera_fold_screen_enum {
2688     OHOS_CAMERA_FOLDSCREEN_OTHER = 0,
2689     OHOS_CAMERA_FOLDSCREEN_INNER,
2690     OHOS_CAMERA_FOLDSCREEN_OUTER,
2691 } camera_foldscreen_enum_t;
2692 
2693 // OHOS_ABILITY_CAMERA_MACRO_SUPPORTED enumeration values
2694 typedef enum camera_macro_supported_type {
2695     OHOS_CAMERA_MACRO_NOT_SUPPORTED = 0,
2696     OHOS_CAMERA_MACRO_SUPPORTED,
2697 } camera_macro_supported_type_t;
2698 
2699 // OHOS_CAMERA_MACRO_STATUS and OHOS_CONTROL_CAMERA_MACRO enumeration values
2700 typedef enum camera_macro_status_control_type {
2701     OHOS_CAMERA_MACRO_DISABLE = 0,
2702     OHOS_CAMERA_MACRO_ENABLE,
2703 } camera_macro_status_control_type_t;
2704 
2705 // OHOS_CONTROL_MOON_CAPTURE_BOOST enumeration values
2706 typedef enum camera_moon_capture_boost_control_type {
2707     OHOS_CAMERA_MOON_CAPTURE_BOOST_DISABLE = 0,
2708     OHOS_CAMERA_MOON_CAPTURE_BOOST_ENABLE,
2709 } camera_moon_capture_boost_control_type_t;
2710 
2711 // OHOS_CONTROL_PREPARE_ZOOM enumeration values
2712 typedef enum camera_zoomsmooth_control_type {
2713     OHOS_CAMERA_ZOOMSMOOTH_PREPARE_DISABLE = 0,
2714     OHOS_CAMERA_ZOOMSMOOTH_PREPARE_ENABLE,
2715 } camera_zoomsmooth_control_type_t;
2716 
2717 // OHOS_STATUS_SUPER_SLOW_MOTION enumeration values
2718 typedef enum camera_slow_motion_status_type {
2719     OHOS_CONTROL_SLOW_MOTION_STATUS_DISABLE = 0,
2720     OHOS_CONTROL_SLOW_MOTION_STATUS_READY,
2721     OHOS_CONTROL_SLOW_MOTION_STATUS_START,
2722     OHOS_CONTROL_SLOW_MOTION_STATUS_RECORDING,
2723     OHOS_CONTROL_SLOW_MOTION_STATUS_FINISH,
2724 } camera_slow_motion_status_type_t;
2725 
2726 // OHOS_ABILITY_MOTION_DETECTION_SUPPORT enumeration values
2727 typedef enum camera_motion_detection_supported_type {
2728     OHOS_CAMERA_MOTION_DETECTION_NOT_SUPPORTED = 0,
2729     OHOS_CAMERA_MOTION_DETECTION_SUPPORTED,
2730 } camera_motion_detection_supported_type_t;
2731 
2732 //  OHOS_CONTROL_MOTION_DETECTION enumeration values
2733 typedef enum camera_motion_detection_control_type {
2734     OHOS_CAMERA_MOTION_DETECTION_DISABLE = 0,
2735     OHOS_CAMERA_MOTION_DETECTION_ENABLE,
2736 } camera_motion_detection_control_type_t;
2737 
2738 // OHOS_ABILITY_MOVING_PHOTO
2739 typedef enum moving_photo_enum {
2740     OHOS_CAMERA_MOVING_PHOTO_UNSUPPORT = 0,
2741     OHOS_CAMERA_MOVING_PHOTO_SUPPORT,
2742 } moving_photo_enum_t;
2743 
2744 // OHOS_CONTROL_MOVING_PHOTO
2745 typedef enum control_moving_photo_enum {
2746     OHOS_CAMERA_MOVING_PHOTO_OFF = 0,
2747     OHOS_CAMERA_MOVING_PHOTO_ON,
2748 } control_moving_photo_enum_t;
2749 
2750 // OHOS_STATUS_FLASH_SUGGESTION enumeration values
2751 typedef enum camera_flash_suggestion_supported_enum {
2752     OHOS_CAMERA_FLASH_SUGGESTION_SUPPORTED_CLOSE = 0,
2753     OHOS_CAMERA_FLASH_SUGGESTION_SUPPORTED_OPEN,
2754 } camera_flash_suggestion_supported_enum_t;
2755 
2756 // ABILITY_SUPPORTED_TAGS enumeration values
2757 typedef enum camera_supported_enum {
2758     OHOS_CAMERA_NOT_SUPPORTED = 0,
2759     OHOS_CAMERA_SUPPORTED,
2760 } camera_supported_enum_t;
2761 
2762 // OHOS_CONTROL_HIGH_QUALITY_MODE
2763 typedef enum ControlHighQualityModeEnum {
2764     OHOS_CONTROL_HIGH_QUALITY_MODE_OFF = 0,
2765     OHOS_CONTROL_HIGH_QUALITY_MODE_ON,
2766 } ControlHighQualityModeEnumT;
2767 
2768 // OHOS_CAMERA_EFFECT_SUGGESTION_TYPE
2769 enum CameraEffectSuggestionType {
2770     OHOS_CAMERA_EFFECT_SUGGESTION_NONE = 0,
2771     OHOS_CAMERA_EFFECT_SUGGESTION_PORTRAIT,
2772     OHOS_CAMERA_EFFECT_SUGGESTION_FOOD,
2773     OHOS_CAMERA_EFFECT_SUGGESTION_SKY,
2774     OHOS_CAMERA_EFFECT_SUGGESTION_SUNRISE_SUNSET,
2775     OHOS_CAMERA_EFFECT_SUGGESTION_STAGE
2776 };
2777 
2778 // OHOS_ABILITY_CAMERA_FOLD_STATUS
2779 enum CameraFoldStatus {
2780     OHOS_CAMERA_FOLD_STATUS_NONFOLDABLE = 0,
2781     OHOS_CAMERA_FOLD_STATUS_EXPANDED = 1,
2782     OHOS_CAMERA_FOLD_STATUS_FOLDED = 2,
2783 };
2784 
2785 // OHOS_CONTROL_BURST_CAPTURE
2786 enum CameraBurstCaptureEnum {
2787     OHOS_CONTROL_BURST_CAPTURE_END = 0,
2788     OHOS_CONTROL_BURST_CAPTURE_BEGIN = 1,
2789 };
2790 
2791 // OHOS_ABILITY_LIGHT_PAINTING_TYPE
2792 enum CameraLightPaintingType {
2793     OHOS_CAMERA_LIGHT_PAINTING_CAR = 0,
2794     OHOS_CAMERA_LIGHT_PAINTING_STAR,
2795     OHOS_CAMERA_LIGHT_PAINTING_WATER,
2796     OHOS_CAMERA_LIGHT_PAINTING_LIGHT,
2797 };
2798 
2799 //OHOS_CONTROL_TIME_LAPSE_TRYAE_STATE
2800 enum TimeLapseRecordState {
2801     TIME_LAPSE_IDLE = 0,
2802     TIME_LAPSE_RECORDING = 1,
2803 };
2804 
2805 //OHOS_STATUS_TIME_LAPSE_PREVIEW_TYPE
2806 enum TimeLapsePreviewType {
2807     TIME_LAPSE_PREVIEW_DARK = 1,
2808     TIME_LAPSE_PREVIEW_LIGHT = 2,
2809 };
2810 
2811 // OHOS_ABILITY_STATISTICS_DETECT_TYPE
2812 enum StatisticsDetectType {
2813     OHOS_CAMERA_HUMAN_FACE_DETECT = 0,
2814     OHOS_CAMERA_HUMAN_BODY_DETECT = 1,
2815     OHOS_CAMERA_CAT_FACE_DETECT = 2,
2816     OHOS_CAMERA_CAT_BODY_DETECT = 3,
2817     OHOS_CAMERA_DOG_FACE_DETECT = 4,
2818     OHOS_CAMERA_DOG_BODY_DETECT = 5,
2819     OHOS_CAMERA_SALIENT_DETECT = 6,
2820     OHOS_CAMERA_BAR_CODE_DETECT = 7,
2821     OHOS_CAMERA_BASE_FACE_DETECT = 8,
2822 };
2823 
2824 // OHOS_STATUS_TRIPOD_DETECTION_STATUS
2825 enum TripodStatus {
2826     TRIPOD_STATUS_INVALID = 0,
2827     TRIPOD_STATUS_ACTIVE = 1,
2828     TRIPOD_STATUS_ENTER = 2,
2829     TRIPOD_STATUS_EXITING = 3,
2830 };
2831 
2832 // OHOS_CONTROL_DEPTH_DATA_ACCURACY
2833 enum DepthDataAccuracyType {
2834     OHOS_DEPTH_DATA_ACCURACY_RELATIVE = 1,
2835     OHOS_DEPTH_DATA_ACCURACY_ABSOLUTE,
2836 };
2837 
2838 // OHOS_CONTROL_CAMERA_SESSION_USAGE
2839 enum CameraSessionUsageType {
2840     OHOS_CAMERA_SESSION_USAGE_BOKEH = 0,
2841 };
2842 
2843 // OHOS_CONTROL_CAMERA_SESSION_USAGE
2844 enum CameraSessionUsageControlType {
2845     OHOS_CAMERA_SESSION_USAGE_DISABLE = 0,
2846     OHOS_CAMERA_SESSION_USAGE_ENABLE = 1,
2847 };
2848 
2849 // OHOS_DEVICE_PROTECTION_STATE
2850 enum DeviceProtectionStatus {
2851     OHOS_DEVICE_SWITCH_FREQUENT = 0,
2852     OHOS_DEVICE_EXTERNAL_PRESS = 1,
2853     OHOS_DEVICE_EJECT_BLOCK = 2,
2854     OHOS_DEVICE_FALL_PROTECTION = 3,
2855 };
2856 
2857 enum StatisticsDetectEmotion {
2858     OHOS_EMOTION_NEUTRAL = 0,
2859     OHOS_EMOTION_SADNESS = 1,
2860     OHOS_EMOTION_SMILE = 2,
2861     OHOS_EMOTION_SURPRISE = 3,
2862 };
2863 
2864 // OHOS_ABILITY_CAMERA_PORTRAIT_THEME_SUPPORTED
2865 enum CameraPortraitThemeSupportedType {
2866     OHOS_CAMERA_PORTRAIT_THEME_NOT_SUPPORTED = 0,
2867     OHOS_CAMERA_PORTRAIT_THEME_SUPPORTED,
2868 };
2869 
2870 // OHOS_ABILITY_CAMERA_PORTRAIT_THEME_TYPES
2871 enum CameraPortraitThemeTypes {
2872     OHOS_CAMERA_PORTRAIT_THEME_TYPE_NATURAL = 0,
2873     OHOS_CAMERA_PORTRAIT_THEME_TYPE_DELICATE,
2874     OHOS_CAMERA_PORTRAIT_THEME_TYPE_STYLISH,
2875 };
2876 
2877 // OHOS_ABILITY_CAMERA_VIDEO_ROTATION_SUPPORTED
2878 enum CameraVideoRotationSupportedType {
2879     OHOS_CAMERA_VIDEO_ROTATION_NOT_SUPPORTED = 0,
2880     OHOS_CAMERA_VIDEO_ROTATION_SUPPORTED,
2881 };
2882 
2883 // OHOS_ABILITY_SUN_BLOCK_PREVIEW_TYPES
2884 // OHOS_CONTROL_SUN_BLOCK_PREVIEW_TYPE
2885 enum CameraSunBlockPreviewType {
2886     OHOS_PREVIEW_TYPE_NOT_SUPPORTED = 0,
2887     OHOS_PREVIEW_TYPE_RGB,
2888     OHOS_PREVIEW_TYPE_UV,
2889     OHOS_PREVIEW_TYPE_RGB_UV,
2890 };
2891 
2892 // OHOS_ABILITY_SUN_BLOCK_BLEND_COLORS
2893 // OHOS_CONTROL_SUN_BLOCK_BLEND_COLOR
2894 enum CameraSunBlockBlendColor {
2895     OHOS_BLEND_COLOR_NOT_SUPPORTED = 0,
2896     OHOS_BLEND_COLOR_NONE = 0,
2897     OHOS_BLEND_COLOR_PURPLE = 1,
2898     OHOS_BLEND_COLOR_SILVER = 2,
2899     OHOS_BLEND_COLOR_GOLD = 3,
2900 };
2901 
2902 // OHOS_STATUS_SUN_BLOCK_HINT
2903 enum CameraSunBlockHint {
2904     OHOS_HINT_NO_FACE_DETECTED = 2,
2905     OHOS_HINT_FACE_OUT_OF_BOUND = 3,
2906     OHOS_HINT_MOBILEPHONE_TOO_FAR = 4,
2907     OHOS_HINT_MOBILEPHONE_TOO_NEAR = 5,
2908     OHOS_HINT_FACE_TOO_RIGHT = 6,
2909     OHOS_HINT_FACE_TOO_LEFT = 7,
2910     OHOS_HINT_FACE_TOO_LOWER = 8,
2911     OHOS_HINT_FACE_TOO_TOP = 9,
2912     OHOS_HINT_SUNSCREEN_NO_FULL_COVERAGE = 20,
2913 };
2914 
2915 // OHOS_ABILITY_CAMERA_QUALITY_PRIORITIZATION
2916 enum CameraQualityPrioritization {
2917     OHOS_CAMERA_QUALITY_PRIORITIZATION_HIGH_QUALITY = 0,
2918     OHOS_CAMERA_QUALITY_PRIORITIZATION_POWER_BALANCE,
2919 };
2920 
2921 // OHOS_ABILITY_AUTO_VIDEO_FRAME_RATE
2922 enum CameraStreamAutoFpsControl {
2923     OHOS_STREAM_AUTO_FPS_DISABLE = 0,
2924     OHOS_STREAM_AUTO_FPS_ENABLE,
2925 };
2926 
2927 // OHOS_ABILITY_FOCUS_RANGE_TYPES
2928 // OHOS_CONTROL_FOCUS_RANGE_TYPE
2929 typedef enum camera_focus_range_type {
2930     OHOS_CAMERA_FOCUS_RANGE_AUTO = 0,
2931     OHOS_CAMERA_FOCUS_RANGE_NEAR
2932 } camera_focus_range_type_t;
2933 
2934 // OHOS_ABILITY_FOCUS_DRIVEN_TYPES
2935 // OHOS_CONTROL_FOCUS_DRIVEN_TYPE
2936 typedef enum camera_focus_driven_type {
2937     OHOS_CAMERA_FOCUS_DRIVEN_AUTO = 0,
2938     OHOS_CAMERA_FOCUS_DRIVEN_FACE
2939 } camera_focus_driven_type_t;
2940 
2941 // OHOS_CONTROL_FOCUS_TRACKING_MODE
2942 typedef enum camera_focus_tracking_mode {
2943     OHOS_CAMERA_FOCUS_TRACKING_AUTO = 0,
2944 } camera_focus_tracking_mode_t;
2945 
2946 // OHOS_ABILITY_COLOR_RESERVATION_TYPES
2947 // OHOS_CONTROL_COLOR_RESERVATION_TYPE
2948 typedef enum camera_color_reservation_type {
2949     OHOS_CAMERA_COLOR_RESERVATION_NONE = 0,
2950     OHOS_CAMERA_COLOR_RESERVATION_PORTRAIT
2951 } camera_color_reservation_type_t;
2952 
2953 // OHOS_CONTROL_PRERECORD_MODE
2954 enum CameraPrerecordMode {
2955     OHOS_CAMERA_PRERECORD_MODE_ON = 1,
2956     OHOS_CAMERA_PRERECORD_MODE_OFF = 2,
2957 };
2958 
2959 // OHOS_CONTROL_RECORD_STATE
2960 enum CameraRecordState {
2961     OHOS_CAMERA_RECORD_STATE_PRERECORD_START = 1,
2962     OHOS_CAMERA_RECORD_STATE_RECORD_START = 2,
2963     OHOS_CAMERA_RECORD_STATE_RECORD_STOP = 3,
2964 };
2965 
2966 // OHOS_ABILITY_CAMERA_CONCURRENT_TYPE
2967 enum CameraConcurrentType {
2968     OHOS_CAMERA_COCURRENT_FULL = 0,
2969     OHOS_CAMERA_COCURRENT_LIIMITED,
2970 };
2971 #endif
2972