1 /* 2 * Copyright (c) 2021 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 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef CAMERA_HOST_METADATA_ENUM_MAP_H 18 #define CAMERA_HOST_METADATA_ENUM_MAP_H 19 20 #include <map> 21 #include <string> 22 #include "camera_device_ability_items.h" 23 24 std::map<std::string, camera_device_metadata_tag_t> MetadataTagMap = { 25 {"OHOS_ABILITY_CAMERA_POSITION", OHOS_ABILITY_CAMERA_POSITION }, 26 {"OHOS_ABILITY_CAMERA_TYPE", OHOS_ABILITY_CAMERA_TYPE }, 27 {"OHOS_ABILITY_CAMERA_CONNECTION_TYPE", OHOS_ABILITY_CAMERA_CONNECTION_TYPE }, 28 {"OHOS_ABILITY_MEMORY_TYPE", OHOS_ABILITY_MEMORY_TYPE }, 29 {"OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE", OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE }, 30 {"OHOS_SENSOR_INFO_SENSITIVITY_RANGE", OHOS_SENSOR_INFO_SENSITIVITY_RANGE }, 31 {"OHOS_SENSOR_INFO_MAX_FRAME_DURATION", OHOS_SENSOR_INFO_MAX_FRAME_DURATION }, 32 {"OHOS_SENSOR_INFO_PHYSICAL_SIZE", OHOS_SENSOR_INFO_PHYSICAL_SIZE }, 33 {"OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE", OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE }, 34 {"OHOS_STATISTICS_FACE_DETECT_MODE", OHOS_STATISTICS_FACE_DETECT_MODE }, 35 {"OHOS_STATISTICS_HISTOGRAM_MODE", OHOS_STATISTICS_HISTOGRAM_MODE }, 36 {"OHOS_STATISTICS_FACE_IDS", OHOS_STATISTICS_FACE_IDS }, 37 {"OHOS_STATISTICS_FACE_LANDMARKS", OHOS_STATISTICS_FACE_LANDMARKS }, 38 {"OHOS_STATISTICS_FACE_RECTANGLES", OHOS_STATISTICS_FACE_RECTANGLES }, 39 {"OHOS_STATISTICS_FACE_SCORES", OHOS_STATISTICS_FACE_SCORES }, 40 {"OHOS_CONTROL_AE_ANTIBANDING_MODE", OHOS_CONTROL_AE_ANTIBANDING_MODE }, 41 {"OHOS_CONTROL_AE_EXPOSURE_COMPENSATION", OHOS_CONTROL_AE_EXPOSURE_COMPENSATION }, 42 {"OHOS_CONTROL_AE_LOCK", OHOS_CONTROL_AE_LOCK }, 43 {"OHOS_CONTROL_AE_MODE", OHOS_CONTROL_AE_MODE }, 44 {"OHOS_CONTROL_AE_REGIONS", OHOS_CONTROL_AE_REGIONS }, 45 {"OHOS_CONTROL_AE_TARGET_FPS_RANGE", OHOS_CONTROL_AE_TARGET_FPS_RANGE }, 46 {"OHOS_CONTROL_AF_MODE", OHOS_CONTROL_AF_MODE }, 47 {"OHOS_CONTROL_AF_REGIONS", OHOS_CONTROL_AF_REGIONS }, 48 {"OHOS_CONTROL_AWB_LOCK", OHOS_CONTROL_AWB_LOCK }, 49 {"OHOS_CONTROL_AWB_MODE", OHOS_CONTROL_AWB_MODE }, 50 {"OHOS_CONTROL_AWB_REGIONS", OHOS_CONTROL_AWB_REGIONS }, 51 {"OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES", OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES }, 52 {"OHOS_CONTROL_AE_AVAILABLE_MODES", OHOS_CONTROL_AE_AVAILABLE_MODES }, 53 {"OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES", OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES }, 54 {"OHOS_CONTROL_AE_COMPENSATION_RANGE", OHOS_ABILITY_AE_COMPENSATION_RANGE }, 55 {"OHOS_CONTROL_AE_COMPENSATION_STEP", OHOS_ABILITY_AE_COMPENSATION_STEP }, 56 {"OHOS_CONTROL_AF_AVAILABLE_MODES", OHOS_CONTROL_AF_AVAILABLE_MODES }, 57 {"OHOS_CONTROL_AWB_AVAILABLE_MODES", OHOS_CONTROL_AWB_AVAILABLE_MODES }, 58 {"OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES", OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES }, 59 {"OHOS_CONTROL_EXPOSUREMODE", OHOS_CONTROL_EXPOSUREMODE }, 60 {"OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES", OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES }, 61 {"OHOS_CONTROL_FOCUSMODE", OHOS_CONTROL_FOCUSMODE }, 62 {"OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES", OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES }, 63 {"OHOS_CONTROL_FLASHMODE", OHOS_CONTROL_FLASHMODE }, 64 {"OHOS_ABILITY_ZOOM_RATIO_RANGE", OHOS_ABILITY_ZOOM_RATIO_RANGE }, 65 {"OHOS_CONTROL_ZOOM_RATIO", OHOS_CONTROL_ZOOM_RATIO }, 66 {"OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS", OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS}, 67 {"OHOS_JPEG_GPS_COORDINATES", OHOS_JPEG_GPS_COORDINATES }, 68 {"OHOS_JPEG_GPS_PROCESSING_METHOD", OHOS_JPEG_GPS_PROCESSING_METHOD }, 69 {"OHOS_JPEG_GPS_TIMESTAMP", OHOS_JPEG_GPS_TIMESTAMP }, 70 {"OHOS_JPEG_ORIENTATION", OHOS_JPEG_ORIENTATION }, 71 {"OHOS_JPEG_QUALITY", OHOS_JPEG_QUALITY }, 72 {"OHOS_JPEG_THUMBNAIL_QUALITY", OHOS_JPEG_THUMBNAIL_QUALITY }, 73 {"OHOS_JPEG_THUMBNAIL_SIZE", OHOS_JPEG_THUMBNAIL_SIZE }, 74 {"OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES", OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES }, 75 {"OHOS_JPEG_MAX_SIZE", OHOS_JPEG_MAX_SIZE }, 76 {"OHOS_JPEG_SIZE", OHOS_JPEG_SIZE }, 77 }; 78 79 std::map<std::string, camera_position_enum_t> CameraPositionMap = { 80 {"OHOS_CAMERA_POSITION_FRONT", OHOS_CAMERA_POSITION_FRONT}, 81 {"OHOS_CAMERA_POSITION_BACK", OHOS_CAMERA_POSITION_BACK }, 82 {"OHOS_CAMERA_POSITION_OTHER", OHOS_CAMERA_POSITION_OTHER}, 83 }; 84 85 std::map<std::string, camera_type_enum_t> CameraTypeMap = { 86 {"OHOS_CAMERA_TYPE_WIDE_ANGLE", OHOS_CAMERA_TYPE_WIDE_ANGLE }, 87 {"OHOS_CAMERA_TYPE_ULTRA_WIDE", OHOS_CAMERA_TYPE_ULTRA_WIDE }, 88 {"OHOS_CAMERA_TYPE_TELTPHOTO", OHOS_CAMERA_TYPE_TELTPHOTO }, 89 {"OHOS_CAMERA_TYPE_TRUE_DEAPTH", OHOS_CAMERA_TYPE_TRUE_DEAPTH}, 90 {"OHOS_CAMERA_TYPE_LOGICAL", OHOS_CAMERA_TYPE_LOGICAL }, 91 {"OHOS_CAMERA_TYPE_UNSPECIFIED", OHOS_CAMERA_TYPE_UNSPECIFIED}, 92 }; 93 94 std::map<std::string, camera_connection_type_t> cameraConnectionTypeMap = { 95 {"OHOS_CAMERA_CONNECTION_TYPE_BUILTIN", OHOS_CAMERA_CONNECTION_TYPE_BUILTIN }, 96 {"OHOS_CAMERA_CONNECTION_TYPE_USB_PLUGIN", OHOS_CAMERA_CONNECTION_TYPE_USB_PLUGIN}, 97 {"OHOS_CAMERA_CONNECTION_TYPE_REMOTE", OHOS_CAMERA_CONNECTION_TYPE_REMOTE }, 98 }; 99 100 std::map<std::string, camera_exposure_mode_enum_t> ExposureModeMap = { 101 {"OHOS_CAMERA_EXPOSURE_MODE_MANUAL", OHOS_CAMERA_EXPOSURE_MODE_MANUAL }, 102 {"OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO", OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO}, 103 {"OHOS_CAMERA_EXPOSURE_MODE_LOCKED", OHOS_CAMERA_EXPOSURE_MODE_LOCKED }, 104 {"OHOS_CAMERA_EXPOSURE_MODE_AUTO", OHOS_CAMERA_EXPOSURE_MODE_AUTO }, 105 }; 106 107 std::map<std::string, camera_focus_mode_enum_t> FocusModeMap = { 108 {"OHOS_CAMERA_FOCUS_MODE_MANUAL", OHOS_CAMERA_FOCUS_MODE_MANUAL }, 109 {"OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO", OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO}, 110 {"OHOS_CAMERA_FOCUS_MODE_AUTO", OHOS_CAMERA_FOCUS_MODE_AUTO }, 111 {"OHOS_CAMERA_FOCUS_MODE_LOCKED", OHOS_CAMERA_FOCUS_MODE_LOCKED }, 112 }; 113 114 std::map<std::string, camera_flash_mode_enum_t> FlashModeMap = { 115 {"OHOS_CAMERA_FLASH_MODE_CLOSE", OHOS_CAMERA_FLASH_MODE_CLOSE }, 116 {"OHOS_CAMERA_FLASH_MODE_OPEN", OHOS_CAMERA_FLASH_MODE_OPEN }, 117 {"OHOS_CAMERA_FLASH_MODE_AUTO", OHOS_CAMERA_FLASH_MODE_AUTO }, 118 {"OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN", OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN}, 119 }; 120 121 std::map<std::string, camera_meter_mode_t> meterModeMap = { 122 {"OHOS_CAMERA_SPOT_METERING", OHOS_CAMERA_SPOT_METERING }, 123 {"OHOS_CAMERA_REGION_METERING", OHOS_CAMERA_REGION_METERING }, 124 {"OHOS_CAMERA_OVERALL_METERING", OHOS_CAMERA_OVERALL_METERING}, 125 }; 126 127 std::map<std::string, camera_mirror_t> mirrorMap = { 128 {"OHOS_CAMERA_MIRROR_OFF", OHOS_CAMERA_MIRROR_OFF}, 129 {"OHOS_CAMERA_MIRROR_ON", OHOS_CAMERA_MIRROR_ON } 130 }; 131 132 std::map<std::string, CameraVideoStabilizationMode> videoStabilizationMap = { 133 {"OHOS_CAMERA_VIDEO_STABILIZATION_OFF", OHOS_CAMERA_VIDEO_STABILIZATION_OFF }, 134 {"OHOS_CAMERA_VIDEO_STABILIZATION_LOW", OHOS_CAMERA_VIDEO_STABILIZATION_LOW }, 135 {"OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE", OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE}, 136 {"OHOS_CAMERA_VIDEO_STABILIZATION_HIGH", OHOS_CAMERA_VIDEO_STABILIZATION_HIGH }, 137 {"OHOS_CAMERA_VIDEO_STABILIZATION_AUTO", OHOS_CAMERA_VIDEO_STABILIZATION_AUTO }, 138 }; 139 140 std::map<std::string, CameraFlashAvailable> flashAvailableMap = { 141 {"OHOS_CAMERA_FLASH_FALSE", OHOS_CAMERA_FLASH_FALSE}, 142 {"OHOS_CAMERA_FLASH_TRUE", OHOS_CAMERA_FLASH_TRUE } 143 }; 144 145 std::vector<camera_format_t> formatArray = { 146 OHOS_CAMERA_FORMAT_RGBA_8888, OHOS_CAMERA_FORMAT_YCBCR_420_888, 147 OHOS_CAMERA_FORMAT_YCRCB_420_SP, OHOS_CAMERA_FORMAT_JPEG 148 }; 149 150 std::map<std::string, camera_ae_antibanding_mode_t> AeAntibandingModeMap = { 151 {"OHOS_CAMERA_AE_ANTIBANDING_MODE_OFF", OHOS_CAMERA_AE_ANTIBANDING_MODE_OFF }, 152 {"OHOS_CAMERA_AE_ANTIBANDING_MODE_50HZ", OHOS_CAMERA_AE_ANTIBANDING_MODE_50HZ}, 153 {"OHOS_CAMERA_AE_ANTIBANDING_MODE_60HZ", OHOS_CAMERA_AE_ANTIBANDING_MODE_60HZ}, 154 {"OHOS_CAMERA_AE_ANTIBANDING_MODE_AUTO", OHOS_CAMERA_AE_ANTIBANDING_MODE_AUTO}, 155 }; 156 157 std::map<std::string, camera_ae_lock_t> AeLockMap = { 158 {"OHOS_CAMERA_AE_LOCK_OFF", OHOS_CAMERA_AE_LOCK_OFF}, 159 {"OHOS_CAMERA_AE_LOCK_ON", OHOS_CAMERA_AE_LOCK_ON }, 160 }; 161 162 std::map<std::string, camera_ae_mode_t> AeModeMap = { 163 {"OHOS_CAMERA_AE_MODE_OFF", OHOS_CAMERA_AE_MODE_OFF }, 164 {"OHOS_CAMERA_AE_MODE_ON", OHOS_CAMERA_AE_MODE_ON }, 165 {"OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH", OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH }, 166 {"OHOS_CAMERA_AE_MODE_ON_ALWAYS_FLASH", OHOS_CAMERA_AE_MODE_ON_ALWAYS_FLASH }, 167 {"OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH_REDEYE", OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH_REDEYE}, 168 {"OHOS_CAMERA_AE_MODE_ON_EXTERNAL_FLASH", OHOS_CAMERA_AE_MODE_ON_EXTERNAL_FLASH }, 169 }; 170 171 std::map<std::string, camera_af_mode_t> AfModeMap = { 172 {"OHOS_CAMERA_AF_MODE_OFF", OHOS_CAMERA_AF_MODE_OFF }, 173 {"OHOS_CAMERA_AF_MODE_AUTO", OHOS_CAMERA_AF_MODE_AUTO }, 174 {"OHOS_CAMERA_AF_MODE_MACRO", OHOS_CAMERA_AF_MODE_MACRO }, 175 {"OHOS_CAMERA_AF_MODE_CONTINUOUS_VIDEO", OHOS_CAMERA_AF_MODE_CONTINUOUS_VIDEO }, 176 {"OHOS_CAMERA_AF_MODE_CONTINUOUS_PICTURE", OHOS_CAMERA_AF_MODE_CONTINUOUS_PICTURE}, 177 {"OHOS_CAMERA_AF_MODE_EDOF", OHOS_CAMERA_AF_MODE_EDOF }, 178 }; 179 180 std::map<std::string, camera_awb_lock_t> AwbLockMap = { 181 {"OHOS_CAMERA_AWB_LOCK_OFF", OHOS_CAMERA_AWB_LOCK_OFF}, 182 {"OHOS_CAMERA_AWB_LOCK_ON", OHOS_CAMERA_AWB_LOCK_ON }, 183 }; 184 185 std::map<std::string, camera_awb_mode_t> AwbModeMap = { 186 {"OHOS_CAMERA_AWB_MODE_OFF", OHOS_CAMERA_AWB_MODE_OFF }, 187 {"OHOS_CAMERA_AWB_MODE_AUTO", OHOS_CAMERA_AWB_MODE_AUTO }, 188 {"OHOS_CAMERA_AWB_MODE_INCANDESCENT", OHOS_CAMERA_AWB_MODE_INCANDESCENT }, 189 {"OHOS_CAMERA_AWB_MODE_FLUORESCENT", OHOS_CAMERA_AWB_MODE_FLUORESCENT }, 190 {"OHOS_CAMERA_AWB_MODE_WARM_FLUORESCENT", OHOS_CAMERA_AWB_MODE_WARM_FLUORESCENT}, 191 {"OHOS_CAMERA_AWB_MODE_DAYLIGHT", OHOS_CAMERA_AWB_MODE_DAYLIGHT }, 192 {"OHOS_CAMERA_AWB_MODE_CLOUDY_DAYLIGHT", OHOS_CAMERA_AWB_MODE_CLOUDY_DAYLIGHT }, 193 {"OHOS_CAMERA_AWB_MODE_TWILIGHT", OHOS_CAMERA_AWB_MODE_TWILIGHT }, 194 {"OHOS_CAMERA_AWB_MODE_SHADE", OHOS_CAMERA_AWB_MODE_SHADE }, 195 }; 196 197 std::map<std::string, camera_face_detect_mode_t> FaceDetectModeMap = { 198 {"OHOS_CAMERA_FACE_DETECT_MODE_OFF", OHOS_CAMERA_FACE_DETECT_MODE_OFF }, 199 {"OHOS_CAMERA_FACE_DETECT_MODE_SIMPLE", OHOS_CAMERA_FACE_DETECT_MODE_SIMPLE}, 200 }; 201 202 std::map<std::string, camera_histogram_mode_t> HistogramModeMap = { 203 {"OHOS_CAMERA_HISTOGRAM_MODE_OFF", OHOS_CAMERA_HISTOGRAM_MODE_OFF}, 204 {"OHOS_CAMERA_HISTOGRAM_MODE_ON", OHOS_CAMERA_HISTOGRAM_MODE_ON }, 205 }; 206 207 std::map<std::string, camera_memory_type_enum_t> CameraMemoryTypeMap = { 208 {"OHOS_CAMERA_MEMORY_MMAP", OHOS_CAMERA_MEMORY_MMAP}, 209 {"OHOS_CAMERA_MEMORY_USERPTR", OHOS_CAMERA_MEMORY_USERPTR}, 210 {"OHOS_CAMERA_MEMORY_OVERLAY", OHOS_CAMERA_MEMORY_OVERLAY}, 211 {"OHOS_CAMERA_MEMORY_DMABUF", OHOS_CAMERA_MEMORY_DMABUF}, 212 }; 213 214 #endif /* CAMERA_HOST_METADATA_ENUM_MAP_H */ 215