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