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