• 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_METADATA_ITEM_INFO_H
17 #define CAMERA_METADATA_ITEM_INFO_H
18 
19 #include "camera_device_ability_items.h"
20 #include "camera_metadata_operator.h"
21 
22 namespace OHOS::Camera {
23 const static size_t OHOS_CAMERA_METADATA_TYPE_SIZE[META_NUM_TYPES] = {
24     [META_TYPE_BYTE] = sizeof(uint8_t),
25     [META_TYPE_INT32] = sizeof(int32_t),
26     [META_TYPE_UINT32] = sizeof(uint32_t),
27     [META_TYPE_FLOAT] = sizeof(float),
28     [META_TYPE_INT64] = sizeof(int64_t),
29     [META_TYPE_DOUBLE] = sizeof(double),
30     [META_TYPE_RATIONAL] = sizeof(camera_rational_t)
31 };
32 
33 static uint32_t g_ohosCameraSectionBounds[OHOS_SECTION_COUNT][2] = {
34     [OHOS_SECTION_CAMERA_PROPERTIES] = {OHOS_CAMERA_PROPERTIES_START,  OHOS_CAMERA_PROPERTIES_END },
35     [OHOS_SECTION_CAMERA_SENSOR] = {OHOS_CAMERA_SENSOR_START,      OHOS_CAMERA_SENSOR_END     },
36     [OHOS_SECTION_CAMERA_SENSOR_INFO] = {OHOS_CAMERA_SENSOR_INFO_START, OHOS_CAMERA_SENSOR_INFO_END},
37     [OHOS_SECTION_CAMERA_STATISTICS] = {OHOS_CAMERA_STATISTICS_START,  OHOS_CAMERA_STATISTICS_END },
38     [OHOS_SECTION_CAMERA_CONTROL] = {OHOS_DEVICE_CONTROL_START,     OHOS_DEVICE_CONTROL_END    },
39     [OHOS_SECTION_DEVICE_EXPOSURE] = {OHOS_DEVICE_EXPOSURE_START,    OHOS_DEVICE_EXPOSURE_END   },
40     [OHOS_SECTION_DEVICE_FOCUS] = {OHOS_DEVICE_FOCUS_START,       OHOS_DEVICE_FOCUS_END      },
41     [OHOS_SECTION_DEVICE_WHITE] = {OHOS_DEVICE_WHITE_BLANCE_START,    OHOS_DEVICE_WHITE_BLANCE_END      },
42     [OHOS_SECTION_DEVICE_FLASH] = {OHOS_DEVICE_FLASH_START,       OHOS_DEVICE_FLASH_END      },
43     [OHOS_SECTION_DEVICE_ZOOM] = {OHOS_DEVICE_ZOOM_START,        OHOS_DEVICE_ZOOM_END       },
44     [OHOS_SECTION_STREAM_ABILITY] = {OHOS_STREAM_ABILITY_START,     OHOS_STREAM_ABILITY_END    },
45     [OHOS_SECTION_STREAM_JPEG] = {OHOS_STREAM_JPEG_START,        OHOS_STREAM_JPEG_END       },
46     [OHOS_SECTION_STREAM_VIDEO] = {OHOS_STREAM_VIDEO_START,       OHOS_STREAM_VIDEO_END      },
47     [OHOS_SECTION_CAMERA_EFFECT] = {OHOS_CAMERA_EFFECT_START, OHOS_CAMERA_EFFECT_END },
48     [OHOS_SECTION_CAMERA_SECURE] = {OHOS_CAMERA_SECURE_START, OHOS_CAMERA_SECURE_END },
49     [OHOS_SECTION_CAMERA_XMAGE] = {OHOS_XMAGE_COLOR_MODES_START, OHOS_XMAGE_COLOR_MODES_END },
50     [OHOS_SECTION_STREAM_CONTROL] = {OHOS_STREAM_CONTROL_START, OHOS_STREAM_CONTROL_END },
51     [OHOS_SECTION_LIGHT_STATUS] = {OHOS_LIGHT_STATUS_START, OHOS_LIGHT_STATUS_END },
52 };
53 
54 static item_info_t g_ohosCameraProperties[OHOS_CAMERA_PROPERTIES_END - OHOS_CAMERA_PROPERTIES_START] = {
55     [OHOS_ABILITY_CAMERA_POSITION - OHOS_CAMERA_PROPERTIES_START] = {"cameraPosition",       META_TYPE_BYTE,  1 },
56     [OHOS_ABILITY_CAMERA_TYPE - OHOS_CAMERA_PROPERTIES_START] = {"cameraType",           META_TYPE_BYTE,  1 },
57     [OHOS_ABILITY_CAMERA_CONNECTION_TYPE -
58         OHOS_CAMERA_PROPERTIES_START] = {"cameraConnectionType", META_TYPE_BYTE,  1 },
59     [OHOS_ABILITY_MEMORY_TYPE - OHOS_CAMERA_PROPERTIES_START] = {"cameraMemoryType", META_TYPE_BYTE, 1},
60     [OHOS_ABILITY_FPS_RANGES - OHOS_CAMERA_PROPERTIES_START] = {"fpsAvailableRanges",   META_TYPE_INT32, -1},
61     [OHOS_ABILITY_FLASH_AVAILABLE - OHOS_CAMERA_PROPERTIES_START] = {"flashAvailable",       META_TYPE_BYTE,  1 },
62     [OHOS_CAMERA_STREAM_ID - OHOS_CAMERA_PROPERTIES_START] = {"streamId",       META_TYPE_INT32,  1 },
63     [OHOS_ABILITY_PRELAUNCH_AVAILABLE - OHOS_CAMERA_PROPERTIES_START] = {"prelaunchAvailable", META_TYPE_BYTE, 1 },
64     [OHOS_ABILITY_CUSTOM_VIDEO_FPS - OHOS_CAMERA_PROPERTIES_START] = {"customVideoFps",   META_TYPE_INT32, -1},
65     [OHOS_ABILITY_CAMERA_MODES - OHOS_CAMERA_PROPERTIES_START] = {"availableCameraModes", META_TYPE_BYTE, -1 },
66     [OHOS_ABILITY_SKETCH_ENABLE_RATIO -
67         OHOS_CAMERA_PROPERTIES_START] = {"sketchEnableRatio",       META_TYPE_FLOAT, -1},
68     [OHOS_ABILITY_SKETCH_REFERENCE_FOV_RATIO -
69         OHOS_CAMERA_PROPERTIES_START] = {"sketchReferenceFovRatio", META_TYPE_FLOAT, -1},
70     [OHOS_ABILITY_SKETCH_INFO_NOTIFICATION -
71         OHOS_CAMERA_PROPERTIES_START] = {"sketchInfoNotification", META_TYPE_INT32, -1},
72     [OHOS_ABILITY_CAMERA_FOLDSCREEN_TYPE -
73         OHOS_CAMERA_PROPERTIES_START] = {"cameraFoldscreenType", META_TYPE_BYTE, 1},
74     [OHOS_ABILITY_AVAILABLE_COLOR_SPACES -
75         OHOS_CAMERA_PROPERTIES_START] = {"availableColorSpaces", META_TYPE_INT32, -1},
76     [OHOS_CAMERA_USER_ID -
77         OHOS_CAMERA_PROPERTIES_START] = {"cameraUserId", META_TYPE_INT32, -1},
78     [OHOS_ABILITY_NIGHT_MODE_SUPPORTED_EXPOSURE_TIME -
79         OHOS_CAMERA_PROPERTIES_START] = {"nightModeSupportedExposureTime", META_TYPE_INT32, 1},
80     [OHOS_CAMERA_MESURE_EXPOSURE_TIME -
81         OHOS_CAMERA_PROPERTIES_START] = {"cameraMesureExposureTime", META_TYPE_UINT32, 1},
82     [OHOS_CAMERA_EXPOSURE_MODE_PREVIEW_STATE -
83         OHOS_CAMERA_PROPERTIES_START] = {"cameraExposureModePreviewState", META_TYPE_BYTE, 1},
84     [OHOS_ABILITY_MOON_CAPTURE_BOOST -
85         OHOS_CAMERA_PROPERTIES_START] = {"cameraAbilityMoonCaptureBoost", META_TYPE_UINT32, -1},
86     [OHOS_CONTROL_MOON_CAPTURE_BOOST -
87         OHOS_CAMERA_PROPERTIES_START] = {"cameraControlMoonCaptureBoost", META_TYPE_BYTE, 1},
88     [OHOS_STATUS_MOON_CAPTURE_DETECTION -
89         OHOS_CAMERA_PROPERTIES_START] = {"cameraStatusMoonCaptureDetection", META_TYPE_UINT32, 1},
90     [OHOS_ABILITY_CAPTURE_DURATION_SUPPORTED -
91         OHOS_CAMERA_PROPERTIES_START] = {"captureDurationSupported", META_TYPE_BYTE, 1},
92     [OHOS_CAMERA_CUSTOM_SNAPSHOT_DURATION -
93         OHOS_CAMERA_PROPERTIES_START] = {"customSnapshotDuration", META_TYPE_UINT32, 1},
94     [OHOS_ABILITY_MOVING_PHOTO -
95         OHOS_CAMERA_PROPERTIES_START] = {"cameraAbilityMovingPhoto", META_TYPE_INT32, -1},
96     [OHOS_ABILITY_FLASH_SUGGESTION_SUPPORTED -
97         OHOS_CAMERA_PROPERTIES_START] = {"cameraAbilityFlashSuggestionSupported", META_TYPE_UINT32, -1},
98     [OHOS_CONTROL_FLASH_SUGGESTION_SWITCH -
99         OHOS_CAMERA_PROPERTIES_START] = {"cameraControlFlashSuggestionSwitch", META_TYPE_BYTE, 1},
100     [OHOS_STATUS_FLASH_SUGGESTION -
101         OHOS_CAMERA_PROPERTIES_START] = {"cameraStatusFlashSuggestion", META_TYPE_UINT32, 1},
102     [OHOS_ABILITY_HIGH_QUALITY_SUPPORT -
103         OHOS_CAMERA_PROPERTIES_START] = {"cameraAbilityHighQualitySupport", META_TYPE_BYTE, 1},
104     [OHOS_ABILITY_CAMERA_FOLD_STATUS -
105         OHOS_CAMERA_PROPERTIES_START] = {"cameraFoldStatus", META_TYPE_BYTE, 1},
106     [OHOS_STATUS_CAMERA_OCCLUSION_DETECTION -
107         OHOS_CAMERA_PROPERTIES_START] = {"cameraStatusOcclusionDetection", META_TYPE_INT32, 1},
108     [OHOS_ABILITY_STATISTICS_DETECT_TYPE -
109         OHOS_CAMERA_PROPERTIES_START] = {"statisticsDetectType", META_TYPE_BYTE, -1},
110     [OHOS_CONTROL_STATISTICS_DETECT_SETTING -
111         OHOS_CAMERA_PROPERTIES_START] = {"statisticsDetectSetting", META_TYPE_BYTE, -1},
112     [OHOS_ABILITY_AVAILABLE_EXTENDED_STREAM_INFO_TYPES -
113         OHOS_CAMERA_PROPERTIES_START] = {"availableExtendedStreamInfoTypes", META_TYPE_INT32, -1},
114     [OHOS_ABILITY_AUTO_DEFERRED_VIDEO_ENHANCE -
115         OHOS_CAMERA_PROPERTIES_START] = {"autoDeferredVideoEnhance", META_TYPE_BYTE, 1},
116     [OHOS_CONTROL_AUTO_DEFERRED_VIDEO_ENHANCE -
117         OHOS_CAMERA_PROPERTIES_START] = {"controlAutoDeferredVideoEnhance", META_TYPE_BYTE, 1},
118     [OHOS_ABILITY_AUTO_CLOUD_IMAGE_ENHANCE -
119         OHOS_CAMERA_PROPERTIES_START] = {"autoCloudImageEnhance", META_TYPE_INT32, -1},
120     [OHOS_CONTROL_AUTO_CLOUD_IMAGE_ENHANCE -
121         OHOS_CAMERA_PROPERTIES_START] = {"controlAutoCloudImageEnhance", META_TYPE_BYTE, 1},
122     [OHOS_ABILITY_TRIPOD_DETECTION -
123         OHOS_CAMERA_PROPERTIES_START] = {"tripodDetection", META_TYPE_INT32, -1},
124     [OHOS_CONTROL_TRIPOD_DETECTION -
125         OHOS_CAMERA_PROPERTIES_START] = {"controlTripodDetection", META_TYPE_BYTE, 1},
126     [OHOS_CONTROL_TRIPOD_STABLITATION -
127         OHOS_CAMERA_PROPERTIES_START] = {"tripodStablitation", META_TYPE_BYTE, 1},
128     [OHOS_STATUS_TRIPOD_DETECTION_STATUS -
129         OHOS_CAMERA_PROPERTIES_START] = {"tripodDetectionStatus", META_TYPE_BYTE, 1},
130     [OHOS_STATUS_SKETCH_POINT -
131         OHOS_CAMERA_PROPERTIES_START] = {"sketchPoint", META_TYPE_FLOAT, 1},
132     [OHOS_STATUS_SKETCH_STREAM_INFO -
133         OHOS_CAMERA_PROPERTIES_START] = {"sketchStreamInfo", META_TYPE_FLOAT, -1},
134     [OHOS_ABILITY_LOW_LIGHT_BOOST -
135         OHOS_CAMERA_PROPERTIES_START] = {"lowLightBoost", META_TYPE_INT32, -1},
136     [OHOS_CONTROL_LOW_LIGHT_DETECT -
137         OHOS_CAMERA_PROPERTIES_START] = {"controlLowLightBoost", META_TYPE_BYTE, 1},
138     [OHOS_CONTROL_LOW_LIGHT_BOOST -
139         OHOS_CAMERA_PROPERTIES_START] = {"lowLightBoost", META_TYPE_BYTE, 1},
140     [OHOS_STATUS_LOW_LIGHT_DETECTION -
141         OHOS_CAMERA_PROPERTIES_START] = {"lowLightDetection", META_TYPE_BYTE, 1},
142     [OHOS_STATUS_CAMERA_LENS_DIRTY_DETECTION -
143         OHOS_CAMERA_PROPERTIES_START] = {"cameraLensDirtyDetection", META_TYPE_BYTE, 1},
144     [OHOS_DEVICE_PROTECTION_STATE -
145         OHOS_CAMERA_PROPERTIES_START] = {"protectionState", META_TYPE_BYTE, 1},
146     [OHOS_STATUS_TOF_SENSOR_ABNORMAL -
147         OHOS_CAMERA_PROPERTIES_START] = {"tofSensorAbnormal", META_TYPE_INT32, 1},
148     [OHOS_ABILITY_SUN_BLOCK_PREVIEW_TYPES -
149         OHOS_CAMERA_PROPERTIES_START] = {"sunBlockPreviewTypes", META_TYPE_BYTE, -1},
150     [OHOS_ABILITY_SUN_BLOCK_BLEND_COLORS -
151         OHOS_CAMERA_PROPERTIES_START] = {"sunBlockBlendColors", META_TYPE_BYTE, -1},
152     [OHOS_ABILITY_SUN_BLOCK_RGB_CROP_REGION -
153         OHOS_CAMERA_PROPERTIES_START] = {"sunBlockRgbCropRegion", META_TYPE_FLOAT, -1},
154     [OHOS_ABILITY_SUN_BLOCK_RGB_UV_REGION -
155         OHOS_CAMERA_PROPERTIES_START] = {"sunBlockRgbUvRegion", META_TYPE_FLOAT, -1},
156     [OHOS_STATUS_SUN_BLOCK_HINT -
157         OHOS_CAMERA_PROPERTIES_START] = {"sunBlockHint", META_TYPE_BYTE, -1},
158     [OHOS_ABILITY_AUTO_AIGC_PHOTO -
159         OHOS_CAMERA_PROPERTIES_START] = {"autoAigcPhoto", META_TYPE_BYTE, -1},
160     [OHOS_CONTROL_AUTO_AIGC_PHOTO -
161         OHOS_CAMERA_PROPERTIES_START] = {"controlAutoAigcPhoto", META_TYPE_BYTE, 1},
162     [OHOS_ABILITY_CAMERA_LIMITED_CAPABILITIES -
163         OHOS_CAMERA_PROPERTIES_START] = {"cameraLimitedCapability", META_TYPE_DOUBLE, -1},
164     [OHOS_ABILITY_CAMERA_CONCURRENT_TYPE -
165         OHOS_CAMERA_PROPERTIES_START] = {"cameraConcurrentType", META_TYPE_BYTE, 1},
166     [OHOS_ABILITY_CONCURRENT_SUPPORTED_CAMERAS -
167         OHOS_CAMERA_PROPERTIES_START] = {"cameraConcurrentSupportedCameras", META_TYPE_INT32, 1},
168 };
169 
170 static item_info_t g_ohosCameraSensor[OHOS_CAMERA_SENSOR_END - OHOS_CAMERA_SENSOR_START] = {
171     [OHOS_SENSOR_EXPOSURE_TIME - OHOS_CAMERA_SENSOR_START] = {"exposureTime",        META_TYPE_INT64, 1},
172     [OHOS_SENSOR_COLOR_CORRECTION_GAINS - OHOS_CAMERA_SENSOR_START] = {"colorCorrectuonGain", META_TYPE_FLOAT, 1},
173     [OHOS_SENSOR_ORIENTATION - OHOS_CAMERA_SENSOR_START] = {"sensorOrientation",         META_TYPE_INT32, 1},
174     [OHOS_ABILITY_MUTE_MODES - OHOS_CAMERA_SENSOR_START] = {"muteAvailableModes", META_TYPE_BYTE, -1},
175     [OHOS_CONTROL_MUTE_MODE - OHOS_CAMERA_SENSOR_START] = {"muteMode", META_TYPE_BYTE, 1},
176     [OHOS_CONTROL_ROTATE_ANGLE - OHOS_CAMERA_SENSOR_START] = {"halRotateAngle", META_TYPE_INT32, 1},
177     [OHOS_ABILITY_SENSOR_ORIENTATION_VARIABLE -
178         OHOS_CAMERA_SENSOR_START] = {"sensorOrientationVariable", META_TYPE_INT32, 1},
179     [OHOS_FOLD_STATE_SENSOR_ORIENTATION_MAP -
180         OHOS_CAMERA_SENSOR_START] = {"foldStateSensorOrientationMap", META_TYPE_INT32, -1},
181 };
182 
183 static item_info_t g_ohosCameraSensorInfo[OHOS_CAMERA_SENSOR_INFO_END - OHOS_CAMERA_SENSOR_INFO_START] = {
184     [OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE -
185         OHOS_CAMERA_SENSOR_INFO_START] = {"activeArraySize",       META_TYPE_INT32, -1},
186     [OHOS_SENSOR_INFO_SENSITIVITY_RANGE -
187         OHOS_CAMERA_SENSOR_INFO_START] = {"sensitivityRange",      META_TYPE_INT32, -1},
188     [OHOS_SENSOR_INFO_MAX_FRAME_DURATION -
189         OHOS_CAMERA_SENSOR_INFO_START] = {"maxFrameDuration",      META_TYPE_INT64, 1 },
190     [OHOS_SENSOR_INFO_PHYSICAL_SIZE - OHOS_CAMERA_SENSOR_INFO_START] = {"physicalSize",          META_TYPE_FLOAT, 1 },
191     [OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE -
192         OHOS_CAMERA_SENSOR_INFO_START] = {"pixelArraySize",        META_TYPE_INT32, -1},
193     [OHOS_SENSOR_INFO_TIMESTAMP - OHOS_CAMERA_SENSOR_INFO_START] = {"sensorOutputTimeStamp", META_TYPE_INT64, 1 },
194 };
195 
196 static item_info_t g_ohosCameraStatistics[OHOS_CAMERA_STATISTICS_END - OHOS_CAMERA_STATISTICS_START] = {
197     [OHOS_STATISTICS_FACE_DETECT_MODE - OHOS_CAMERA_STATISTICS_START] = {"faceDetectMode",   META_TYPE_BYTE,  1 },
198     [OHOS_STATISTICS_FACE_DETECT_SWITCH - OHOS_CAMERA_STATISTICS_START] = {"faceDetectSwitch", META_TYPE_BYTE,  1 },
199     [OHOS_STATISTICS_FACE_DETECT_MAX_NUM - OHOS_CAMERA_STATISTICS_START] = {"faceDetectMaxNum", META_TYPE_BYTE,  1 },
200     [OHOS_STATISTICS_HISTOGRAM_MODE - OHOS_CAMERA_STATISTICS_START] = {"histogramMode",    META_TYPE_BYTE,  1 },
201     [OHOS_STATISTICS_FACE_IDS - OHOS_CAMERA_STATISTICS_START] = {"faceIds",          META_TYPE_INT32, -1},
202     [OHOS_STATISTICS_FACE_LANDMARKS - OHOS_CAMERA_STATISTICS_START] = {"faceLandmarks",    META_TYPE_INT32, -1},
203     [OHOS_STATISTICS_FACE_RECTANGLES - OHOS_CAMERA_STATISTICS_START] = {"faceRectangles",   META_TYPE_FLOAT, -1},
204     [OHOS_STATISTICS_FACE_SCORES - OHOS_CAMERA_STATISTICS_START] = {"faceScores",       META_TYPE_BYTE,  -1},
205     [OHOS_STATISTICS_DETECT_HUMAN_FACE_INFOS -
206         OHOS_CAMERA_STATISTICS_START] = {"detectHumanFaceInfos", META_TYPE_INT32,  -1},
207     [OHOS_STATISTICS_DETECT_HUMAN_BODY_INFOS -
208         OHOS_CAMERA_STATISTICS_START] = {"detectHumanBodyInfos", META_TYPE_INT32,  -1},
209     [OHOS_STATISTICS_DETECT_CAT_FACE_INFOS -
210         OHOS_CAMERA_STATISTICS_START] = {"detectCatFaceInfos", META_TYPE_INT32,  -1},
211     [OHOS_STATISTICS_DETECT_CAT_BODY_INFOS -
212         OHOS_CAMERA_STATISTICS_START] = {"detectCatBodyInfos", META_TYPE_INT32,  -1},
213     [OHOS_STATISTICS_DETECT_DOG_FACE_INFOS -
214         OHOS_CAMERA_STATISTICS_START] = {"detectDogFaceInfos", META_TYPE_INT32,  -1},
215     [OHOS_STATISTICS_DETECT_DOG_BODY_INFOS -
216         OHOS_CAMERA_STATISTICS_START] = {"detectDogBodyInfos", META_TYPE_INT32,  -1},
217     [OHOS_STATISTICS_DETECT_SALIENT_INFOS -
218         OHOS_CAMERA_STATISTICS_START] = {"detectSalientInfos", META_TYPE_INT32,  -1},
219     [OHOS_STATISTICS_DETECT_BAR_CODE_INFOS -
220         OHOS_CAMERA_STATISTICS_START] = {"detectBarCodeInfos", META_TYPE_INT32,  -1},
221     [OHOS_STATISTICS_DETECT_BASE_FACE_INFO -
222         OHOS_CAMERA_STATISTICS_START] = {"baseFaceInfo", META_TYPE_INT32,  -1},
223 };
224 
225 static item_info_t g_ohosCameraControl[OHOS_DEVICE_CONTROL_END - OHOS_DEVICE_CONTROL_START] = {
226     [OHOS_CONTROL_AE_ANTIBANDING_MODE -
227         OHOS_DEVICE_CONTROL_START] = {"aeAntibandingMode",           META_TYPE_BYTE,     1 },
228     [OHOS_CONTROL_AE_EXPOSURE_COMPENSATION -
229         OHOS_DEVICE_CONTROL_START] = {"aeExposureCompensation",      META_TYPE_INT32,    1 },
230     [OHOS_CONTROL_AE_LOCK - OHOS_DEVICE_CONTROL_START] = {"aeLock",                      META_TYPE_BYTE,     1 },
231     [OHOS_CONTROL_AE_MODE - OHOS_DEVICE_CONTROL_START] = {"aeMode",                      META_TYPE_BYTE,     1 },
232     [OHOS_CONTROL_AE_REGIONS - OHOS_DEVICE_CONTROL_START] = {"aeRegions",                META_TYPE_FLOAT,    -1},
233     [OHOS_CONTROL_AE_TARGET_FPS_RANGE -
234         OHOS_DEVICE_CONTROL_START] = {"aeTargetFpsRange",            META_TYPE_INT32,    -1},
235     [OHOS_CONTROL_FPS_RANGES - OHOS_DEVICE_CONTROL_START] = {"fpsRange",                    META_TYPE_INT32,    -1},
236     [OHOS_CONTROL_AF_MODE - OHOS_DEVICE_CONTROL_START] = {"afMode",                         META_TYPE_BYTE,     1 },
237     [OHOS_CONTROL_AF_REGIONS - OHOS_DEVICE_CONTROL_START] = {"afRegions",                   META_TYPE_FLOAT,    -1},
238     [OHOS_CONTROL_AF_TRIGGER - OHOS_DEVICE_CONTROL_START] = {"afTrigger",                   META_TYPE_BYTE,     1 },
239     [OHOS_CONTROL_AF_TRIGGER_ID - OHOS_DEVICE_CONTROL_START] = {"afTriggerId",              META_TYPE_INT32,    1 },
240     [OHOS_CONTROL_AF_STATE - OHOS_DEVICE_CONTROL_START] = {"afState",                     META_TYPE_BYTE,     1 },
241     [OHOS_CONTROL_AWB_LOCK - OHOS_DEVICE_CONTROL_START] = {"awbLock",                     META_TYPE_BYTE,     1 },
242     [OHOS_CONTROL_AWB_MODE - OHOS_DEVICE_CONTROL_START] = {"awbMode",                     META_TYPE_BYTE,     1 },
243     [OHOS_CONTROL_AWB_REGIONS - OHOS_DEVICE_CONTROL_START] = {"awbRegions",                  META_TYPE_INT32,    -1},
244     [OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES -
245         OHOS_DEVICE_CONTROL_START] = {"aeAvailableAntibandingModes", META_TYPE_BYTE,     -1},
246     [OHOS_CONTROL_AE_AVAILABLE_MODES -
247         OHOS_DEVICE_CONTROL_START] = {"aeAvailableModes",            META_TYPE_BYTE,     -1},
248     [OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES -
249         OHOS_DEVICE_CONTROL_START] = {"aeAvailableTargetFpsRanges",  META_TYPE_INT32,    -1},
250     [OHOS_CONTROL_AE_COMPENSATION_RANGE -
251         OHOS_DEVICE_CONTROL_START] = {"aeCompensationRange",         META_TYPE_INT32,    -1},
252     [OHOS_CONTROL_AE_COMPENSATION_STEP -
253         OHOS_DEVICE_CONTROL_START] = {"aeCompensationStep",          META_TYPE_RATIONAL, 1 },
254     [OHOS_ABILITY_AE_COMPENSATION_RANGE -
255         OHOS_DEVICE_CONTROL_START] = {"abilityAeCompensationRange",         META_TYPE_INT32,    -1},
256     [OHOS_ABILITY_AE_COMPENSATION_STEP -
257         OHOS_DEVICE_CONTROL_START] = {"abilityAeCompensationStep",          META_TYPE_RATIONAL, 1 },
258     [OHOS_CONTROL_AF_AVAILABLE_MODES -
259         OHOS_DEVICE_CONTROL_START] = {"afAvailableModes",            META_TYPE_BYTE,     -1},
260     [OHOS_CONTROL_AWB_AVAILABLE_MODES -
261         OHOS_DEVICE_CONTROL_START] = {"awbAvailableModes",           META_TYPE_BYTE,     -1},
262     [OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED -
263         OHOS_DEVICE_CONTROL_START] = {"mirrorSupported",             META_TYPE_BYTE,     -1 },
264     [OHOS_CONTROL_CAPTURE_MIRROR - OHOS_DEVICE_CONTROL_START] = {"mirror",                      META_TYPE_BYTE,     1 },
265     [OHOS_CONTROL_FOCUS_STATE - OHOS_DEVICE_CONTROL_START] = {"focusState",                  META_TYPE_BYTE,     1 },
266     [OHOS_CONTROL_METER_POINT - OHOS_DEVICE_CONTROL_START] = {"meterPoint",                  META_TYPE_INT32,    -1},
267     [OHOS_CONTROL_METER_MODE - OHOS_DEVICE_CONTROL_START] = {"meterMode",                   META_TYPE_BYTE,     1 },
268     [OHOS_CONTROL_EXPOSURE_STATE - OHOS_DEVICE_CONTROL_START] = {"exposureState",               META_TYPE_BYTE,     1 },
269     [OHOS_CONTROL_FOCUSED_POINT - OHOS_DEVICE_CONTROL_START] = {"focusedPoint", META_TYPE_INT32, -1 },
270     [OHOS_CONTROL_NIGHT_MODE_TRY_AE - OHOS_DEVICE_CONTROL_START] = {"nightModeTryAe", META_TYPE_BYTE, 1 },
271     [OHOS_CONTROL_MANUAL_EXPOSURE_TIME - OHOS_DEVICE_CONTROL_START] = {"manualExposureTime", META_TYPE_UINT32, -1},
272     [OHOS_STATUS_CAMERA_CURRENT_FPS - OHOS_DEVICE_CONTROL_START] = {"currentFps", META_TYPE_UINT32, 1},
273     [OHOS_ABILITY_ISO_VALUES - OHOS_DEVICE_CONTROL_START] = {"supportedIsoValues", META_TYPE_INT32, -1},
274     [OHOS_CONTROL_ISO_VALUE - OHOS_DEVICE_CONTROL_START] = {"isoValues", META_TYPE_INT32, 1},
275     [OHOS_STATUS_ISO_VALUE - OHOS_DEVICE_CONTROL_START] = {"currentIsoValues", META_TYPE_INT32, 1},
276     [OHOS_ABILITY_SENSOR_EXPOSURE_TIME_RANGE -
277         OHOS_DEVICE_CONTROL_START] = {"sensorExposureTimeRange", META_TYPE_RATIONAL, -1},
278     [OHOS_CONTROL_SENSOR_EXPOSURE_TIME - OHOS_DEVICE_CONTROL_START] = {"sensorExposureTime", META_TYPE_RATIONAL, 1},
279     [OHOS_STATUS_SENSOR_EXPOSURE_TIME -
280         OHOS_DEVICE_CONTROL_START] = {"currentSensorExposureTime", META_TYPE_RATIONAL, 1},
281     [OHOS_CONTROL_MOVING_PHOTO - OHOS_DEVICE_CONTROL_START] = {"movingPhoto", META_TYPE_BYTE, 1},
282     [OHOS_ABILITY_SENSOR_WB_VALUES -
283         OHOS_DEVICE_CONTROL_START] = {"supportedSensorWbValues", META_TYPE_INT32, -1},
284     [OHOS_CONTROL_SENSOR_WB_VALUE - OHOS_DEVICE_CONTROL_START] = {"sensorWbValue", META_TYPE_INT32, 1},
285     [OHOS_CONTROL_HIGH_QUALITY_MODE - OHOS_DEVICE_CONTROL_START] = {"highQualityMode", META_TYPE_BYTE, 1},
286     [OHOS_CONTROL_BURST_CAPTURE -
287         OHOS_DEVICE_CONTROL_START] = {"cameraControlBurstCapture", META_TYPE_BYTE, 1},
288     [OHOS_CONTROL_CAMERA_USED_AS_POSITION -
289         OHOS_DEVICE_CONTROL_START] = {"cameraUsedAsPosition", META_TYPE_BYTE, 1},
290     [OHOS_CONTROL_CAMERA_SESSION_USAGE -
291         OHOS_DEVICE_CONTROL_START] = {"cameraSessionUsage", META_TYPE_INT32, -1},
292     [OHOS_CONTROL_EJECT_RETRY -
293         OHOS_DEVICE_CONTROL_START] = {"ejectRetry", META_TYPE_BYTE, 1},
294     [OHOS_CONTROL_FALL_PROTECTION -
295         OHOS_DEVICE_CONTROL_START] = {"fallProtection", META_TYPE_BYTE, 1},
296     [OHOS_CONTROL_SUN_BLOCK_PREVIEW_TYPE -
297         OHOS_DEVICE_CONTROL_START] = {"sunBlockPreviewType", META_TYPE_BYTE, 1},
298     [OHOS_CONTROL_SUN_BLOCK_BLEND_COLOR -
299         OHOS_DEVICE_CONTROL_START] = {"sunBlockBlendColor", META_TYPE_BYTE, 1},
300     [OHOS_CONTROL_QUALITY_PRIORITIZATION -
301         OHOS_DEVICE_CONTROL_START] = {"qualityPrioritization", META_TYPE_BYTE, 1},
302 };
303 
304 static item_info_t g_ohosDeviceExposure[OHOS_DEVICE_EXPOSURE_END - OHOS_DEVICE_EXPOSURE_START] = {
305     [OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES -
306         OHOS_DEVICE_EXPOSURE_START] = {"exposureAvailableModes",  META_TYPE_BYTE,          -1},
307     [OHOS_CONTROL_EXPOSUREMODE - OHOS_DEVICE_EXPOSURE_START] = {"exposureMode",            META_TYPE_BYTE, 1 },
308     [OHOS_ABILITY_EXPOSURE_MODES - OHOS_DEVICE_EXPOSURE_START] = {"exposureSupportiveModes", META_TYPE_BYTE, -1},
309     [OHOS_CONTROL_EXPOSURE_MODE - OHOS_DEVICE_EXPOSURE_START] = {"exMode",                  META_TYPE_BYTE, 1 },
310     [OHOS_ABILITY_METER_MODES - OHOS_DEVICE_EXPOSURE_START] = {"meterAvailableModes",     META_TYPE_BYTE, -1},
311     [OHOS_ABILITY_SCENE_EXPOSURE_MODES -
312         OHOS_DEVICE_EXPOSURE_START] = {"sceneExposureSupportiveModes", META_TYPE_BYTE, -1},
313     [OHOS_ABILITY_EXPOSURE_TIME - OHOS_DEVICE_EXPOSURE_START] = {"abilityExposureTime", META_TYPE_INT32, -1},
314     [OHOS_ABILITY_AE_LOCK - OHOS_DEVICE_EXPOSURE_START] = {"abilityAELock", META_TYPE_BYTE, -1},
315 };
316 
317 static item_info_t g_ohosDeviceFocus[OHOS_DEVICE_FOCUS_END - OHOS_DEVICE_FOCUS_START] = {
318     [OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES -
319         OHOS_DEVICE_FOCUS_START] = {"focusAvailablesModes", META_TYPE_BYTE,  -1},
320     [OHOS_CONTROL_FOCUSMODE - OHOS_DEVICE_FOCUS_START] = {"focusMode",            META_TYPE_BYTE,  1 },
321     [OHOS_ABILITY_FOCUS_MODES - OHOS_DEVICE_FOCUS_START] = {"focusSupportiveModes", META_TYPE_BYTE,  -1},
322     [OHOS_CONTROL_FOCUS_MODE - OHOS_DEVICE_FOCUS_START] = {"fMode",                META_TYPE_BYTE,  1 },
323     [OHOS_ABILITY_FOCAL_LENGTH - OHOS_DEVICE_FOCUS_START] = {"focalLength",          META_TYPE_FLOAT, 1 },
324     [OHOS_ABILITY_SCENE_FOCUS_MODES - OHOS_DEVICE_FOCUS_START] = {"sceneFocusSupportiveModes", META_TYPE_BYTE, -1},
325     [OHOS_ABILITY_FOCUS_ASSIST_FLASH_SUPPORTED_MODES -
326         OHOS_DEVICE_FOCUS_START] = {"focusAssistFlashSupportedModes", META_TYPE_BYTE, -1},
327     [OHOS_CONTROL_FOCUS_ASSIST_FLASH_SUPPORTED_MODE -
328         OHOS_DEVICE_FOCUS_START] = {"sceneFocusSupportiveModes", META_TYPE_BYTE, 1},
329     [OHOS_ABILITY_LENS_INFO_MINIMUM_FOCUS_DISTANCE -
330         OHOS_DEVICE_FOCUS_START] = {"lensInfoMinimumFocusDistance", META_TYPE_FLOAT, 1},
331     [OHOS_CONTROL_LENS_FOCUS_DISTANCE - OHOS_DEVICE_FOCUS_START] = {"lensFocusDistance", META_TYPE_FLOAT, 1},
332     [OHOS_ABILITY_EQUIVALENT_FOCUS - OHOS_DEVICE_FOCUS_START] = {"equivalentFocus", META_TYPE_INT32, -1},
333     [OHOS_ABILITY_LENS_EQUIVALENT_FOCUS - OHOS_DEVICE_FOCUS_START] = {"lensEquivalentFocus", META_TYPE_INT32, -1},
334     [OHOS_CONTROL_FOCUS_DISTANCE -
335         OHOS_DEVICE_FOCUS_START] = {"controlFocusDistance", META_TYPE_FLOAT, 1},
336     [OHOS_ABILITY_FOCUS_RANGE_TYPES - OHOS_DEVICE_FOCUS_START] = {"focusRangeTypes", META_TYPE_BYTE, -1},
337     [OHOS_CONTROL_FOCUS_RANGE_TYPE - OHOS_DEVICE_FOCUS_START] = {"focusRangeType", META_TYPE_BYTE, 1},
338     [OHOS_CONTROL_FOCUS_TRACKING_MODE - OHOS_DEVICE_FOCUS_START] = {"focusTrackingMode", META_TYPE_BYTE, 1},
339     [OHOS_ABILITY_FOCUS_TRACKING_REGION - OHOS_DEVICE_FOCUS_START] = {"focusTrackingRegion", META_TYPE_INT32, -1},
340     [OHOS_ABILITY_FOCUS_DRIVEN_TYPES - OHOS_DEVICE_FOCUS_START] = {"focusDrivenTypes", META_TYPE_BYTE, -1},
341     [OHOS_CONTROL_FOCUS_DRIVEN_TYPE - OHOS_DEVICE_FOCUS_START] = {"focusDrivenType", META_TYPE_BYTE, 1},
342     [OHOS_ABILITY_FOCUS_TRACKING_MECH_AVAILABLE -
343         OHOS_DEVICE_FOCUS_START] = {"focusTrackingMechAvailable", META_TYPE_BYTE, 1},
344     [OHOS_CONTROL_FOCUS_TRACKING_MECH - OHOS_DEVICE_FOCUS_START] = {"focusTrackingMech", META_TYPE_BYTE, 1},
345     [OHOS_CONTROL_FOCUS_TRACKING_OBJECT_ID - OHOS_DEVICE_FOCUS_START] = {"focusTrackingObjectId", META_TYPE_INT32, 1},
346 };
347 
348 static item_info_t g_ohosDeviceWhite[OHOS_DEVICE_WHITE_BLANCE_END - OHOS_DEVICE_WHITE_BLANCE_START] = {
349     [OHOS_ABILITY_AWB_MODES - OHOS_DEVICE_WHITE_BLANCE_START] = {"whiteAvailablesModes", META_TYPE_BYTE,  -1},
350     [OHOS_ABILITY_AWB_LOCK - OHOS_DEVICE_WHITE_BLANCE_START] = {"abilityAWBLock",            META_TYPE_BYTE,  1 },
351 };
352 
353 static item_info_t g_ohosDeviceFlash[OHOS_DEVICE_FLASH_END - OHOS_DEVICE_FLASH_START] = {
354     [OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES - OHOS_DEVICE_FLASH_START] = {"flashAvailablesModes", META_TYPE_BYTE, -1},
355     [OHOS_CONTROL_FLASHMODE - OHOS_DEVICE_FLASH_START] = {"flashMode",            META_TYPE_BYTE, 1 },
356     [OHOS_ABILITY_FLASH_MODES - OHOS_DEVICE_FLASH_START] = {"flashSupportiveModes", META_TYPE_BYTE, -1},
357     [OHOS_CONTROL_FLASH_MODE - OHOS_DEVICE_FLASH_START] = {"flaMode",              META_TYPE_BYTE, 1 },
358     [OHOS_CONTROL_FLASH_STATE - OHOS_DEVICE_FLASH_START] = {"flashstate",           META_TYPE_BYTE, 1 },
359     [OHOS_ABILITY_SCENE_FLASH_MODES - OHOS_DEVICE_FLASH_START] = {"sceneFlashSupportiveModes", META_TYPE_BYTE, -1},
360 };
361 
362 static item_info_t g_ohosDeviceZoom[OHOS_DEVICE_ZOOM_END - OHOS_DEVICE_ZOOM_START] = {
363     [OHOS_ABILITY_ZOOM_RATIO_RANGE - OHOS_DEVICE_ZOOM_START] = {"zoomRange",      META_TYPE_FLOAT, -1},
364     [OHOS_CONTROL_ZOOM_RATIO - OHOS_DEVICE_ZOOM_START] = {"zoomRatio",      META_TYPE_FLOAT, 1 },
365     [OHOS_CONTROL_ZOOM_CROP_REGION - OHOS_DEVICE_ZOOM_START] = {"zoomCropRegion", META_TYPE_INT32, -1},
366     [OHOS_ABILITY_ZOOM_CAP - OHOS_DEVICE_ZOOM_START] = {"zoomCap",        META_TYPE_INT32, -1},
367     [OHOS_ABILITY_SCENE_ZOOM_CAP - OHOS_DEVICE_ZOOM_START] = {"sceneZoomCap",   META_TYPE_INT32, -1},
368     [OHOS_STATUS_CAMERA_CURRENT_ZOOM_RATIO -
369         OHOS_DEVICE_ZOOM_START] = {"currentStatusZoomRatio", META_TYPE_UINT32, 1},
370     [OHOS_CONTROL_SMOOTH_ZOOM_RATIOS - OHOS_DEVICE_ZOOM_START] = {"controlZoomRatios",   META_TYPE_UINT32, -1},
371     [OHOS_CONTROL_PREPARE_ZOOM - OHOS_DEVICE_ZOOM_START] = {"controlPreZoom",   META_TYPE_BYTE, 1},
372     [OHOS_ABILITY_CAMERA_ZOOM_PERFORMANCE - OHOS_DEVICE_ZOOM_START] = {"zoomPerformance",   META_TYPE_UINT32, -1},
373     [OHOS_STATUS_CAMERA_ZOOM_PERFORMANCE - OHOS_DEVICE_ZOOM_START] = {"statusZoomPerformance",   META_TYPE_UINT32, -1},
374     [OHOS_ABILITY_CAMERA_ZOOM_BEZIER_CURVC_POINT -
375         OHOS_DEVICE_ZOOM_START] = {"zoomBezierCurvePoint",   META_TYPE_FLOAT, -1},
376 
377 };
378 
379 static item_info_t g_ohosStreamAbility[OHOS_STREAM_ABILITY_END - OHOS_STREAM_ABILITY_START] = {
380     [OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS -
381         OHOS_STREAM_ABILITY_START] = {"streamAvailableConfigurations", META_TYPE_INT32, -1},
382     [OHOS_STREAM_AVAILABLE_FORMATS -
383         OHOS_STREAM_ABILITY_START] = {"streamAvailableFormats",        META_TYPE_INT32, -1},
384     [OHOS_ABILITY_STREAM_AVAILABLE_EXTEND_CONFIGURATIONS -
385         OHOS_STREAM_ABILITY_START] = {"streamExtendConfigurations",    META_TYPE_INT32, -1},
386     [OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE -
387         OHOS_STREAM_ABILITY_START] = {"streamQuickThumbnailAvailable", META_TYPE_BYTE, 1},
388     [OHOS_ABILITY_PORTRAIT_RESOLUSION -
389         OHOS_STREAM_ABILITY_START] = {"streamPortraitResolusion", META_TYPE_INT32, -1},
390     [OHOS_ABILITY_SCENE_STREAM_QUICK_THUMBNAIL_AVAILABLE -
391         OHOS_STREAM_ABILITY_START] = {"sceneStreamQuickThumbnailAvailable", META_TYPE_BYTE, -1},
392     [OHOS_ABILITY_DEFERRED_IMAGE_DELIVERY -
393         OHOS_STREAM_ABILITY_START] = {"deferredImageDeliverySupportModes", META_TYPE_BYTE, -1},
394     [OHOS_CONTROL_DEFERRED_IMAGE_DELIVERY -
395         OHOS_STREAM_ABILITY_START] = {"deferredImageDeliveryMode", META_TYPE_BYTE, -1},
396     [OHOS_ABILITY_AUTO_VIDEO_FRAME_RATE -
397         OHOS_STREAM_ABILITY_START] = {"streamAutoFpsSupportedMode", META_TYPE_BYTE, -1},
398     [OHOS_ABILITY_PRERECORD -
399         OHOS_STREAM_ABILITY_START] = {"prerecord", META_TYPE_INT32, -1},
400     [OHOS_ABILITY_CHANGETO_OFFLINE_STREAM_OPEATOR -
401         OHOS_STREAM_ABILITY_START] = {"offlineSupportedValue", META_TYPE_BYTE, -1},
402     [OHOS_CONTROL_CHANGETO_OFFLINE_STREAM_OPEATOR -
403         OHOS_STREAM_ABILITY_START] = {"offlineControlValue", META_TYPE_BYTE, -1},
404     [OHOS_ABILITY_ROTATION_IN_IPS_SUPPORTED -
405         OHOS_STREAM_ABILITY_START] = {"rotationInIpsSupported", META_TYPE_BYTE, 1},
406 };
407 
408 static item_info_t g_ohosStreamControl[OHOS_STREAM_CONTROL_END - OHOS_STREAM_CONTROL_START] = {
409     [OHOS_CONTROL_AUTO_VIDEO_FRAME_RATE -
410         OHOS_STREAM_CONTROL_START] = {"streamAutoFpsControl", META_TYPE_BYTE, 1},
411     [OHOS_CONTROL_PRERECORD_MODE -
412         OHOS_STREAM_CONTROL_START] = {"prerecordMode", META_TYPE_BYTE, 1},
413     [OHOS_CONTROL_RECORD_STATE -
414         OHOS_STREAM_CONTROL_START] = {"recordState", META_TYPE_BYTE, 1},
415 };
416 
417 static item_info_t g_ohosStreamJpeg[OHOS_STREAM_JPEG_END - OHOS_STREAM_JPEG_START] = {
418     [OHOS_JPEG_GPS_COORDINATES - OHOS_STREAM_JPEG_START] = {"gpsCoordinates",          META_TYPE_DOUBLE, -1},
419     [OHOS_JPEG_GPS_PROCESSING_METHOD - OHOS_STREAM_JPEG_START] = {"gpsProcessingMethod",     META_TYPE_BYTE,   1 },
420     [OHOS_JPEG_GPS_TIMESTAMP - OHOS_STREAM_JPEG_START] = {"gpsTimestamp",            META_TYPE_INT64,  1 },
421     [OHOS_JPEG_ORIENTATION - OHOS_STREAM_JPEG_START] = {"jpegOrientation",             META_TYPE_INT32,  1 },
422     [OHOS_JPEG_QUALITY - OHOS_STREAM_JPEG_START] = {"quality",                 META_TYPE_BYTE,   1 },
423     [OHOS_JPEG_THUMBNAIL_QUALITY - OHOS_STREAM_JPEG_START] = {"thumbnailQuality",        META_TYPE_BYTE,   1 },
424     [OHOS_JPEG_THUMBNAIL_SIZE - OHOS_STREAM_JPEG_START] = {"thumbnailSize",           META_TYPE_INT32,  -1},
425     [OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES - OHOS_STREAM_JPEG_START] = {"availableThumbnailSizes", META_TYPE_INT32,  -1},
426     [OHOS_JPEG_MAX_SIZE - OHOS_STREAM_JPEG_START] = {"maxSize",                 META_TYPE_INT32,  1 },
427     [OHOS_JPEG_SIZE - OHOS_STREAM_JPEG_START] = {"size",                    META_TYPE_INT32,  1 },
428 };
429 
430 static item_info_t g_ohosStreamVideo[OHOS_STREAM_VIDEO_END - OHOS_STREAM_VIDEO_START] = {
431     [OHOS_ABILITY_VIDEO_STABILIZATION_MODES -
432         OHOS_STREAM_VIDEO_START] = {"videoAvailableStabilizationModes", META_TYPE_BYTE, -1},
433     [OHOS_CONTROL_VIDEO_STABILIZATION_MODE -
434         OHOS_STREAM_VIDEO_START] = {"videoStabilizationMode",           META_TYPE_BYTE, 1 },
435     [OHOS_CONTROL_VIDEO_DEBUG_SWITCH -
436         OHOS_STREAM_VIDEO_START] = {"videoDebugSwitch",           META_TYPE_BYTE, 1 },
437 };
438 
439 static item_info_t g_ohosPostProcess[OHOS_CAMERA_EFFECT_END - OHOS_CAMERA_EFFECT_START] {
440     [OHOS_ABILITY_SCENE_FILTER_TYPES -
441         OHOS_CAMERA_EFFECT_START] = {"sceneAvailableFilterTypes", META_TYPE_BYTE, -1},
442     [OHOS_CONTROL_FILTER_TYPE -
443         OHOS_CAMERA_EFFECT_START] = {"filterType", META_TYPE_BYTE, 1},
444     [OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES -
445         OHOS_CAMERA_EFFECT_START] = {"sceneAvailablePotraitTypes", META_TYPE_BYTE, -1},
446     [OHOS_CONTROL_PORTRAIT_EFFECT_TYPE -
447         OHOS_CAMERA_EFFECT_START] = {"portraitType", META_TYPE_BYTE, 1},
448     [OHOS_ABILITY_SCENE_BEAUTY_TYPES -
449         OHOS_CAMERA_EFFECT_START] = {"sceneAvailableBeautyTypes", META_TYPE_BYTE, -1},
450     [OHOS_CONTROL_BEAUTY_TYPE -
451         OHOS_CAMERA_EFFECT_START] = {"beautyType", META_TYPE_BYTE, 1},
452     [OHOS_ABILITY_BEAUTY_AUTO_VALUES -
453         OHOS_CAMERA_EFFECT_START] = {"availableAutoBeautyValues", META_TYPE_BYTE, -1},
454     [OHOS_CONTROL_BEAUTY_AUTO_VALUE -
455         OHOS_CAMERA_EFFECT_START] = {"autoBeautyValue", META_TYPE_BYTE, 1},
456     [OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES -
457         OHOS_CAMERA_EFFECT_START] = {"availableFaceSlenderValues", META_TYPE_BYTE, -1},
458     [OHOS_CONTROL_BEAUTY_FACE_SLENDER_VALUE -
459         OHOS_CAMERA_EFFECT_START] = {"faceSlenderValue", META_TYPE_BYTE, 1},
460     [OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES -
461         OHOS_CAMERA_EFFECT_START] = {"availableSkinSmoothValues", META_TYPE_BYTE, -1},
462     [OHOS_CONTROL_BEAUTY_SKIN_SMOOTH_VALUE -
463         OHOS_CAMERA_EFFECT_START] = {"skinSmoothValue", META_TYPE_BYTE, 1},
464     [OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES -
465         OHOS_CAMERA_EFFECT_START] = {"availableSkinToneValues", META_TYPE_INT32, -1},
466     [OHOS_CONTROL_BEAUTY_SKIN_TONE_VALUE -
467         OHOS_CAMERA_EFFECT_START] = {"skinToneValue", META_TYPE_INT32, 1},
468     [OHOS_ABILITY_CAMERA_MACRO_SUPPORTED -
469         OHOS_CAMERA_EFFECT_START] = {"macroSupportedValue", META_TYPE_BYTE, 1},
470     [OHOS_ABILITY_SCENE_MACRO_CAP -
471         OHOS_CAMERA_EFFECT_START] = {"sceneMacroCap", META_TYPE_INT32, -1},
472     [OHOS_CAMERA_MACRO_STATUS -
473         OHOS_CAMERA_EFFECT_START] = {"macroStatusValue", META_TYPE_BYTE, 1},
474     [OHOS_CONTROL_CAMERA_MACRO -
475         OHOS_CAMERA_EFFECT_START] = {"macroStatusControlValue", META_TYPE_BYTE, 1},
476     [OHOS_ABILITY_CAMERA_VIRTUAL_APERTURE_RANGE -
477         OHOS_CAMERA_EFFECT_START] = {"cameraVirtualApertureRange", META_TYPE_FLOAT, -1},
478     [OHOS_CONTROL_CAMERA_VIRTUAL_APERTURE_VALUE -
479         OHOS_CAMERA_EFFECT_START] = {"cameraVirtualApertureControlValue", META_TYPE_FLOAT, 1},
480     [OHOS_ABILITY_CAMERA_PHYSICAL_APERTURE_RANGE -
481         OHOS_CAMERA_EFFECT_START] = {"cameraPhysicalApertureRange", META_TYPE_FLOAT, -1},
482     [OHOS_CONTROL_CAMERA_PHYSICAL_APERTURE_VALUE -
483         OHOS_CAMERA_EFFECT_START] = {"cameraPhysicalApertureControlValue", META_TYPE_FLOAT, 1},
484     [OHOS_STATUS_CAMERA_APERTURE_VALUE -
485         OHOS_CAMERA_EFFECT_START] = {"currentCameraApertureValue", META_TYPE_FLOAT, 1},
486     [OHOS_DEVICE_EXITCAMERA_EVENT - OHOS_CAMERA_EFFECT_START] = {"exitCameraEvent", META_TYPE_BYTE, 1},
487     [OHOS_CONTROL_MOTION_DETECTION_CHECK_AREA -
488         OHOS_CAMERA_EFFECT_START] = {"superSlowMotionCheckArea", META_TYPE_FLOAT, -1},
489     [OHOS_STATUS_SLOW_MOTION_DETECTION -
490         OHOS_CAMERA_EFFECT_START] = {"superSlowMotionStatus", META_TYPE_BYTE, 1},
491     [OHOS_ABILITY_MOTION_DETECTION_SUPPORT -
492         OHOS_CAMERA_EFFECT_START] = {"motionDetectionSupportValue", META_TYPE_BYTE, 1},
493     [OHOS_CONTROL_MOTION_DETECTION -
494         OHOS_CAMERA_EFFECT_START] = {"motionDetectionControlValue", META_TYPE_BYTE, 1},
495     [OHOS_ABILITY_EXPOSURE_HINT_SUPPORTED - OHOS_CAMERA_EFFECT_START] = {"exposureHintSupported", META_TYPE_BYTE, 1},
496     [OHOS_CONTROL_EXPOSURE_HINT_MODE - OHOS_CAMERA_EFFECT_START] = {"exposureHintMode", META_TYPE_BYTE, 1},
497     [OHOS_STATUS_ALGO_MEAN_Y - OHOS_CAMERA_EFFECT_START] = {"algoMeanY", META_TYPE_UINT32, 1},
498     [OHOS_STATUS_PREVIEW_PHYSICAL_CAMERA_ID -
499         OHOS_CAMERA_EFFECT_START] = {"previewPhysicalCameraId", META_TYPE_BYTE, 1},
500     [OHOS_ABILITY_CAPTURE_EXPECT_TIME -
501         OHOS_CAMERA_EFFECT_START] = {"captureExpectTime", META_TYPE_UINT32, -1},
502     [OHOS_ABILITY_EFFECT_SUGGESTION_SUPPORTED -
503 	    OHOS_CAMERA_EFFECT_START] = {"effectSuggestionSupported", META_TYPE_INT32, -1},
504     [OHOS_CONTROL_EFFECT_SUGGESTION -
505         OHOS_CAMERA_EFFECT_START] = {"effectSuggestion", META_TYPE_BYTE, 1},
506     [OHOS_CONTROL_EFFECT_SUGGESTION_DETECTION -
507         OHOS_CAMERA_EFFECT_START] = {"effectSuggestionDetection", META_TYPE_BYTE, -1},
508     [OHOS_CAMERA_EFFECT_SUGGESTION_TYPE -
509         OHOS_CAMERA_EFFECT_START] = {"effectSuggestionType", META_TYPE_BYTE, 1},
510     [OHOS_CONTROL_EFFECT_SUGGESTION_TYPE -
511         OHOS_CAMERA_EFFECT_START] = {"controlEffectSuggestionType", META_TYPE_BYTE, 1},
512     [OHOS_ABILITY_AVAILABLE_PROFILE_LEVEL -
513         OHOS_CAMERA_EFFECT_START] = {"availableProfileLevel", META_TYPE_INT32, -1},
514     [OHOS_ABILITY_AVAILABLE_PREVIEW_PROFILE -
515         OHOS_CAMERA_EFFECT_START] = {"availablePreviewProfile", META_TYPE_INT32, -1},
516     [OHOS_ABILITY_AVAILABLE_PHOTO_PROFILE -
517         OHOS_CAMERA_EFFECT_START] = {"availablePhotoProfile", META_TYPE_INT32, -1},
518     [OHOS_ABILITY_AVAILABLE_VIDEO_PROFILE -
519         OHOS_CAMERA_EFFECT_START] = {"availableVideoProfile", META_TYPE_INT32, -1},
520     [OHOS_ABILITY_AVAILABLE_METADATA_PROFILE -
521         OHOS_CAMERA_EFFECT_START] = {"availableMetadataProfile", META_TYPE_INT32, -1},
522     [OHOS_ABILITY_AVAILABLE_CONFIGURATIONS -
523         OHOS_CAMERA_EFFECT_START] = {"availableConfigurations", META_TYPE_INT32, -1},
524     [OHOS_ABILITY_CONFLICT_CONFIGURATIONS -
525         OHOS_CAMERA_EFFECT_START] = {"conflictConfigurations", META_TYPE_INT32, -1},
526     [OHOS_ABILITY_LIGHT_PAINTING_TYPE -
527         OHOS_CAMERA_EFFECT_START] = {"lightPaintingType", META_TYPE_BYTE, -1},
528     [OHOS_CONTROL_LIGHT_PAINTING_TYPE -
529         OHOS_CAMERA_EFFECT_START] = {"controlLightPaintingType", META_TYPE_BYTE, 1},
530     [OHOS_CONTROL_LIGHT_PAINTING_FLASH -
531         OHOS_CAMERA_EFFECT_START] = {"controlLightPaintingFlash", META_TYPE_BYTE, 1},
532     [OHOS_CONTROL_TIME_LAPSE_INTERVAL -
533         OHOS_CAMERA_EFFECT_START] = {"timeLapseInterval", META_TYPE_UINT32, 1},
534     [OHOS_CONTROL_TIME_LAPSE_TRYAE_STATE -
535         OHOS_CAMERA_EFFECT_START] = {"timeLapseTryaeState", META_TYPE_BYTE, 1},
536     [OHOS_STATUS_TIME_LAPSE_PREVIEW_TYPE -
537         OHOS_CAMERA_EFFECT_START] = {"timeLapsePreviewType", META_TYPE_BYTE, 1},
538     [OHOS_STATUS_TIME_LAPSE_TRYAE_HINT -
539         OHOS_CAMERA_EFFECT_START] = {"timeLapseTryaeHint", META_TYPE_BYTE, 1},
540     [OHOS_STATUS_TIME_LAPSE_CAPTURE_INTERVAL -
541         OHOS_CAMERA_EFFECT_START] = {"timeLapseCaptureInterval", META_TYPE_UINT32, 1},
542     [OHOS_STATUS_TIME_LAPSE_TRYAE_DONE -
543         OHOS_CAMERA_EFFECT_START] = {"timeLapseTryaeDone", META_TYPE_BYTE, 1},
544     [OHOS_CONTROL_TIME_LAPSE_RECORD_STATE -
545         OHOS_CAMERA_EFFECT_START] = {"timeLapseRecordState", META_TYPE_BYTE, 1},
546     [OHOS_CONTROL_TIME_LAPSE_PREVIEW_TYPE -
547         OHOS_CAMERA_EFFECT_START] = {"controlTimeLapsePreviewType", META_TYPE_BYTE, 1},
548     [OHOS_ABILITY_TIME_LAPSE_INTERVAL_RANGE -
549         OHOS_CAMERA_EFFECT_START] = {"timeLapseIntervalRange", META_TYPE_UINT32, 1},
550     [OHOS_ABILITY_LCD_FLASH -
551         OHOS_CAMERA_EFFECT_START] = {"lcdFlash", META_TYPE_INT32, -1},
552     [OHOS_CONTROL_LCD_FLASH_DETECTION -
553         OHOS_CAMERA_EFFECT_START] = {"lcdFlashDetection", META_TYPE_BYTE, 1},
554     [OHOS_CONTROL_LCD_FLASH -
555         OHOS_CAMERA_EFFECT_START] = {"controlLcdFlash", META_TYPE_BYTE, 1},
556     [OHOS_STATUS_LCD_FLASH_STATUS -
557         OHOS_CAMERA_EFFECT_START] = {"lcdFlashStatus", META_TYPE_INT32, 1},
558     [OHOS_ABILITY_DEPTH_DATA_DELIVERY -
559         OHOS_CAMERA_EFFECT_START] = {"depthDataDelivery", META_TYPE_INT32, -1},
560     [OHOS_CONTROL_DEPTH_DATA_DELIVERY_SWITCH -
561         OHOS_CAMERA_EFFECT_START] = {"depthDataDeliverySwitch", META_TYPE_BYTE, 1},
562     [OHOS_ABILITY_DEPTH_DATA_PROFILES -
563         OHOS_CAMERA_EFFECT_START] = {"depthDataProfiles", META_TYPE_INT32, -1},
564     [OHOS_CONTROL_DEPTH_DATA_ACCURACY -
565         OHOS_CAMERA_EFFECT_START] = {"depthDataAccuracy", META_TYPE_INT32, -1},
566     [OHOS_ABILITY_CAMERA_IS_RETRACTABLE -
567         OHOS_CAMERA_EFFECT_START] = {"cameraIsRetractable", META_TYPE_BYTE, 1},
568     [OHOS_CONTROL_CAMERA_CLOSE_AFTER_SECONDS -
569         OHOS_CAMERA_EFFECT_START] = {"cameraCloseAfterSeconds", META_TYPE_UINT32, 1},
570     [OHOS_ABILITY_CAPTURE_MACRO_DEPTH_FUSION_SUPPORTED -
571         OHOS_CAMERA_EFFECT_START] = {"captureMacroDepthFusionSupported", META_TYPE_BYTE, 1},
572     [OHOS_ABILITY_CAPTURE_MACRO_DEPTH_FUSION_ZOOM_RANGE -
573         OHOS_CAMERA_EFFECT_START] = {"captureMacroDepthFussionZoomRange", META_TYPE_FLOAT, -1},
574     [OHOS_CONTROL_CAPTURE_MACRO_DEPTH_FUSION -
575         OHOS_CAMERA_EFFECT_START] = {"captureMacroDepthFusion", META_TYPE_BYTE, 1},
576     [OHOS_ABILITY_CAMERA_PORTRAIT_THEME_SUPPORTED -
577         OHOS_CAMERA_EFFECT_START] = {"isPortraitThemeTypesSupported", META_TYPE_BYTE, 1},
578     [OHOS_ABILITY_CAMERA_PORTRAIT_THEME_TYPES -
579         OHOS_CAMERA_EFFECT_START] = {"supportedPortraitThemeTypes", META_TYPE_BYTE, -1},
580     [OHOS_CONTROL_CAMERA_PORTRAIT_THEME_TYPE -
581         OHOS_CAMERA_EFFECT_START] = {"portraitThemeType", META_TYPE_BYTE, 1},
582     [OHOS_ABILITY_CAMERA_VIDEO_ROTATION_SUPPORTED -
583         OHOS_CAMERA_EFFECT_START] = {"isVideoRotationSupported", META_TYPE_BYTE, 1},
584     [OHOS_ABILITY_CAMERA_VIDEO_ROTATION -
585         OHOS_CAMERA_EFFECT_START] = {"supportedVideoRotation", META_TYPE_INT32, -1},
586     [OHOS_CONTROL_CAMERA_VIDEO_ROTATION -
587         OHOS_CAMERA_EFFECT_START] = {"videoRotation", META_TYPE_INT32, 1},
588     [OHOS_MOVING_PHOTO_BUFFER_DURATION -
589         OHOS_CAMERA_EFFECT_START] = {"movingPhotoBufferDuration", META_TYPE_UINT32, 1},
590     [OHOS_MOVING_PHOTO_START -
591         OHOS_CAMERA_EFFECT_START] = {"movingPhotoStart", META_TYPE_INT64, 1},
592     [OHOS_MOVING_PHOTO_END -
593         OHOS_CAMERA_EFFECT_START] = {"movingPhotoEnd", META_TYPE_INT64, 1},
594     [OHOS_ABILITY_COLOR_RESERVATION_TYPES -
595         OHOS_CAMERA_EFFECT_START] = {"colorReservationTypes", META_TYPE_BYTE, -1},
596     [OHOS_CONTROL_COLOR_RESERVATION_TYPE -
597         OHOS_CAMERA_EFFECT_START] = {"colorReservationType", META_TYPE_BYTE, 1},
598     [OHOS_ABILITY_CONTROL_CENTER_SUPPORTED -
599         OHOS_CAMERA_EFFECT_START] = {"controlCenterSupported", META_TYPE_BYTE, 1},
600     [OHOS_ABILITY_CONTROL_CENTER_EFFECT_TYPE -
601         OHOS_CAMERA_EFFECT_START] = {"controlCenterEffectType", META_TYPE_BYTE, -1},
602 };
603 
604 static item_info_t g_ohosCameraSecure[OHOS_CAMERA_SECURE_END - OHOS_CAMERA_SECURE_START] = {
605     [OHOS_CONTROL_SECURE_FACE_MODE -
606         OHOS_CAMERA_SECURE_START] = {"secureFaceMode", META_TYPE_INT32, 1},
607     [OHOS_CONTROL_SECURE_FACE_INFO -
608         OHOS_CAMERA_SECURE_START] = {"secureFaceInfo", META_TYPE_INT32, -1},
609     [OHOS_CONTROL_SECURE_FACE_AUTH_RESULT -
610         OHOS_CAMERA_SECURE_START] = {"faceAuthResult", META_TYPE_INT32, 1},
611     [OHOS_CONTROL_SECURE_FLASH_SEQ -
612         OHOS_CAMERA_SECURE_START] = {"secureFlashSeq", META_TYPE_INT32, -1},
613     [OHOS_CONTROL_SECURE_IR_LED_SWITCH -
614         OHOS_CAMERA_SECURE_START] = {"irLedSwitch", META_TYPE_BYTE, 1},
615     [OHOS_CONTROL_SECURE_IR_LOCKAE_SWITCH -
616         OHOS_CAMERA_SECURE_START] = {"irLockaeSwitch", META_TYPE_BYTE, 1},
617 };
618 
619 static item_info_t g_ohosCameraXmage[OHOS_XMAGE_COLOR_MODES_END - OHOS_XMAGE_COLOR_MODES_START] = {
620     [OHOS_ABILITY_SUPPORTED_COLOR_MODES -
621         OHOS_XMAGE_COLOR_MODES_START] = {"cameraXmageSupportMode",  META_TYPE_BYTE,  1},
622     [OHOS_CONTROL_SUPPORTED_COLOR_MODES -
623         OHOS_XMAGE_COLOR_MODES_START] = {"cameraXmageControlMode",  META_TYPE_BYTE,  1},
624 };
625 
626 static item_info_t g_ohosCameraLightStatus[OHOS_LIGHT_STATUS_END - OHOS_LIGHT_STATUS_START] = {
627     [OHOS_ABILITY_LIGHT_STATUS -
628         OHOS_LIGHT_STATUS_START] = {"cameraLightStatusSupported",  META_TYPE_BYTE,  1},
629     [OHOS_CONTROL_LIGHT_STATUS -
630         OHOS_LIGHT_STATUS_START] = {"cameraLightStatusControl",  META_TYPE_BYTE,  1},
631     [OHOS_STATUS_LIGHT_STATUS -
632         OHOS_LIGHT_STATUS_START] = {"cameraLightStatus",  META_TYPE_BYTE,  1},
633 };
634 
635 const static item_info_t *g_ohosItemInfo[OHOS_SECTION_COUNT] = {
636     g_ohosCameraProperties,
637     g_ohosCameraSensor,
638     g_ohosCameraSensorInfo,
639     g_ohosCameraStatistics,
640     g_ohosCameraControl,
641     g_ohosDeviceExposure,
642     g_ohosDeviceFocus,
643     g_ohosDeviceWhite,
644     g_ohosDeviceFlash,
645     g_ohosDeviceZoom,
646     g_ohosStreamAbility,
647     g_ohosStreamJpeg,
648     g_ohosStreamVideo,
649     g_ohosPostProcess,
650     g_ohosCameraSecure,
651     g_ohosCameraXmage,
652     g_ohosStreamControl,
653     g_ohosCameraLightStatus,
654 };
655 } // namespace Camera
656 #endif /* CAMERA_METADATA_ITEM_INFO_H */
657