• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024-2024 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 #include "ability/camera_ability_const.h"
17 #include "camera_util.h"
18 #include "display/graphic/common/v1_0/cm_color_space.h"
19 
20 namespace OHOS {
21 namespace CameraStandard {
22 
23 const std::unordered_map<camera_flash_mode_enum_t, FlashMode> g_metaFlashModeMap_ = {
24     {OHOS_CAMERA_FLASH_MODE_CLOSE, FLASH_MODE_CLOSE},
25     {OHOS_CAMERA_FLASH_MODE_OPEN, FLASH_MODE_OPEN},
26     {OHOS_CAMERA_FLASH_MODE_AUTO, FLASH_MODE_AUTO},
27     {OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN, FLASH_MODE_ALWAYS_OPEN}
28 };
29 
30 const std::unordered_map<camera_exposure_mode_enum_t, ExposureMode> g_metaExposureModeMap_ = {
31     {OHOS_CAMERA_EXPOSURE_MODE_LOCKED, EXPOSURE_MODE_LOCKED},
32     {OHOS_CAMERA_EXPOSURE_MODE_AUTO, EXPOSURE_MODE_AUTO},
33     {OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO, EXPOSURE_MODE_CONTINUOUS_AUTO}
34 };
35 
36 const std::unordered_map<camera_focus_mode_enum_t, FocusMode> g_metaFocusModeMap_ = {
37     {OHOS_CAMERA_FOCUS_MODE_MANUAL, FOCUS_MODE_MANUAL},
38     {OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO, FOCUS_MODE_CONTINUOUS_AUTO},
39     {OHOS_CAMERA_FOCUS_MODE_AUTO, FOCUS_MODE_AUTO},
40     {OHOS_CAMERA_FOCUS_MODE_LOCKED, FOCUS_MODE_LOCKED}
41 };
42 
43 const std::unordered_map<camera_beauty_type_t, BeautyType> g_metaBeautyTypeMap_ = {
44     {OHOS_CAMERA_BEAUTY_TYPE_AUTO, AUTO_TYPE},
45     {OHOS_CAMERA_BEAUTY_TYPE_SKIN_SMOOTH, SKIN_SMOOTH},
46     {OHOS_CAMERA_BEAUTY_TYPE_FACE_SLENDER, FACE_SLENDER},
47     {OHOS_CAMERA_BEAUTY_TYPE_SKIN_TONE, SKIN_TONE}
48 };
49 
50 const std::unordered_map<camera_device_metadata_tag_t, BeautyType> g_metaBeautyAbilityMap_ = {
51     {OHOS_ABILITY_BEAUTY_AUTO_VALUES, AUTO_TYPE},
52     {OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES, SKIN_SMOOTH},
53     {OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES, FACE_SLENDER},
54     {OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES, SKIN_TONE}
55 };
56 
57 const std::unordered_map<camera_xmage_color_type_t, ColorEffect> g_metaColorEffectMap_ = {
58     {CAMERA_CUSTOM_COLOR_NORMAL, COLOR_EFFECT_NORMAL},
59     {CAMERA_CUSTOM_COLOR_BRIGHT, COLOR_EFFECT_BRIGHT},
60     {CAMERA_CUSTOM_COLOR_SOFT, COLOR_EFFECT_SOFT},
61     {CAMERA_CUSTOM_COLOR_MONO, COLOR_EFFECT_BLACK_WHITE}
62 };
63 
64 const std::unordered_map<CameraVideoStabilizationMode, VideoStabilizationMode> g_metaVideoStabModesMap_ = {
65     {OHOS_CAMERA_VIDEO_STABILIZATION_OFF, OFF},
66     {OHOS_CAMERA_VIDEO_STABILIZATION_LOW, LOW},
67     {OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE, MIDDLE},
68     {OHOS_CAMERA_VIDEO_STABILIZATION_HIGH, HIGH},
69     {OHOS_CAMERA_VIDEO_STABILIZATION_AUTO, AUTO}
70 };
71 
72 const std::unordered_map<camera_portrait_effect_type_t, PortraitEffect> g_metaToFwPortraitEffect_ = {
73     {OHOS_CAMERA_PORTRAIT_EFFECT_OFF, OFF_EFFECT},
74     {OHOS_CAMERA_PORTRAIT_CIRCLES, CIRCLES},
75     {OHOS_CAMERA_PORTRAIT_HEART, HEART},
76     {OHOS_CAMERA_PORTRAIT_ROTATED, ROTATED},
77     {OHOS_CAMERA_PORTRAIT_STUDIO, STUDIO},
78     {OHOS_CAMERA_PORTRAIT_THEATER, THEATER},
79 };
80 
81 const std::unordered_map<VideoStabilizationMode, CameraVideoStabilizationMode> g_fwkVideoStabModesMap_ = {
82     {OFF, OHOS_CAMERA_VIDEO_STABILIZATION_OFF},
83     {LOW, OHOS_CAMERA_VIDEO_STABILIZATION_LOW},
84     {MIDDLE, OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE},
85     {HIGH, OHOS_CAMERA_VIDEO_STABILIZATION_HIGH},
86     {AUTO, OHOS_CAMERA_VIDEO_STABILIZATION_AUTO}
87 };
88 
89 const std::unordered_map<ExposureMode, camera_exposure_mode_enum_t> g_fwkExposureModeMap_ = {
90     {EXPOSURE_MODE_LOCKED, OHOS_CAMERA_EXPOSURE_MODE_LOCKED},
91     {EXPOSURE_MODE_AUTO, OHOS_CAMERA_EXPOSURE_MODE_AUTO},
92     {EXPOSURE_MODE_CONTINUOUS_AUTO, OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO}
93 };
94 
95 
96 const std::map<CM_ColorSpaceType, ColorSpace> g_metaColorSpaceMap_ = {
97     {CM_COLORSPACE_NONE, COLOR_SPACE_UNKNOWN},
98     {CM_P3_FULL, DISPLAY_P3},
99     {CM_SRGB_FULL, SRGB},
100     {CM_BT709_FULL, BT709},
101     {CM_BT2020_HLG_FULL, BT2020_HLG},
102     {CM_BT2020_PQ_FULL, BT2020_PQ},
103     {CM_P3_HLG_FULL, P3_HLG},
104     {CM_P3_PQ_FULL, P3_PQ},
105     {CM_P3_LIMIT, DISPLAY_P3_LIMIT},
106     {CM_SRGB_LIMIT, SRGB_LIMIT},
107     {CM_BT709_LIMIT, BT709_LIMIT},
108     {CM_BT2020_HLG_LIMIT, BT2020_HLG_LIMIT},
109     {CM_BT2020_PQ_LIMIT, BT2020_PQ_LIMIT},
110     {CM_P3_HLG_LIMIT, P3_HLG_LIMIT},
111     {CM_P3_PQ_LIMIT, P3_PQ_LIMIT}
112 };
113 
114 const std::unordered_map<FocusMode, camera_focus_mode_enum_t> g_fwkFocusModeMap_ = {
115     {FOCUS_MODE_MANUAL, OHOS_CAMERA_FOCUS_MODE_MANUAL},
116     {FOCUS_MODE_CONTINUOUS_AUTO, OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO},
117     {FOCUS_MODE_AUTO, OHOS_CAMERA_FOCUS_MODE_AUTO},
118     {FOCUS_MODE_LOCKED, OHOS_CAMERA_FOCUS_MODE_LOCKED}
119 };
120 
121 const std::unordered_map<ColorEffect, camera_xmage_color_type_t> g_fwkColorEffectMap_ = {
122     {COLOR_EFFECT_NORMAL, CAMERA_CUSTOM_COLOR_NORMAL},
123     {COLOR_EFFECT_BRIGHT, CAMERA_CUSTOM_COLOR_BRIGHT},
124     {COLOR_EFFECT_SOFT, CAMERA_CUSTOM_COLOR_SOFT},
125     {COLOR_EFFECT_BLACK_WHITE, CAMERA_CUSTOM_COLOR_MONO}
126 };
127 
128 const std::unordered_map<FlashMode, camera_flash_mode_enum_t> g_fwkFlashModeMap_ = {
129     {FLASH_MODE_CLOSE, OHOS_CAMERA_FLASH_MODE_CLOSE},
130     {FLASH_MODE_OPEN, OHOS_CAMERA_FLASH_MODE_OPEN},
131     {FLASH_MODE_AUTO, OHOS_CAMERA_FLASH_MODE_AUTO},
132     {FLASH_MODE_ALWAYS_OPEN, OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN}
133 };
134 
135 const std::unordered_map<BeautyType, camera_beauty_type_t> g_fwkBeautyTypeMap_ = {
136     {AUTO_TYPE, OHOS_CAMERA_BEAUTY_TYPE_AUTO},
137     {SKIN_SMOOTH, OHOS_CAMERA_BEAUTY_TYPE_SKIN_SMOOTH},
138     {FACE_SLENDER, OHOS_CAMERA_BEAUTY_TYPE_FACE_SLENDER},
139     {SKIN_TONE, OHOS_CAMERA_BEAUTY_TYPE_SKIN_TONE}
140 };
141 
142 const std::unordered_map<BeautyType, camera_device_metadata_tag_t> g_fwkBeautyAbilityMap_ = {
143     {AUTO_TYPE, OHOS_ABILITY_BEAUTY_AUTO_VALUES},
144     {SKIN_SMOOTH, OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES},
145     {FACE_SLENDER, OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES},
146     {SKIN_TONE, OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES}
147 };
148 } // namespace CameraStandard
149 } // namespace OHOS
150