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_DEVICE_ABILITY_ITEMS_H 17 #define CAMERA_DEVICE_ABILITY_ITEMS_H 18 19 typedef enum camera_ability_section { 20 // Camera attribute information: position(facing), type, connection, description, sensor, lens description 21 OHOS_CAMERA_PROPERTIES = 0, 22 OHOS_CAMERA_LENS, 23 OHOS_CAMERA_SENSOR, 24 OHOS_CAMERA_SENSOR_INFO, 25 OHOS_CAMERA_STATISTICS, 26 27 // Camera device image acquisition 28 OHOS_DEVICE_CONTROL = 0x1000, // Overall control, such as turning off automatic 3A, operating mode 29 OHOS_DEVICE_EXPOSURE, 30 OHOS_DEVICE_FOCUS, 31 OHOS_DEVICE_WHITE_BLANCE, 32 OHOS_DEVICE_FLASH, 33 OHOS_DEVICE_ZOOM, 34 35 // Camera effects & algorithms 36 OHOS_CAMERA_EFFECT = 0x2000, 37 38 // Camera flow control related 39 OHOS_STREAM_ABILITY = 0x3000, 40 OHOS_STREAM_CONTROL, // General control: frame rate, resolution, mirroring 41 OHOS_STREAM_JPEG, 42 OHOS_STREAM_VIDEO, // Video encoding related 43 OHOS_STREAM_DEPTH, 44 OHOS_STREAM_METADATA, 45 OHOS_STREAM_METADATA_FACE, 46 OHOS_STREAM_METADATA_BODY, 47 48 // Secure camera control related 49 OHOS_CAMERA_SECURE = 0x4000, 50 // Xmage camera ability 51 OHOS_XMAGE_COLOR_ABILITY = 0x5000, 52 53 OHOS_ABILITY_SECTION_END = 0x6000, 54 55 // Start vendor tag section 56 OHOS_VENDOR_SECTION = 0X8000 57 } camera_ability_section_t; 58 59 typedef enum camera_device_metadata_section_start { 60 OHOS_CAMERA_PROPERTIES_START = OHOS_CAMERA_PROPERTIES << 16, 61 OHOS_CAMERA_LENS_START = OHOS_CAMERA_LENS << 16, 62 OHOS_CAMERA_SENSOR_START = OHOS_CAMERA_SENSOR << 16, 63 OHOS_CAMERA_SENSOR_INFO_START = OHOS_CAMERA_SENSOR_INFO << 16, 64 OHOS_CAMERA_STATISTICS_START = OHOS_CAMERA_STATISTICS << 16, 65 66 OHOS_DEVICE_CONTROL_START = OHOS_DEVICE_CONTROL << 16, 67 OHOS_DEVICE_EXPOSURE_START = OHOS_DEVICE_EXPOSURE << 16, 68 OHOS_DEVICE_FOCUS_START = OHOS_DEVICE_FOCUS << 16, 69 OHOS_DEVICE_WHITE_BLANCE_START = OHOS_DEVICE_WHITE_BLANCE << 16, 70 OHOS_DEVICE_FLASH_START = OHOS_DEVICE_FLASH << 16, 71 OHOS_DEVICE_ZOOM_START = OHOS_DEVICE_ZOOM << 16, 72 73 OHOS_CAMERA_EFFECT_START = OHOS_CAMERA_EFFECT << 16, 74 75 OHOS_STREAM_ABILITY_START = OHOS_STREAM_ABILITY << 16, 76 OHOS_STREAM_CONTROL_START = OHOS_STREAM_CONTROL << 16, 77 OHOS_STREAM_JPEG_START = OHOS_STREAM_JPEG << 16, 78 OHOS_STREAM_VIDEO_START = OHOS_STREAM_VIDEO << 16, 79 OHOS_STREAM_DEPTH_START = OHOS_STREAM_DEPTH << 16, 80 OHOS_STREAM_METADATA_START = OHOS_STREAM_METADATA << 16, 81 OHOS_STREAM_METADATA_FACE_START = OHOS_STREAM_METADATA_FACE << 16, 82 OHOS_STREAM_METADATA_BODY_START = OHOS_STREAM_METADATA_BODY << 16, 83 84 OHOS_CAMERA_SECURE_START = OHOS_CAMERA_SECURE << 16, 85 86 OHOS_XMAGE_COLOR_MODES_START = OHOS_XMAGE_COLOR_ABILITY << 16, 87 OHOS_VENDOR_SECTION_START = OHOS_VENDOR_SECTION << 16, 88 } camera_device_info_section_start_t; 89 90 typedef enum camera_device_metadata_tag { 91 // Camera attribute related item 92 OHOS_ABILITY_CAMERA_POSITION = OHOS_CAMERA_PROPERTIES_START, 93 OHOS_ABILITY_CAMERA_TYPE, 94 OHOS_ABILITY_CAMERA_CONNECTION_TYPE, 95 OHOS_ABILITY_MEMORY_TYPE, 96 OHOS_ABILITY_FPS_RANGES, 97 OHOS_ABILITY_FLASH_AVAILABLE, 98 OHOS_CAMERA_STREAM_ID, 99 OHOS_ABILITY_PRELAUNCH_AVAILABLE, 100 OHOS_ABILITY_CUSTOM_VIDEO_FPS, 101 OHOS_ABILITY_CAMERA_MODES, 102 OHOS_ABILITY_SKETCH_ENABLE_RATIO, 103 OHOS_ABILITY_SKETCH_REFERENCE_FOV_RATIO, 104 OHOS_ABILITY_CAMERA_FOLDSCREEN_TYPE, 105 OHOS_ABILITY_AVAILABLE_COLOR_SPACES, 106 OHOS_ABILITY_NIGHT_MODE_SUPPORTED_EXPOSURE_TIME, 107 OHOS_CAMERA_MESURE_EXPOSURE_TIME, 108 OHOS_CAMERA_EXPOSURE_MODE_PREVIEW_STATE, 109 OHOS_CAMERA_USER_ID, 110 OHOS_CAMERA_PROPERTIES_END, 111 112 OHOS_SENSOR_EXPOSURE_TIME = OHOS_CAMERA_SENSOR_START, 113 OHOS_SENSOR_COLOR_CORRECTION_GAINS, 114 OHOS_SENSOR_ORIENTATION, 115 OHOS_ABILITY_MUTE_MODES, 116 OHOS_CONTROL_MUTE_MODE, 117 OHOS_CAMERA_SENSOR_END, 118 119 OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE = OHOS_CAMERA_SENSOR_INFO_START, 120 OHOS_SENSOR_INFO_SENSITIVITY_RANGE, 121 OHOS_SENSOR_INFO_MAX_FRAME_DURATION, 122 OHOS_SENSOR_INFO_PHYSICAL_SIZE, 123 OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE, 124 OHOS_SENSOR_INFO_TIMESTAMP, 125 OHOS_CAMERA_SENSOR_INFO_END, 126 127 OHOS_STATISTICS_FACE_DETECT_MODE = OHOS_CAMERA_STATISTICS_START, 128 OHOS_STATISTICS_FACE_DETECT_SWITCH, 129 OHOS_STATISTICS_FACE_DETECT_MAX_NUM, 130 OHOS_STATISTICS_HISTOGRAM_MODE, 131 OHOS_STATISTICS_FACE_IDS, 132 OHOS_STATISTICS_FACE_LANDMARKS, 133 OHOS_STATISTICS_FACE_RECTANGLES, 134 OHOS_STATISTICS_FACE_SCORES, 135 OHOS_CAMERA_STATISTICS_END, 136 137 OHOS_CONTROL_AE_ANTIBANDING_MODE = OHOS_DEVICE_CONTROL_START, 138 OHOS_CONTROL_AE_EXPOSURE_COMPENSATION, 139 OHOS_CONTROL_AE_LOCK, 140 OHOS_CONTROL_AE_MODE, 141 OHOS_CONTROL_AE_REGIONS, 142 OHOS_CONTROL_AE_TARGET_FPS_RANGE, 143 OHOS_CONTROL_FPS_RANGES, 144 OHOS_CONTROL_AF_MODE, 145 OHOS_CONTROL_AF_REGIONS, 146 OHOS_CONTROL_AF_TRIGGER, 147 OHOS_CONTROL_AF_TRIGGER_ID, 148 OHOS_CONTROL_AF_STATE, 149 OHOS_CONTROL_AWB_LOCK, 150 OHOS_CONTROL_AWB_MODE, 151 OHOS_CONTROL_AWB_REGIONS, 152 OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES, 153 OHOS_CONTROL_AE_AVAILABLE_MODES, 154 OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES, 155 OHOS_CONTROL_AE_COMPENSATION_RANGE, 156 OHOS_CONTROL_AE_COMPENSATION_STEP, 157 OHOS_CONTROL_AF_AVAILABLE_MODES, 158 OHOS_CONTROL_AWB_AVAILABLE_MODES, 159 OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED, 160 OHOS_CONTROL_CAPTURE_MIRROR, 161 OHOS_CONTROL_FOCUS_STATE, 162 OHOS_CONTROL_METER_POINT, 163 OHOS_CONTROL_METER_MODE, 164 OHOS_CONTROL_EXPOSURE_STATE, 165 OHOS_CONTROL_FOCUSED_POINT, 166 OHOS_CONTROL_NIGHT_MODE_TRY_AE, 167 OHOS_CONTROL_MANUAL_EXPOSURE_TIME, 168 OHOS_STATUS_CAMERA_CURRENT_FPS, 169 OHOS_DEVICE_CONTROL_END, 170 171 // Camera device image acquisition related 172 OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES = OHOS_DEVICE_EXPOSURE_START, 173 OHOS_CONTROL_EXPOSUREMODE, 174 OHOS_ABILITY_EXPOSURE_MODES, 175 OHOS_CONTROL_EXPOSURE_MODE, 176 OHOS_ABILITY_METER_MODES, 177 OHOS_ABILITY_SCENE_EXPOSURE_MODES, 178 OHOS_ABILITY_EXPOSURE_TIME, 179 OHOS_ABILITY_AE_LOCK, 180 OHOS_DEVICE_EXPOSURE_END, 181 182 OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES = OHOS_DEVICE_FOCUS_START, 183 OHOS_CONTROL_FOCUSMODE, 184 OHOS_ABILITY_FOCUS_MODES, 185 OHOS_CONTROL_FOCUS_MODE, 186 OHOS_ABILITY_FOCAL_LENGTH, 187 OHOS_ABILITY_SCENE_FOCUS_MODES, 188 OHOS_DEVICE_FOCUS_END, 189 190 OHOS_ABILITY_DEVICE_AVAILABLE_AWBMODES = OHOS_DEVICE_WHITE_BLANCE_START, 191 OHOS_ABILITY_AWB_MODES, 192 OHOS_ABILITY_AWB_LOCK, 193 OHOS_DEVICE_WHITE_BLANCE_END, 194 195 OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES = OHOS_DEVICE_FLASH_START, 196 OHOS_CONTROL_FLASHMODE, 197 OHOS_ABILITY_FLASH_MODES, 198 OHOS_CONTROL_FLASH_MODE, 199 OHOS_CONTROL_FLASH_STATE, 200 OHOS_ABILITY_SCENE_FLASH_MODES, 201 OHOS_DEVICE_FLASH_END, 202 203 OHOS_ABILITY_ZOOM_RATIO_RANGE = OHOS_DEVICE_ZOOM_START, 204 OHOS_CONTROL_ZOOM_RATIO, 205 OHOS_CONTROL_ZOOM_CROP_REGION, 206 OHOS_ABILITY_ZOOM_CAP, 207 OHOS_ABILITY_SCENE_ZOOM_CAP, 208 OHOS_STATUS_CAMERA_CURRENT_ZOOM_RATIO, 209 OHOS_CONTROL_SMOOTH_ZOOM_RATIOS, 210 OHOS_CONTROL_PREPARE_ZOOM, 211 OHOS_ABILITY_CAMERA_ZOOM_PERFORMANCE, 212 OHOS_DEVICE_ZOOM_END, 213 214 // Camera flow control related 215 OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS = OHOS_STREAM_ABILITY_START, 216 OHOS_STREAM_AVAILABLE_FORMATS, 217 OHOS_ABILITY_STREAM_AVAILABLE_EXTEND_CONFIGURATIONS, 218 OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE, 219 OHOS_ABILITY_PORTRAIT_RESOLUSION, 220 OHOS_ABILITY_SCENE_STREAM_QUICK_THUMBNAIL_AVAILABLE, 221 OHOS_ABILITY_DEFERRED_IMAGE_DELIVERY, 222 OHOS_CONTROL_DEFERRED_IMAGE_DELIVERY, 223 OHOS_STREAM_ABILITY_END, 224 225 OHOS_JPEG_GPS_COORDINATES = OHOS_STREAM_JPEG_START, 226 OHOS_JPEG_GPS_PROCESSING_METHOD, 227 OHOS_JPEG_GPS_TIMESTAMP, 228 OHOS_JPEG_ORIENTATION, 229 OHOS_JPEG_QUALITY, 230 OHOS_JPEG_THUMBNAIL_QUALITY, 231 OHOS_JPEG_THUMBNAIL_SIZE, 232 OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES, 233 OHOS_JPEG_MAX_SIZE, 234 OHOS_JPEG_SIZE, 235 OHOS_STREAM_JPEG_END, 236 237 OHOS_ABILITY_VIDEO_STABILIZATION_MODES = OHOS_STREAM_VIDEO_START, 238 OHOS_CONTROL_VIDEO_STABILIZATION_MODE, 239 OHOS_STREAM_VIDEO_END, 240 241 // camera effects & algorithms 242 OHOS_ABILITY_SCENE_FILTER_TYPES = OHOS_CAMERA_EFFECT_START, 243 OHOS_CONTROL_FILTER_TYPE, 244 OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES, 245 OHOS_CONTROL_PORTRAIT_EFFECT_TYPE, 246 OHOS_ABILITY_SCENE_BEAUTY_TYPES, 247 OHOS_CONTROL_BEAUTY_TYPE, 248 OHOS_ABILITY_BEAUTY_AUTO_VALUES, 249 OHOS_CONTROL_BEAUTY_AUTO_VALUE, 250 OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES, 251 OHOS_CONTROL_BEAUTY_FACE_SLENDER_VALUE, 252 OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES, 253 OHOS_CONTROL_BEAUTY_SKIN_TONE_VALUE, 254 OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES, 255 OHOS_CONTROL_BEAUTY_SKIN_SMOOTH_VALUE, 256 OHOS_ABILITY_CAMERA_MACRO_SUPPORTED, 257 OHOS_CAMERA_MACRO_STATUS, 258 OHOS_CONTROL_CAMERA_MACRO, 259 OHOS_ABILITY_CAMERA_VIRTUAL_APERTURE_RANGE, 260 OHOS_CONTROL_CAMERA_VIRTUAL_APERTURE_VALUE, 261 OHOS_ABILITY_CAMERA_PHYSICAL_APERTURE_RANGE, 262 OHOS_CONTROL_CAMERA_PHYSICAL_APERTURE_VALUE, 263 OHOS_DEVICE_EXITCAMERA_EVENT, 264 OHOS_CAMERA_EFFECT_END, 265 266 // camera secure related 267 OHOS_CONTROL_SECURE_FACE_MODE = OHOS_CAMERA_SECURE_START, 268 OHOS_CONTROL_SECURE_FACE_INFO, 269 OHOS_CONTROL_SECURE_FACE_AUTH_RESULT, 270 OHOS_CONTROL_SECURE_FLASH_SEQ, 271 OHOS_CONTROL_SECURE_IR_LED_SWITCH, 272 OHOS_CONTROL_SECURE_IR_LOCKAE_SWITCH, 273 OHOS_CAMERA_SECURE_END, 274 275 //XMAGE MODE 276 OHOS_ABILITY_SUPPORTED_COLOR_MODES = OHOS_XMAGE_COLOR_MODES_START, 277 OHOS_CONTROL_SUPPORTED_COLOR_MODES, 278 OHOS_XMAGE_COLOR_MODES_END, 279 } camera_device_metadata_tag_t; 280 281 // OHOS_ABILITY_CAMERA_POSITION enumeration values 282 typedef enum camera_position_enum { 283 OHOS_CAMERA_POSITION_FRONT = 0, 284 OHOS_CAMERA_POSITION_BACK, 285 OHOS_CAMERA_POSITION_OTHER 286 } camera_position_enum_t; 287 288 // OHOS_ABILITY_CAMERA_TYPE enumeration values 289 typedef enum camera_type_enum { 290 OHOS_CAMERA_TYPE_WIDE_ANGLE = 0, 291 OHOS_CAMERA_TYPE_ULTRA_WIDE, 292 OHOS_CAMERA_TYPE_TELTPHOTO, 293 OHOS_CAMERA_TYPE_TRUE_DEAPTH, 294 OHOS_CAMERA_TYPE_LOGICAL, 295 OHOS_CAMERA_TYPE_UNSPECIFIED, 296 } camera_type_enum_t; 297 298 // OHOS_ABILITY_CAMERA_CONNECTION_TYPE enumeration values 299 typedef enum camera_connection_type { 300 OHOS_CAMERA_CONNECTION_TYPE_BUILTIN = 0, 301 OHOS_CAMERA_CONNECTION_TYPE_USB_PLUGIN, 302 OHOS_CAMERA_CONNECTION_TYPE_REMOTE, 303 } camera_connection_type_t; 304 305 // OHOS_CONTROL_EXPOSUREMODE 306 // and OHOS_ABILITY_EXPOSURE_MODES enumeration values 307 typedef enum camera_exposure_mode_enum { 308 OHOS_CAMERA_EXPOSURE_MODE_MANUAL = 0, 309 OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO, 310 OHOS_CAMERA_EXPOSURE_MODE_LOCKED, 311 OHOS_CAMERA_EXPOSURE_MODE_AUTO 312 } camera_exposure_mode_enum_t; 313 314 // OHOS_CONTROL_FOCUS_MODE and OHOS_ABILITY_FOCUS_MODES enumeration values 315 typedef enum camera_focus_mode_enum { 316 OHOS_CAMERA_FOCUS_MODE_MANUAL = 0, 317 OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO, 318 OHOS_CAMERA_FOCUS_MODE_AUTO, 319 OHOS_CAMERA_FOCUS_MODE_LOCKED 320 } camera_focus_mode_enum_t; 321 322 // OHOS_CONTROL_FLASHMODE and OHOS_ABILITY_FLASH_MODES enumeration values 323 typedef enum camera_flash_mode_enum { 324 OHOS_CAMERA_FLASH_MODE_CLOSE = 0, 325 OHOS_CAMERA_FLASH_MODE_OPEN, 326 OHOS_CAMERA_FLASH_MODE_AUTO, 327 OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN 328 } camera_flash_mode_enum_t; 329 330 // OHOS_CONTROL_FLASH_STATE enumeration values 331 typedef enum camera_flash_state_enum { 332 OHOS_CAMERA_FLASH_STATE_UNAVAILABLE = 0, 333 OHOS_CAMERA_FLASH_STATE_CHARGING, 334 OHOS_CAMERA_FLASH_STATE_READY, 335 OHOS_CAMERA_FLASH_STATE_FLASHING, 336 OHOS_CAMERA_FLASH_STATE_UNKNOWN 337 } camera_flash_state_enum_t; 338 339 // OHOS_CONTROL_AE_ANTIBANDING_MODE enumeration values 340 typedef enum camera_ae_antibanding_mode { 341 OHOS_CAMERA_AE_ANTIBANDING_MODE_OFF, 342 OHOS_CAMERA_AE_ANTIBANDING_MODE_50HZ, 343 OHOS_CAMERA_AE_ANTIBANDING_MODE_60HZ, 344 OHOS_CAMERA_AE_ANTIBANDING_MODE_AUTO, 345 } camera_ae_antibanding_mode_t; 346 347 // OHOS_ABILITY_AE_LOCK 348 // OHOS_CONTROL_AE_LOCK enumeration values 349 typedef enum camera_ae_lock { 350 OHOS_CAMERA_AE_LOCK_OFF, 351 OHOS_CAMERA_AE_LOCK_ON, 352 } camera_ae_lock_t; 353 354 // OHOS_CONTROL_AE_MODE enumeration values 355 typedef enum camera_ae_mode { 356 OHOS_CAMERA_AE_MODE_OFF, 357 OHOS_CAMERA_AE_MODE_ON, 358 OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH, 359 OHOS_CAMERA_AE_MODE_ON_ALWAYS_FLASH, 360 OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH_REDEYE, 361 OHOS_CAMERA_AE_MODE_ON_EXTERNAL_FLASH, 362 } camera_ae_mode_t; 363 364 // OHOS_CONTROL_AF_MODE 365 // and OHOS_CONTROL_AF_AVAILABLE_MODES enumeration values 366 typedef enum camera_af_mode { 367 OHOS_CAMERA_AF_MODE_OFF, 368 OHOS_CAMERA_AF_MODE_AUTO, 369 OHOS_CAMERA_AF_MODE_MACRO, 370 OHOS_CAMERA_AF_MODE_CONTINUOUS_VIDEO, 371 OHOS_CAMERA_AF_MODE_CONTINUOUS_PICTURE, 372 OHOS_CAMERA_AF_MODE_EDOF, 373 } camera_af_mode_t; 374 375 // OHOS_CONTROL_AF_TRIGGER enumeration values 376 typedef enum camera_af_trigger { 377 OHOS_CAMERA_AF_TRIGGER_IDLE, 378 OHOS_CAMERA_AF_TRIGGER_START, 379 OHOS_CAMERA_AF_TRIGGER_CANCEL, 380 } camera_af_trigger_t; 381 382 // OHOS_CONTROL_AF_STATE enumeration values 383 typedef enum camera_af_state { 384 OHOS_CAMERA_AF_STATE_INACTIVE, 385 OHOS_CAMERA_AF_STATE_PASSIVE_SCAN, 386 OHOS_CAMERA_AF_STATE_PASSIVE_FOCUSED, 387 OHOS_CAMERA_AF_STATE_ACTIVE_SCAN, 388 OHOS_CAMERA_AF_STATE_FOCUSED_LOCKED, 389 OHOS_CAMERA_AF_STATE_NOT_FOCUSED_LOCKED, 390 OHOS_CAMERA_AF_STATE_PASSIVE_UNFOCUSED, 391 } camera_af_state_t; 392 393 // OHOS_CONTROL_AWB_LOCK enumeration values 394 typedef enum camera_awb_lock { 395 OHOS_CAMERA_AWB_LOCK_OFF, 396 OHOS_CAMERA_AWB_LOCK_ON, 397 } camera_awb_lock_t; 398 399 // OHOS_ABILITY_AWB_MODES and OHOS_CONTROL_AWB_MODE enumeration values 400 typedef enum camera_awb_mode { 401 OHOS_CAMERA_AWB_MODE_OFF, 402 OHOS_CAMERA_AWB_MODE_AUTO, 403 OHOS_CAMERA_AWB_MODE_INCANDESCENT, 404 OHOS_CAMERA_AWB_MODE_FLUORESCENT, 405 OHOS_CAMERA_AWB_MODE_WARM_FLUORESCENT, 406 OHOS_CAMERA_AWB_MODE_DAYLIGHT, 407 OHOS_CAMERA_AWB_MODE_CLOUDY_DAYLIGHT, 408 OHOS_CAMERA_AWB_MODE_TWILIGHT, 409 OHOS_CAMERA_AWB_MODE_SHADE, 410 } camera_awb_mode_t; 411 412 // OHOS_STATISTICS_FACE_DETECT_MODE 413 // and OHOS_STATISTICS_FACE_DETECT_SWITCH enumeration values 414 typedef enum camera_face_detect_mode { 415 OHOS_CAMERA_FACE_DETECT_MODE_OFF, 416 OHOS_CAMERA_FACE_DETECT_MODE_SIMPLE 417 } camera_face_detect_mode_t; 418 419 // OHOS_STATISTICS_HISTOGRAM_MODE enumeration values 420 typedef enum camera_histogram_mode { 421 OHOS_CAMERA_HISTOGRAM_MODE_OFF, 422 OHOS_CAMERA_HISTOGRAM_MODE_ON, 423 } camera_histogram_mode_t; 424 425 // OHOS_STREAM_AVAILABLE_FORMATS 426 // and OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS enumeration values 427 typedef enum camera_format { 428 OHOS_CAMERA_FORMAT_RGBA_8888 = 1, 429 OHOS_CAMERA_FORMAT_YCBCR_420_888, 430 OHOS_CAMERA_FORMAT_YCRCB_420_SP, 431 OHOS_CAMERA_FORMAT_JPEG, 432 OHOS_CAMERA_FORMAT_YCBCR_P010, 433 OHOS_CAMERA_FORMAT_YCRCB_P010, 434 OHOS_CAMERA_FORMAT_IMPLEMENTATION_DEFINED, 435 } camera_format_t; 436 437 // OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE enumeration values 438 typedef enum camera_quick_thumbnail_available { 439 OHOS_CAMERA_QUICK_THUMBNAIL_FALSE = 0, 440 OHOS_CAMERA_QUICK_THUMBNAIL_TRUE, 441 } camera_quick_thumbnail_available_t; 442 443 // OHOS_CONTROL_FOCUS_STATE enumeration values 444 typedef enum camera_focus_state { 445 OHOS_CAMERA_FOCUS_STATE_SCAN, 446 OHOS_CAMERA_FOCUS_STATE_FOCUSED, 447 OHOS_CAMERA_FOCUS_STATE_UNFOCUSED, 448 } camera_focus_state_t; 449 450 // OHOS_CONTROL_METER_MODE and OHOS_ABILITY_METER_MODES enumeration values 451 typedef enum camera_meter_mode { 452 OHOS_CAMERA_SPOT_METERING = 0, 453 OHOS_CAMERA_REGION_METERING, 454 OHOS_CAMERA_OVERALL_METERING, 455 } camera_meter_mode_t; 456 457 typedef enum camera_exposure_state { 458 OHOS_CAMERA_EXPOSURE_STATE_SCAN, 459 OHOS_CAMERA_EXPOSURE_STATE_CONVERGED, 460 } camera_exposure_state_t; 461 462 // OHOS_CONTROL_CAPTURE_MIRROR 463 // and OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED enumeration values 464 typedef enum camera_mirror { 465 OHOS_CAMERA_MIRROR_OFF = 0, 466 OHOS_CAMERA_MIRROR_ON, 467 } camera_mirror_t; 468 469 // OHOS_JPEG_ORIENTATION enumeration values 470 typedef enum camera_jpeg_orientation { 471 OHOS_CAMERA_JPEG_ROTATION_0 = 0, 472 OHOS_CAMERA_JPEG_ROTATION_90 = 90, 473 OHOS_CAMERA_JPEG_ROTATION_180 = 180, 474 OHOS_CAMERA_JPEG_ROTATION_270 = 270, 475 } camera_jpeg_orientation_t; 476 477 // OHOS_JPEG_QUALITY enumeration values 478 typedef enum camera_jpeg_quality { 479 OHOS_CAMERA_JPEG_LEVEL_LOW = 0, 480 OHOS_CAMERA_JPEG_LEVEL_MIDDLE, 481 OHOS_CAMERA_JPEG_LEVEL_HIGH, 482 } camera_jpeg_quality_t; 483 484 // OHOS_ABILITY_VIDEO_STABILIZATION_MODES 485 // and OHOS_CONTROL_VIDEO_STABILIZATION_MODE enumeration values 486 typedef enum camera_video_stabilization_mode { 487 OHOS_CAMERA_VIDEO_STABILIZATION_OFF = 0, 488 OHOS_CAMERA_VIDEO_STABILIZATION_LOW, 489 OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE, 490 OHOS_CAMERA_VIDEO_STABILIZATION_HIGH, 491 OHOS_CAMERA_VIDEO_STABILIZATION_AUTO, 492 } CameraVideoStabilizationMode; 493 494 // OHOS_ABILITY_FLASH_AVAILABLE enumeration values 495 typedef enum camera_flash_available { 496 OHOS_CAMERA_FLASH_FALSE = 0, 497 OHOS_CAMERA_FLASH_TRUE, 498 } CameraFlashAvailable; 499 500 // OHOS_ABILITY_MEMORY_TYPE enumeration values 501 typedef enum camera_memory_type_enum { 502 OHOS_CAMERA_MEMORY_MMAP = 1, 503 OHOS_CAMERA_MEMORY_USERPTR, 504 OHOS_CAMERA_MEMORY_OVERLAY, 505 OHOS_CAMERA_MEMORY_DMABUF, 506 } camera_memory_type_enum_t; 507 508 // OHOS_ABILITY_MUTE_MODES and OHOS_CONTROL_MUTE_MODE enumeration values 509 typedef enum camera_mute_mode { 510 OHOS_CAMERA_MUTE_MODE_OFF, 511 OHOS_CAMERA_MUTE_MODE_SOLID_COLOR_BLACK, 512 } camera_mute_mode_t; 513 514 // OHOS_ABILITY_SCENE_FILTER_TYPES enumeration values 515 typedef enum camera_filter_type { 516 OHOS_CAMERA_FILTER_TYPE_OFF = 0, 517 OHOS_CAMERA_FILTER_TYPE_NONE, 518 OHOS_CAMERA_FILTER_TYPE_CLASSIC, 519 OHOS_CAMERA_FILTER_TYPE_DAWN, 520 OHOS_CAMERA_FILTER_TYPE_PURE, 521 OHOS_CAMERA_FILTER_TYPE_GREY, 522 OHOS_CAMERA_FILTER_TYPE_NATURAL, 523 OHOS_CAMERA_FILTER_TYPE_MORI, 524 OHOS_CAMERA_FILTER_TYPE_FAIR, 525 OHOS_CAMERA_FILTER_TYPE_PINK, 526 } camera_filter_type_t; 527 528 // OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES enumeration values 529 typedef enum camera_portrait_effect_type { 530 OHOS_CAMERA_PORTRAIT_EFFECT_OFF = 0, 531 OHOS_CAMERA_PORTRAIT_CIRCLES, 532 OHOS_CAMERA_PORTRAIT_HEART, 533 OHOS_CAMERA_PORTRAIT_ROTATED, 534 OHOS_CAMERA_PORTRAIT_STUDIO, 535 OHOS_CAMERA_PORTRAIT_THEATER, 536 } camera_portrait_effect_type_t; 537 538 // OHOS_ABILITY_SCENE_BEAUTY_TYPES enumeration values 539 typedef enum camera_beauty_type { 540 OHOS_CAMERA_BEAUTY_TYPE_OFF = 0, 541 OHOS_CAMERA_BEAUTY_TYPE_AUTO, 542 OHOS_CAMERA_BEAUTY_TYPE_SKIN_SMOOTH, 543 OHOS_CAMERA_BEAUTY_TYPE_FACE_SLENDER, 544 OHOS_CAMERA_BEAUTY_TYPE_SKIN_TONE, 545 } camera_beauty_type_t; 546 547 //OHOS_ABILITY_SUPPORTED_COLOR_MODES and OHOS_CONTROL_SUPPORTED_COLOR_MODES enumeration 548 typedef enum camera_xmage_color_type { 549 CAMERA_CUSTOM_COLOR_NORMAL = 0, 550 CAMERA_CUSTOM_COLOR_BRIGHT, 551 CAMERA_CUSTOM_COLOR_SOFT, 552 } camera_xmage_color_type_t; 553 554 // OHOS_ABILITY_CAMERA_FOLDSCREEN_TYPE enumeration values 555 typedef enum camera_fold_screen_enum { 556 OHOS_CAMERA_FOLDSCREEN_OTHER = 0, 557 OHOS_CAMERA_FOLDSCREEN_INNER, 558 OHOS_CAMERA_FOLDSCREEN_OUTER, 559 } camera_foldscreen_enum_t; 560 561 // OHOS_ABILITY_CAMERA_MACRO_SUPPORTED enumeration values 562 typedef enum camera_macro_supported_type { 563 OHOS_CAMERA_MACRO_NOT_SUPPORTED = 0, 564 OHOS_CAMERA_MACRO_SUPPORTED, 565 } camera_macro_supported_type_t; 566 567 // OHOS_CAMERA_MACRO_STATUS and OHOS_CONTROL_CAMERA_MACRO enumeration values 568 typedef enum camera_macro_status_control_type { 569 OHOS_CAMERA_MACRO_DISABLE = 0, 570 OHOS_CAMERA_MACRO_ENABLE, 571 } camera_macro_status_control_type_t; 572 573 // OHOS_CONTROL_PREPARE_ZOOM enumeration values 574 typedef enum camera_zoomsmooth_control_type { 575 OHOS_CAMERA_ZOOMSMOOTH_PREPARE_DISABLE = 0, 576 OHOS_CAMERA_ZOOMSMOOTH_PREPARE_ENABLE, 577 } camera_zoomsmooth_control_type_t; 578 579 #endif 580