• 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_metadata_operator.h"
20 
21 namespace OHOS::Camera {
22 const static size_t OHOS_CAMERA_METADATA_TYPE_SIZE[META_NUM_TYPES] = {
23     [META_TYPE_BYTE] = sizeof(uint8_t),
24     [META_TYPE_INT32] = sizeof(int32_t),
25     [META_TYPE_UINT32] = sizeof(uint32_t),
26     [META_TYPE_FLOAT] = sizeof(float),
27     [META_TYPE_INT64] = sizeof(int64_t),
28     [META_TYPE_DOUBLE] = sizeof(double),
29     [META_TYPE_RATIONAL] = sizeof(camera_rational_t)
30 };
31 
32 static uint32_t g_ohosCameraSectionBounds[OHOS_SECTION_COUNT][2] = {
33     [OHOS_SECTION_CAMERA_PROPERTIES] = {OHOS_CAMERA_PROPERTIES_START,  OHOS_CAMERA_PROPERTIES_END },
34     [OHOS_SECTION_CAMERA_SENSOR] = {OHOS_CAMERA_SENSOR_START,      OHOS_CAMERA_SENSOR_END     },
35     [OHOS_SECTION_CAMERA_SENSOR_INFO] = {OHOS_CAMERA_SENSOR_INFO_START, OHOS_CAMERA_SENSOR_INFO_END},
36     [OHOS_SECTION_CAMERA_STATISTICS] = {OHOS_CAMERA_STATISTICS_START,  OHOS_CAMERA_STATISTICS_END },
37     [OHOS_SECTION_CAMERA_CONTROL] = {OHOS_DEVICE_CONTROL_START,     OHOS_DEVICE_CONTROL_END    },
38     [OHOS_SECTION_DEVICE_EXPOSURE] = {OHOS_DEVICE_EXPOSURE_START,    OHOS_DEVICE_EXPOSURE_END   },
39     [OHOS_SECTION_DEVICE_FOCUS] = {OHOS_DEVICE_FOCUS_START,       OHOS_DEVICE_FOCUS_END      },
40     [OHOS_SECTION_DEVICE_FLASH] = {OHOS_DEVICE_FLASH_START,       OHOS_DEVICE_FLASH_END      },
41     [OHOS_SECTION_DEVICE_ZOOM] = {OHOS_DEVICE_ZOOM_START,        OHOS_DEVICE_ZOOM_END       },
42     [OHOS_SECTION_STREAM_ABILITY] = {OHOS_STREAM_ABILITY_START,     OHOS_STREAM_ABILITY_END    },
43     [OHOS_SECTION_STREAM_JPEG] = {OHOS_STREAM_JPEG_START,        OHOS_STREAM_JPEG_END       },
44     [OHOS_SECTION_STREAM_VIDEO] = {OHOS_STREAM_VIDEO_START,       OHOS_STREAM_VIDEO_END      },
45     [OHOS_SECTION_CAMERA_EFFECT] = {OHOS_CAMERA_EFFECT_START, OHOS_CAMERA_EFFECT_END },
46     [OHOS_SECTION_CAMERA_SECURE] = {OHOS_CAMERA_SECURE_START, OHOS_CAMERA_SECURE_END },
47 };
48 
49 static item_info_t g_ohosCameraProperties[OHOS_CAMERA_PROPERTIES_END - OHOS_CAMERA_PROPERTIES_START] = {
50     [OHOS_ABILITY_CAMERA_POSITION - OHOS_CAMERA_PROPERTIES_START] = {"cameraPosition",       META_TYPE_BYTE,  1 },
51     [OHOS_ABILITY_CAMERA_TYPE - OHOS_CAMERA_PROPERTIES_START] = {"cameraType",           META_TYPE_BYTE,  1 },
52     [OHOS_ABILITY_CAMERA_CONNECTION_TYPE -
53         OHOS_CAMERA_PROPERTIES_START] = {"cameraConnectionType", META_TYPE_BYTE,  1 },
54     [OHOS_ABILITY_MEMORY_TYPE - OHOS_CAMERA_PROPERTIES_START] = {"cameraMemoryType", META_TYPE_BYTE, 1},
55     [OHOS_ABILITY_FPS_RANGES - OHOS_CAMERA_PROPERTIES_START] = {"fpsAvailableRanges",   META_TYPE_INT32, -1},
56     [OHOS_ABILITY_FLASH_AVAILABLE - OHOS_CAMERA_PROPERTIES_START] = {"flashAvailable",       META_TYPE_BYTE,  1 },
57     [OHOS_CAMERA_STREAM_ID - OHOS_CAMERA_PROPERTIES_START] = {"streamId",       META_TYPE_INT32,  1 },
58     [OHOS_ABILITY_PRELAUNCH_AVAILABLE - OHOS_CAMERA_PROPERTIES_START] = {"prelaunchAvailable", META_TYPE_BYTE, 1 },
59     [OHOS_ABILITY_CUSTOM_VIDEO_FPS - OHOS_CAMERA_PROPERTIES_START] = {"customVideoFps",   META_TYPE_INT32, -1},
60     [OHOS_ABILITY_CAMERA_MODES - OHOS_CAMERA_PROPERTIES_START] = {"availableCameraModes", META_TYPE_BYTE, -1 },
61 };
62 
63 static item_info_t g_ohosCameraSensor[OHOS_CAMERA_SENSOR_END - OHOS_CAMERA_SENSOR_START] = {
64     [OHOS_SENSOR_EXPOSURE_TIME - OHOS_CAMERA_SENSOR_START] = {"exposureTime",        META_TYPE_INT64, 1},
65     [OHOS_SENSOR_COLOR_CORRECTION_GAINS - OHOS_CAMERA_SENSOR_START] = {"colorCorrectuonGain", META_TYPE_FLOAT, 1},
66     [OHOS_SENSOR_ORIENTATION - OHOS_CAMERA_SENSOR_START] = {"orientation",         META_TYPE_INT32, 1},
67     [OHOS_ABILITY_MUTE_MODES - OHOS_CAMERA_SENSOR_START] = {"muteAvailableModes", META_TYPE_BYTE, -1},
68     [OHOS_CONTROL_MUTE_MODE - OHOS_CAMERA_SENSOR_START] = {"muteMode", META_TYPE_BYTE, 1},
69 };
70 
71 static item_info_t g_ohosCameraSensorInfo[OHOS_CAMERA_SENSOR_INFO_END - OHOS_CAMERA_SENSOR_INFO_START] = {
72     [OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE -
73         OHOS_CAMERA_SENSOR_INFO_START] = {"activeArraySize",       META_TYPE_INT32, -1},
74     [OHOS_SENSOR_INFO_SENSITIVITY_RANGE -
75         OHOS_CAMERA_SENSOR_INFO_START] = {"sensitivityRange",      META_TYPE_INT32, -1},
76     [OHOS_SENSOR_INFO_MAX_FRAME_DURATION -
77         OHOS_CAMERA_SENSOR_INFO_START] = {"maxFrameDuration",      META_TYPE_INT64, 1 },
78     [OHOS_SENSOR_INFO_PHYSICAL_SIZE - OHOS_CAMERA_SENSOR_INFO_START] = {"physicalSize",          META_TYPE_FLOAT, 1 },
79     [OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE -
80         OHOS_CAMERA_SENSOR_INFO_START] = {"pixelArraySize",        META_TYPE_INT32, -1},
81     [OHOS_SENSOR_INFO_TIMESTAMP - OHOS_CAMERA_SENSOR_INFO_START] = {"sensorOutputTimeStamp", META_TYPE_INT64, 1 },
82 };
83 
84 static item_info_t g_ohosCameraStatistics[OHOS_CAMERA_STATISTICS_END - OHOS_CAMERA_STATISTICS_START] = {
85     [OHOS_STATISTICS_FACE_DETECT_MODE - OHOS_CAMERA_STATISTICS_START] = {"faceDetectMode",   META_TYPE_BYTE,  1 },
86     [OHOS_STATISTICS_FACE_DETECT_SWITCH - OHOS_CAMERA_STATISTICS_START] = {"faceDetectSwitch", META_TYPE_BYTE,  1 },
87     [OHOS_STATISTICS_FACE_DETECT_MAX_NUM - OHOS_CAMERA_STATISTICS_START] = {"faceDetectMaxNum", META_TYPE_BYTE,  1 },
88     [OHOS_STATISTICS_HISTOGRAM_MODE - OHOS_CAMERA_STATISTICS_START] = {"histogramMode",    META_TYPE_BYTE,  1 },
89     [OHOS_STATISTICS_FACE_IDS - OHOS_CAMERA_STATISTICS_START] = {"faceIds",          META_TYPE_INT32, -1},
90     [OHOS_STATISTICS_FACE_LANDMARKS - OHOS_CAMERA_STATISTICS_START] = {"faceLandmarks",    META_TYPE_INT32, -1},
91     [OHOS_STATISTICS_FACE_RECTANGLES - OHOS_CAMERA_STATISTICS_START] = {"faceRectangles",   META_TYPE_FLOAT, -1},
92     [OHOS_STATISTICS_FACE_SCORES - OHOS_CAMERA_STATISTICS_START] = {"faceScores",       META_TYPE_BYTE,  -1},
93 };
94 
95 static item_info_t g_ohosCameraControl[OHOS_DEVICE_CONTROL_END - OHOS_DEVICE_CONTROL_START] = {
96     [OHOS_CONTROL_AE_ANTIBANDING_MODE -
97         OHOS_DEVICE_CONTROL_START] = {"aeAntibandingMode",           META_TYPE_BYTE,     1 },
98     [OHOS_CONTROL_AE_EXPOSURE_COMPENSATION -
99         OHOS_DEVICE_CONTROL_START] = {"aeExposureCompensation",      META_TYPE_INT32,    1 },
100     [OHOS_CONTROL_AE_LOCK - OHOS_DEVICE_CONTROL_START] = {"aeLock",                      META_TYPE_BYTE,     1 },
101     [OHOS_CONTROL_AE_MODE - OHOS_DEVICE_CONTROL_START] = {"aeMode",                      META_TYPE_BYTE,     1 },
102     [OHOS_CONTROL_AE_REGIONS - OHOS_DEVICE_CONTROL_START] = {"aeRegions",                   META_TYPE_INT32,    -1},
103     [OHOS_CONTROL_AE_TARGET_FPS_RANGE -
104         OHOS_DEVICE_CONTROL_START] = {"aeTargetFpsRange",            META_TYPE_INT32,    -1},
105     [OHOS_CONTROL_FPS_RANGES - OHOS_DEVICE_CONTROL_START] = {"fpsRange",                    META_TYPE_INT32,    -1},
106     [OHOS_CONTROL_AF_MODE - OHOS_DEVICE_CONTROL_START] = {"afMode",                      META_TYPE_BYTE,     1 },
107     [OHOS_CONTROL_AF_REGIONS - OHOS_DEVICE_CONTROL_START] = {"afRegions",                   META_TYPE_INT32,    -1},
108     [OHOS_CONTROL_AF_TRIGGER - OHOS_DEVICE_CONTROL_START] = {"afTrigger",                   META_TYPE_BYTE,     1 },
109     [OHOS_CONTROL_AF_TRIGGER_ID - OHOS_DEVICE_CONTROL_START] = {"afTriggerId",                 META_TYPE_INT32,    1 },
110     [OHOS_CONTROL_AF_STATE - OHOS_DEVICE_CONTROL_START] = {"afState",                     META_TYPE_BYTE,     1 },
111     [OHOS_CONTROL_AWB_LOCK - OHOS_DEVICE_CONTROL_START] = {"awbLock",                     META_TYPE_BYTE,     1 },
112     [OHOS_CONTROL_AWB_MODE - OHOS_DEVICE_CONTROL_START] = {"awbMode",                     META_TYPE_BYTE,     1 },
113     [OHOS_CONTROL_AWB_REGIONS - OHOS_DEVICE_CONTROL_START] = {"awbRegions",                  META_TYPE_INT32,    -1},
114     [OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES -
115         OHOS_DEVICE_CONTROL_START] = {"aeAvailableAntibandingModes", META_TYPE_BYTE,     -1},
116     [OHOS_CONTROL_AE_AVAILABLE_MODES -
117         OHOS_DEVICE_CONTROL_START] = {"aeAvailableModes",            META_TYPE_BYTE,     -1},
118     [OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES -
119         OHOS_DEVICE_CONTROL_START] = {"aeAvailableTargetFpsRanges",  META_TYPE_INT32,    -1},
120     [OHOS_CONTROL_AE_COMPENSATION_RANGE -
121         OHOS_DEVICE_CONTROL_START] = {"aeCompensationRange",         META_TYPE_INT32,    -1},
122     [OHOS_CONTROL_AE_COMPENSATION_STEP -
123         OHOS_DEVICE_CONTROL_START] = {"aeCompensationStep",          META_TYPE_RATIONAL, 1 },
124     [OHOS_CONTROL_AF_AVAILABLE_MODES -
125         OHOS_DEVICE_CONTROL_START] = {"afAvailableModes",            META_TYPE_BYTE,     -1},
126     [OHOS_CONTROL_AWB_AVAILABLE_MODES -
127         OHOS_DEVICE_CONTROL_START] = {"awbAvailableModes",           META_TYPE_BYTE,     -1},
128     [OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED -
129         OHOS_DEVICE_CONTROL_START] = {"mirrorSupported",             META_TYPE_BYTE,     1 },
130     [OHOS_CONTROL_CAPTURE_MIRROR - OHOS_DEVICE_CONTROL_START] = {"mirror",                      META_TYPE_BYTE,     1 },
131     [OHOS_CONTROL_FOCUS_STATE - OHOS_DEVICE_CONTROL_START] = {"focusState",                  META_TYPE_BYTE,     1 },
132     [OHOS_CONTROL_METER_POINT - OHOS_DEVICE_CONTROL_START] = {"meterPoint",                  META_TYPE_INT32,    -1},
133     [OHOS_CONTROL_METER_MODE - OHOS_DEVICE_CONTROL_START] = {"meterMode",                   META_TYPE_BYTE,     1 },
134     [OHOS_CONTROL_EXPOSURE_STATE - OHOS_DEVICE_CONTROL_START] = {"exposureState",               META_TYPE_BYTE,     1 },
135     [OHOS_CONTROL_FOCUSED_POINT - OHOS_DEVICE_CONTROL_START] = {"focusedPoint", META_TYPE_INT32, -1 },
136 };
137 
138 static item_info_t g_ohosDeviceExposure[OHOS_DEVICE_EXPOSURE_END - OHOS_DEVICE_EXPOSURE_START] = {
139     [OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES -
140         OHOS_DEVICE_EXPOSURE_START] = {"exposureAvailableModes",  META_TYPE_BYTE,          -1},
141     [OHOS_CONTROL_EXPOSUREMODE - OHOS_DEVICE_EXPOSURE_START] = {"exposureMode",            META_TYPE_BYTE, 1 },
142     [OHOS_ABILITY_EXPOSURE_MODES - OHOS_DEVICE_EXPOSURE_START] = {"exposureSupportiveModes", META_TYPE_BYTE, -1},
143     [OHOS_CONTROL_EXPOSURE_MODE - OHOS_DEVICE_EXPOSURE_START] = {"exMode",                  META_TYPE_BYTE, 1 },
144     [OHOS_ABILITY_METER_MODES - OHOS_DEVICE_EXPOSURE_START] = {"meterAvailableModes",     META_TYPE_BYTE, -1},
145     [OHOS_ABILITY_SCENE_EXPOSURE_MODES - OHOS_DEVICE_EXPOSURE_START] = {"sceneExposureSupportiveModes", META_TYPE_BYTE, -1},
146 };
147 
148 static item_info_t g_ohosDeviceFocus[OHOS_DEVICE_FOCUS_END - OHOS_DEVICE_FOCUS_START] = {
149     [OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES -
150         OHOS_DEVICE_FOCUS_START] = {"focusAvailablesModes", META_TYPE_BYTE,  -1},
151     [OHOS_CONTROL_FOCUSMODE - OHOS_DEVICE_FOCUS_START] = {"focusMode",            META_TYPE_BYTE,  1 },
152     [OHOS_ABILITY_FOCUS_MODES - OHOS_DEVICE_FOCUS_START] = {"focusSupportiveModes", META_TYPE_BYTE,  -1},
153     [OHOS_CONTROL_FOCUS_MODE - OHOS_DEVICE_FOCUS_START] = {"fMode",                META_TYPE_BYTE,  1 },
154     [OHOS_ABILITY_FOCAL_LENGTH - OHOS_DEVICE_FOCUS_START] = {"focalLength",          META_TYPE_FLOAT, 1 },
155     [OHOS_ABILITY_SCENE_FOCUS_MODES - OHOS_DEVICE_FOCUS_START] = {"sceneFocusSupportiveModes", META_TYPE_BYTE, -1},
156 };
157 
158 static item_info_t g_ohosDeviceFlash[OHOS_DEVICE_FLASH_END - OHOS_DEVICE_FLASH_START] = {
159     [OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES - OHOS_DEVICE_FLASH_START] = {"flashAvailablesModes", META_TYPE_BYTE, -1},
160     [OHOS_CONTROL_FLASHMODE - OHOS_DEVICE_FLASH_START] = {"flashMode",            META_TYPE_BYTE, 1 },
161     [OHOS_ABILITY_FLASH_MODES - OHOS_DEVICE_FLASH_START] = {"flashSupportiveModes", META_TYPE_BYTE, -1},
162     [OHOS_CONTROL_FLASH_MODE - OHOS_DEVICE_FLASH_START] = {"flaMode",              META_TYPE_BYTE, 1 },
163     [OHOS_CONTROL_FLASH_STATE - OHOS_DEVICE_FLASH_START] = {"flashstate",           META_TYPE_BYTE, 1 },
164     [OHOS_ABILITY_SCENE_FLASH_MODES - OHOS_DEVICE_FLASH_START] = {"sceneFlashSupportiveModes", META_TYPE_BYTE, -1},
165 };
166 
167 static item_info_t g_ohosDeviceZoom[OHOS_DEVICE_ZOOM_END - OHOS_DEVICE_ZOOM_START] = {
168     [OHOS_ABILITY_ZOOM_RATIO_RANGE - OHOS_DEVICE_ZOOM_START] = {"zoomRange",      META_TYPE_FLOAT, -1},
169     [OHOS_CONTROL_ZOOM_RATIO - OHOS_DEVICE_ZOOM_START] = {"zoomRatio",      META_TYPE_FLOAT, 1 },
170     [OHOS_CONTROL_ZOOM_CROP_REGION - OHOS_DEVICE_ZOOM_START] = {"zoomCropRegion", META_TYPE_INT32, -1},
171     [OHOS_ABILITY_ZOOM_CAP - OHOS_DEVICE_ZOOM_START] = {"zoomCap",        META_TYPE_INT32, -1},
172     [OHOS_ABILITY_SCENE_ZOOM_CAP - OHOS_DEVICE_ZOOM_START] = {"sceneZoomCap",   META_TYPE_INT32, -1},
173 };
174 
175 static item_info_t g_ohosStreamAbility[OHOS_STREAM_ABILITY_END - OHOS_STREAM_ABILITY_START] = {
176     [OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS -
177         OHOS_STREAM_ABILITY_START] = {"streamAvailableConfigurations", META_TYPE_INT32, -1},
178     [OHOS_STREAM_AVAILABLE_FORMATS -
179         OHOS_STREAM_ABILITY_START] = {"streamAvailableFormats",        META_TYPE_INT32, -1},
180     [OHOS_ABILITY_STREAM_AVAILABLE_EXTEND_CONFIGURATIONS -
181         OHOS_STREAM_ABILITY_START] = {"streamExtendConfigurations",    META_TYPE_INT32, -1},
182     [OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE -
183         OHOS_STREAM_ABILITY_START] = {"streamQuickThumbnailAvailable", META_TYPE_BYTE, 1},
184     [OHOS_ABILITY_PORTRAIT_RESOLUSION -
185         OHOS_STREAM_ABILITY_START] = {"streamPortraitResolusion", META_TYPE_INT32, -1},
186     [OHOS_ABILITY_SCENE_STREAM_QUICK_THUMBNAIL_AVAILABLE -
187         OHOS_STREAM_ABILITY_START] = {"sceneStreamQuickThumbnailAvailable", META_TYPE_BYTE, -1},
188 };
189 
190 static item_info_t g_ohosStreamJpeg[OHOS_STREAM_JPEG_END - OHOS_STREAM_JPEG_START] = {
191     [OHOS_JPEG_GPS_COORDINATES - OHOS_STREAM_JPEG_START] = {"gpsCoordinates",          META_TYPE_DOUBLE, -1},
192     [OHOS_JPEG_GPS_PROCESSING_METHOD - OHOS_STREAM_JPEG_START] = {"gpsProcessingMethod",     META_TYPE_BYTE,   1 },
193     [OHOS_JPEG_GPS_TIMESTAMP - OHOS_STREAM_JPEG_START] = {"gpsTimestamp",            META_TYPE_INT64,  1 },
194     [OHOS_JPEG_ORIENTATION - OHOS_STREAM_JPEG_START] = {"orientation",             META_TYPE_INT32,  1 },
195     [OHOS_JPEG_QUALITY - OHOS_STREAM_JPEG_START] = {"quality",                 META_TYPE_BYTE,   1 },
196     [OHOS_JPEG_THUMBNAIL_QUALITY - OHOS_STREAM_JPEG_START] = {"thumbnailQuality",        META_TYPE_BYTE,   1 },
197     [OHOS_JPEG_THUMBNAIL_SIZE - OHOS_STREAM_JPEG_START] = {"thumbnailSize",           META_TYPE_INT32,  -1},
198     [OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES - OHOS_STREAM_JPEG_START] = {"availableThumbnailSizes", META_TYPE_INT32,  -1},
199     [OHOS_JPEG_MAX_SIZE - OHOS_STREAM_JPEG_START] = {"maxSize",                 META_TYPE_INT32,  1 },
200     [OHOS_JPEG_SIZE - OHOS_STREAM_JPEG_START] = {"size",                    META_TYPE_INT32,  1 },
201 };
202 
203 static item_info_t g_ohosStreamVideo[OHOS_STREAM_VIDEO_END - OHOS_STREAM_VIDEO_START] = {
204     [OHOS_ABILITY_VIDEO_STABILIZATION_MODES -
205         OHOS_STREAM_VIDEO_START] = {"videoAvailableStabilizationModes", META_TYPE_BYTE, -1},
206     [OHOS_CONTROL_VIDEO_STABILIZATION_MODE -
207         OHOS_STREAM_VIDEO_START] = {"videoStabilizationMode",           META_TYPE_BYTE, 1 },
208 };
209 
210 static item_info_t g_ohosPostProcess[OHOS_CAMERA_EFFECT_END - OHOS_CAMERA_EFFECT_START] {
211     [OHOS_ABILITY_SCENE_FILTER_TYPES -
212         OHOS_CAMERA_EFFECT_START] = {"sceneAvailableFilterTypes", META_TYPE_BYTE, -1},
213     [OHOS_CONTROL_FILTER_TYPE -
214         OHOS_CAMERA_EFFECT_START] = {"filterType", META_TYPE_BYTE, 1},
215     [OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES -
216         OHOS_CAMERA_EFFECT_START] = {"sceneAvailablePotraitTypes", META_TYPE_BYTE, -1},
217     [OHOS_CONTROL_PORTRAIT_EFFECT_TYPE -
218         OHOS_CAMERA_EFFECT_START] = {"portraitType", META_TYPE_BYTE, 1},
219     [OHOS_ABILITY_SCENE_BEAUTY_TYPES -
220         OHOS_CAMERA_EFFECT_START] = {"sceneAvailableBeautyTypes", META_TYPE_BYTE, -1},
221     [OHOS_CONTROL_BEAUTY_TYPE -
222         OHOS_CAMERA_EFFECT_START] = {"beautyType", META_TYPE_BYTE, 1},
223     [OHOS_ABILITY_BEAUTY_AUTO_VALUES -
224         OHOS_CAMERA_EFFECT_START] = {"availableAutoBeautyValues", META_TYPE_BYTE, -1},
225     [OHOS_CONTROL_BEAUTY_AUTO_VALUE -
226         OHOS_CAMERA_EFFECT_START] = {"autoBeautyValue", META_TYPE_BYTE, 1},
227     [OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES -
228         OHOS_CAMERA_EFFECT_START] = {"availableFaceSlenderValues", META_TYPE_BYTE, -1},
229     [OHOS_CONTROL_BEAUTY_FACE_SLENDER_VALUE -
230         OHOS_CAMERA_EFFECT_START] = {"faceSlenderValue", META_TYPE_BYTE, 1},
231     [OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES -
232         OHOS_CAMERA_EFFECT_START] = {"availableSkinSmoothValues", META_TYPE_BYTE, -1},
233     [OHOS_CONTROL_BEAUTY_SKIN_SMOOTH_VALUE -
234         OHOS_CAMERA_EFFECT_START] = {"skinSmoothValue", META_TYPE_BYTE, 1},
235     [OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES -
236         OHOS_CAMERA_EFFECT_START] = {"availableSkinToneValues", META_TYPE_INT32, -1},
237     [OHOS_CONTROL_BEAUTY_SKIN_TONE_VALUE -
238         OHOS_CAMERA_EFFECT_START] = {"skinToneValue", META_TYPE_INT32, 1},
239 };
240 
241 static item_info_t g_ohosCameraSecure[OHOS_CAMERA_SECURE_END - OHOS_CAMERA_SECURE_START] = {
242     [OHOS_CONTROL_SECURE_FACE_MODE -
243         OHOS_CAMERA_SECURE_START] = {"secureFaceMode", META_TYPE_INT32, 1},
244     [OHOS_CONTROL_SECURE_FACE_INFO -
245         OHOS_CAMERA_SECURE_START] = {"secureFaceInfo", META_TYPE_INT32, -1},
246     [OHOS_CONTROL_SECURE_FACE_AUTH_RESULT -
247         OHOS_CAMERA_SECURE_START] = {"faceAuthResult", META_TYPE_INT32, 1},
248     [OHOS_CONTROL_SECURE_FLASH_SEQ -
249         OHOS_CAMERA_SECURE_START] = {"secureFlashSeq", META_TYPE_INT32, -1},
250     [OHOS_CONTROL_SECURE_IR_LED_SWITCH -
251         OHOS_CAMERA_SECURE_START] = {"irLedSwitch", META_TYPE_BYTE, 1},
252     [OHOS_CONTROL_SECURE_IR_LOCKAE_SWITCH -
253         OHOS_CAMERA_SECURE_START] = {"irLockaeSwitch", META_TYPE_BYTE, 1},
254 };
255 
256 const static item_info_t *g_ohosItemInfo[OHOS_SECTION_COUNT] = {
257     g_ohosCameraProperties,
258     g_ohosCameraSensor,
259     g_ohosCameraSensorInfo,
260     g_ohosCameraStatistics,
261     g_ohosCameraControl,
262     g_ohosDeviceExposure,
263     g_ohosDeviceFocus,
264     g_ohosDeviceFlash,
265     g_ohosDeviceZoom,
266     g_ohosStreamAbility,
267     g_ohosStreamJpeg,
268     g_ohosStreamVideo,
269     g_ohosPostProcess,
270     g_ohosCameraSecure,
271 };
272 } // namespace Camera
273 #endif /* CAMERA_METADATA_ITEM_INFO_H */
274