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 51 OHOS_ABILITY_SECTION_END 52 } camera_ability_section_t; 53 54 typedef enum camera_device_metadata_section_start { 55 OHOS_CAMERA_PROPERTIES_START = OHOS_CAMERA_PROPERTIES << 16, 56 OHOS_CAMERA_LENS_START = OHOS_CAMERA_LENS << 16, 57 OHOS_CAMERA_SENSOR_START = OHOS_CAMERA_SENSOR << 16, 58 OHOS_CAMERA_SENSOR_INFO_START = OHOS_CAMERA_SENSOR_INFO << 16, 59 OHOS_CAMERA_STATISTICS_START = OHOS_CAMERA_STATISTICS << 16, 60 61 OHOS_DEVICE_CONTROL_START = OHOS_DEVICE_CONTROL << 16, 62 OHOS_DEVICE_EXPOSURE_START = OHOS_DEVICE_EXPOSURE << 16, 63 OHOS_DEVICE_FOCUS_START = OHOS_DEVICE_FOCUS << 16, 64 OHOS_DEVICE_WHITE_BLANCE_START = OHOS_DEVICE_WHITE_BLANCE << 16, 65 OHOS_DEVICE_FLASH_START = OHOS_DEVICE_FLASH << 16, 66 OHOS_DEVICE_ZOOM_START = OHOS_DEVICE_ZOOM << 16, 67 68 OHOS_CAMERA_EFFECT_START = OHOS_CAMERA_EFFECT << 16, 69 70 OHOS_STREAM_ABILITY_START = OHOS_STREAM_ABILITY << 16, 71 OHOS_STREAM_CONTROL_START = OHOS_STREAM_CONTROL << 16, 72 OHOS_STREAM_JPEG_START = OHOS_STREAM_JPEG << 16, 73 OHOS_STREAM_VIDEO_START = OHOS_STREAM_VIDEO << 16, 74 OHOS_STREAM_DEPTH_START = OHOS_STREAM_DEPTH << 16, 75 OHOS_STREAM_METADATA_START = OHOS_STREAM_METADATA << 16, 76 OHOS_STREAM_METADATA_FACE_START = OHOS_STREAM_METADATA_FACE << 16, 77 OHOS_STREAM_METADATA_BODY_START = OHOS_STREAM_METADATA_BODY << 16, 78 79 OHOS_CAMERA_SECURE_START = OHOS_CAMERA_SECURE << 16, 80 } camera_device_info_section_start_t; 81 82 typedef enum camera_device_metadata_tag { 83 // Camera attribute related item 84 OHOS_ABILITY_CAMERA_POSITION = OHOS_CAMERA_PROPERTIES_START, 85 OHOS_ABILITY_CAMERA_TYPE, 86 OHOS_ABILITY_CAMERA_CONNECTION_TYPE, 87 OHOS_ABILITY_MEMORY_TYPE, 88 OHOS_ABILITY_FPS_RANGES, 89 OHOS_ABILITY_FLASH_AVAILABLE, 90 OHOS_CAMERA_STREAM_ID, 91 OHOS_ABILITY_PRELAUNCH_AVAILABLE, 92 OHOS_ABILITY_CUSTOM_VIDEO_FPS, 93 OHOS_ABILITY_CAMERA_MODES, 94 OHOS_CAMERA_PROPERTIES_END, 95 96 OHOS_SENSOR_EXPOSURE_TIME = OHOS_CAMERA_SENSOR_START, 97 OHOS_SENSOR_COLOR_CORRECTION_GAINS, 98 OHOS_SENSOR_ORIENTATION, 99 OHOS_ABILITY_MUTE_MODES, 100 OHOS_CONTROL_MUTE_MODE, 101 OHOS_CAMERA_SENSOR_END, 102 103 OHOS_SENSOR_INFO_ACTIVE_ARRAY_SIZE = OHOS_CAMERA_SENSOR_INFO_START, 104 OHOS_SENSOR_INFO_SENSITIVITY_RANGE, 105 OHOS_SENSOR_INFO_MAX_FRAME_DURATION, 106 OHOS_SENSOR_INFO_PHYSICAL_SIZE, 107 OHOS_SENSOR_INFO_PIXEL_ARRAY_SIZE, 108 OHOS_SENSOR_INFO_TIMESTAMP, 109 OHOS_CAMERA_SENSOR_INFO_END, 110 111 OHOS_STATISTICS_FACE_DETECT_MODE = OHOS_CAMERA_STATISTICS_START, 112 OHOS_STATISTICS_FACE_DETECT_SWITCH, 113 OHOS_STATISTICS_FACE_DETECT_MAX_NUM, 114 OHOS_STATISTICS_HISTOGRAM_MODE, 115 OHOS_STATISTICS_FACE_IDS, 116 OHOS_STATISTICS_FACE_LANDMARKS, 117 OHOS_STATISTICS_FACE_RECTANGLES, 118 OHOS_STATISTICS_FACE_SCORES, 119 OHOS_CAMERA_STATISTICS_END, 120 121 OHOS_CONTROL_AE_ANTIBANDING_MODE = OHOS_DEVICE_CONTROL_START, 122 OHOS_CONTROL_AE_EXPOSURE_COMPENSATION, 123 OHOS_CONTROL_AE_LOCK, 124 OHOS_CONTROL_AE_MODE, 125 OHOS_CONTROL_AE_REGIONS, 126 OHOS_CONTROL_AE_TARGET_FPS_RANGE, 127 OHOS_CONTROL_FPS_RANGES, 128 OHOS_CONTROL_AF_MODE, 129 OHOS_CONTROL_AF_REGIONS, 130 OHOS_CONTROL_AF_TRIGGER, 131 OHOS_CONTROL_AF_TRIGGER_ID, 132 OHOS_CONTROL_AF_STATE, 133 OHOS_CONTROL_AWB_LOCK, 134 OHOS_CONTROL_AWB_MODE, 135 OHOS_CONTROL_AWB_REGIONS, 136 OHOS_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES, 137 OHOS_CONTROL_AE_AVAILABLE_MODES, 138 OHOS_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES, 139 OHOS_CONTROL_AE_COMPENSATION_RANGE, 140 OHOS_CONTROL_AE_COMPENSATION_STEP, 141 OHOS_CONTROL_AF_AVAILABLE_MODES, 142 OHOS_CONTROL_AWB_AVAILABLE_MODES, 143 OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED, 144 OHOS_CONTROL_CAPTURE_MIRROR, 145 OHOS_CONTROL_FOCUS_STATE, 146 OHOS_CONTROL_METER_POINT, 147 OHOS_CONTROL_METER_MODE, 148 OHOS_CONTROL_EXPOSURE_STATE, 149 OHOS_CONTROL_FOCUSED_POINT, 150 OHOS_DEVICE_CONTROL_END, 151 152 // Camera device image acquisition related 153 OHOS_ABILITY_DEVICE_AVAILABLE_EXPOSUREMODES = OHOS_DEVICE_EXPOSURE_START, 154 OHOS_CONTROL_EXPOSUREMODE, 155 OHOS_ABILITY_EXPOSURE_MODES, 156 OHOS_CONTROL_EXPOSURE_MODE, 157 OHOS_ABILITY_METER_MODES, 158 OHOS_ABILITY_SCENE_EXPOSURE_MODES, 159 OHOS_DEVICE_EXPOSURE_END, 160 161 OHOS_ABILITY_DEVICE_AVAILABLE_FOCUSMODES = OHOS_DEVICE_FOCUS_START, 162 OHOS_CONTROL_FOCUSMODE, 163 OHOS_ABILITY_FOCUS_MODES, 164 OHOS_CONTROL_FOCUS_MODE, 165 OHOS_ABILITY_FOCAL_LENGTH, 166 OHOS_ABILITY_SCENE_FOCUS_MODES, 167 OHOS_DEVICE_FOCUS_END, 168 169 OHOS_ABILITY_DEVICE_AVAILABLE_FLASHMODES = OHOS_DEVICE_FLASH_START, 170 OHOS_CONTROL_FLASHMODE, 171 OHOS_ABILITY_FLASH_MODES, 172 OHOS_CONTROL_FLASH_MODE, 173 OHOS_CONTROL_FLASH_STATE, 174 OHOS_ABILITY_SCENE_FLASH_MODES, 175 OHOS_DEVICE_FLASH_END, 176 177 OHOS_ABILITY_ZOOM_RATIO_RANGE = OHOS_DEVICE_ZOOM_START, 178 OHOS_CONTROL_ZOOM_RATIO, 179 OHOS_CONTROL_ZOOM_CROP_REGION, 180 OHOS_ABILITY_ZOOM_CAP, 181 OHOS_ABILITY_SCENE_ZOOM_CAP, 182 OHOS_DEVICE_ZOOM_END, 183 184 // Camera flow control related 185 OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS = OHOS_STREAM_ABILITY_START, 186 OHOS_STREAM_AVAILABLE_FORMATS, 187 OHOS_ABILITY_STREAM_AVAILABLE_EXTEND_CONFIGURATIONS, 188 OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE, 189 OHOS_ABILITY_PORTRAIT_RESOLUSION, 190 OHOS_ABILITY_SCENE_STREAM_QUICK_THUMBNAIL_AVAILABLE, 191 OHOS_STREAM_ABILITY_END, 192 193 OHOS_JPEG_GPS_COORDINATES = OHOS_STREAM_JPEG_START, 194 OHOS_JPEG_GPS_PROCESSING_METHOD, 195 OHOS_JPEG_GPS_TIMESTAMP, 196 OHOS_JPEG_ORIENTATION, 197 OHOS_JPEG_QUALITY, 198 OHOS_JPEG_THUMBNAIL_QUALITY, 199 OHOS_JPEG_THUMBNAIL_SIZE, 200 OHOS_JPEG_AVAILABLE_THUMBNAIL_SIZES, 201 OHOS_JPEG_MAX_SIZE, 202 OHOS_JPEG_SIZE, 203 OHOS_STREAM_JPEG_END, 204 205 OHOS_ABILITY_VIDEO_STABILIZATION_MODES = OHOS_STREAM_VIDEO_START, 206 OHOS_CONTROL_VIDEO_STABILIZATION_MODE, 207 OHOS_STREAM_VIDEO_END, 208 209 // camera effects & algorithms 210 OHOS_ABILITY_SCENE_FILTER_TYPES = OHOS_CAMERA_EFFECT_START, 211 OHOS_CONTROL_FILTER_TYPE, 212 OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES, 213 OHOS_CONTROL_PORTRAIT_EFFECT_TYPE, 214 OHOS_ABILITY_SCENE_BEAUTY_TYPES, 215 OHOS_CONTROL_BEAUTY_TYPE, 216 OHOS_ABILITY_BEAUTY_AUTO_VALUES, 217 OHOS_CONTROL_BEAUTY_AUTO_VALUE, 218 OHOS_ABILITY_BEAUTY_FACE_SLENDER_VALUES, 219 OHOS_CONTROL_BEAUTY_FACE_SLENDER_VALUE, 220 OHOS_ABILITY_BEAUTY_SKIN_TONE_VALUES, 221 OHOS_CONTROL_BEAUTY_SKIN_TONE_VALUE, 222 OHOS_ABILITY_BEAUTY_SKIN_SMOOTH_VALUES, 223 OHOS_CONTROL_BEAUTY_SKIN_SMOOTH_VALUE, 224 OHOS_CAMERA_EFFECT_END, 225 226 // camera secure related 227 OHOS_CONTROL_SECURE_FACE_MODE = OHOS_CAMERA_SECURE_START, 228 OHOS_CONTROL_SECURE_FACE_INFO, 229 OHOS_CONTROL_SECURE_FACE_AUTH_RESULT, 230 OHOS_CONTROL_SECURE_FLASH_SEQ, 231 OHOS_CONTROL_SECURE_IR_LED_SWITCH, 232 OHOS_CONTROL_SECURE_IR_LOCKAE_SWITCH, 233 OHOS_CAMERA_SECURE_END, 234 } camera_device_metadata_tag_t; 235 236 // OHOS_ABILITY_CAMERA_POSITION enumeration values 237 typedef enum camera_position_enum { 238 OHOS_CAMERA_POSITION_FRONT = 0, 239 OHOS_CAMERA_POSITION_BACK, 240 OHOS_CAMERA_POSITION_OTHER 241 } camera_position_enum_t; 242 243 // OHOS_ABILITY_CAMERA_TYPE enumeration values 244 typedef enum camera_type_enum { 245 OHOS_CAMERA_TYPE_WIDE_ANGLE = 0, 246 OHOS_CAMERA_TYPE_ULTRA_WIDE, 247 OHOS_CAMERA_TYPE_TELTPHOTO, 248 OHOS_CAMERA_TYPE_TRUE_DEAPTH, 249 OHOS_CAMERA_TYPE_LOGICAL, 250 OHOS_CAMERA_TYPE_UNSPECIFIED, 251 } camera_type_enum_t; 252 253 // OHOS_ABILITY_CAMERA_CONNECTION_TYPE enumeration values 254 typedef enum camera_connection_type { 255 OHOS_CAMERA_CONNECTION_TYPE_BUILTIN = 0, 256 OHOS_CAMERA_CONNECTION_TYPE_USB_PLUGIN, 257 OHOS_CAMERA_CONNECTION_TYPE_REMOTE, 258 } camera_connection_type_t; 259 260 // OHOS_CONTROL_EXPOSUREMODE 261 // and OHOS_ABILITY_EXPOSURE_MODES enumeration values 262 typedef enum camera_exposure_mode_enum { 263 OHOS_CAMERA_EXPOSURE_MODE_MANUAL = 0, 264 OHOS_CAMERA_EXPOSURE_MODE_CONTINUOUS_AUTO, 265 OHOS_CAMERA_EXPOSURE_MODE_LOCKED, 266 OHOS_CAMERA_EXPOSURE_MODE_AUTO 267 } camera_exposure_mode_enum_t; 268 269 // OHOS_CONTROL_FOCUS_MODE and OHOS_ABILITY_FOCUS_MODES enumeration values 270 typedef enum camera_focus_mode_enum { 271 OHOS_CAMERA_FOCUS_MODE_MANUAL = 0, 272 OHOS_CAMERA_FOCUS_MODE_CONTINUOUS_AUTO, 273 OHOS_CAMERA_FOCUS_MODE_AUTO, 274 OHOS_CAMERA_FOCUS_MODE_LOCKED 275 } camera_focus_mode_enum_t; 276 277 // OHOS_CONTROL_FLASHMODE and OHOS_ABILITY_FLASH_MODES enumeration values 278 typedef enum camera_flash_mode_enum { 279 OHOS_CAMERA_FLASH_MODE_CLOSE = 0, 280 OHOS_CAMERA_FLASH_MODE_OPEN, 281 OHOS_CAMERA_FLASH_MODE_AUTO, 282 OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN 283 } camera_flash_mode_enum_t; 284 285 // OHOS_CONTROL_FLASH_STATE enumeration values 286 typedef enum camera_flash_state_enum { 287 OHOS_CAMERA_FLASH_STATE_UNAVAILABLE = 0, 288 OHOS_CAMERA_FLASH_STATE_CHARGING, 289 OHOS_CAMERA_FLASH_STATE_READY, 290 OHOS_CAMERA_FLASH_STATE_FLASHING, 291 OHOS_CAMERA_FLASH_STATE_UNKNOWN 292 } camera_flash_state_enum_t; 293 294 // OHOS_CONTROL_AE_ANTIBANDING_MODE enumeration values 295 typedef enum camera_ae_antibanding_mode { 296 OHOS_CAMERA_AE_ANTIBANDING_MODE_OFF, 297 OHOS_CAMERA_AE_ANTIBANDING_MODE_50HZ, 298 OHOS_CAMERA_AE_ANTIBANDING_MODE_60HZ, 299 OHOS_CAMERA_AE_ANTIBANDING_MODE_AUTO, 300 } camera_ae_antibanding_mode_t; 301 302 // OHOS_CONTROL_AE_LOCK enumeration values 303 typedef enum camera_ae_lock { 304 OHOS_CAMERA_AE_LOCK_OFF, 305 OHOS_CAMERA_AE_LOCK_ON, 306 } camera_ae_lock_t; 307 308 // OHOS_CONTROL_AE_MODE enumeration values 309 typedef enum camera_ae_mode { 310 OHOS_CAMERA_AE_MODE_OFF, 311 OHOS_CAMERA_AE_MODE_ON, 312 OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH, 313 OHOS_CAMERA_AE_MODE_ON_ALWAYS_FLASH, 314 OHOS_CAMERA_AE_MODE_ON_AUTO_FLASH_REDEYE, 315 OHOS_CAMERA_AE_MODE_ON_EXTERNAL_FLASH, 316 } camera_ae_mode_t; 317 318 // OHOS_CONTROL_AF_MODE 319 // and OHOS_CONTROL_AF_AVAILABLE_MODES enumeration values 320 typedef enum camera_af_mode { 321 OHOS_CAMERA_AF_MODE_OFF, 322 OHOS_CAMERA_AF_MODE_AUTO, 323 OHOS_CAMERA_AF_MODE_MACRO, 324 OHOS_CAMERA_AF_MODE_CONTINUOUS_VIDEO, 325 OHOS_CAMERA_AF_MODE_CONTINUOUS_PICTURE, 326 OHOS_CAMERA_AF_MODE_EDOF, 327 } camera_af_mode_t; 328 329 // OHOS_CONTROL_AF_TRIGGER enumeration values 330 typedef enum camera_af_trigger { 331 OHOS_CAMERA_AF_TRIGGER_IDLE, 332 OHOS_CAMERA_AF_TRIGGER_START, 333 OHOS_CAMERA_AF_TRIGGER_CANCEL, 334 } camera_af_trigger_t; 335 336 // OHOS_CONTROL_AF_STATE enumeration values 337 typedef enum camera_af_state { 338 OHOS_CAMERA_AF_STATE_INACTIVE, 339 OHOS_CAMERA_AF_STATE_PASSIVE_SCAN, 340 OHOS_CAMERA_AF_STATE_PASSIVE_FOCUSED, 341 OHOS_CAMERA_AF_STATE_ACTIVE_SCAN, 342 OHOS_CAMERA_AF_STATE_FOCUSED_LOCKED, 343 OHOS_CAMERA_AF_STATE_NOT_FOCUSED_LOCKED, 344 OHOS_CAMERA_AF_STATE_PASSIVE_UNFOCUSED, 345 } camera_af_state_t; 346 347 // OHOS_CONTROL_AWB_LOCK enumeration values 348 typedef enum camera_awb_lock { 349 OHOS_CAMERA_AWB_LOCK_OFF, 350 OHOS_CAMERA_AWB_LOCK_ON, 351 } camera_awb_lock_t; 352 353 // OHOS_CONTROL_AWB_MODE enumeration values 354 typedef enum camera_awb_mode { 355 OHOS_CAMERA_AWB_MODE_OFF, 356 OHOS_CAMERA_AWB_MODE_AUTO, 357 OHOS_CAMERA_AWB_MODE_INCANDESCENT, 358 OHOS_CAMERA_AWB_MODE_FLUORESCENT, 359 OHOS_CAMERA_AWB_MODE_WARM_FLUORESCENT, 360 OHOS_CAMERA_AWB_MODE_DAYLIGHT, 361 OHOS_CAMERA_AWB_MODE_CLOUDY_DAYLIGHT, 362 OHOS_CAMERA_AWB_MODE_TWILIGHT, 363 OHOS_CAMERA_AWB_MODE_SHADE, 364 } camera_awb_mode_t; 365 366 // OHOS_STATISTICS_FACE_DETECT_MODE 367 // and OHOS_STATISTICS_FACE_DETECT_SWITCH enumeration values 368 typedef enum camera_face_detect_mode { 369 OHOS_CAMERA_FACE_DETECT_MODE_OFF, 370 OHOS_CAMERA_FACE_DETECT_MODE_SIMPLE 371 } camera_face_detect_mode_t; 372 373 // OHOS_STATISTICS_HISTOGRAM_MODE enumeration values 374 typedef enum camera_histogram_mode { 375 OHOS_CAMERA_HISTOGRAM_MODE_OFF, 376 OHOS_CAMERA_HISTOGRAM_MODE_ON, 377 } camera_histogram_mode_t; 378 379 // OHOS_STREAM_AVAILABLE_FORMATS 380 // and OHOS_ABILITY_STREAM_AVAILABLE_BASIC_CONFIGURATIONS enumeration values 381 typedef enum camera_format { 382 OHOS_CAMERA_FORMAT_RGBA_8888 = 1, 383 OHOS_CAMERA_FORMAT_YCBCR_420_888, 384 OHOS_CAMERA_FORMAT_YCRCB_420_SP, 385 OHOS_CAMERA_FORMAT_JPEG, 386 } camera_format_t; 387 388 // OHOS_ABILITY_STREAM_QUICK_THUMBNAIL_AVAILABLE enumeration values 389 typedef enum camera_quick_thumbnail_available { 390 OHOS_CAMERA_QUICK_THUMBNAIL_FALSE = 0, 391 OHOS_CAMERA_QUICK_THUMBNAIL_TRUE, 392 } camera_quick_thumbnail_available_t; 393 394 // OHOS_CONTROL_FOCUS_STATE enumeration values 395 typedef enum camera_focus_state { 396 OHOS_CAMERA_FOCUS_STATE_SCAN, 397 OHOS_CAMERA_FOCUS_STATE_FOCUSED, 398 OHOS_CAMERA_FOCUS_STATE_UNFOCUSED, 399 } camera_focus_state_t; 400 401 // OHOS_CONTROL_METER_MODE and OHOS_ABILITY_METER_MODES enumeration values 402 typedef enum camera_meter_mode { 403 OHOS_CAMERA_SPOT_METERING = 0, 404 OHOS_CAMERA_REGION_METERING, 405 OHOS_CAMERA_OVERALL_METERING, 406 } camera_meter_mode_t; 407 408 typedef enum camera_exposure_state { 409 OHOS_CAMERA_EXPOSURE_STATE_SCAN, 410 OHOS_CAMERA_EXPOSURE_STATE_CONVERGED, 411 } camera_exposure_state_t; 412 413 // OHOS_CONTROL_CAPTURE_MIRROR 414 // and OHOS_CONTROL_CAPTURE_MIRROR_SUPPORTED enumeration values 415 typedef enum camera_mirror { 416 OHOS_CAMERA_MIRROR_OFF = 0, 417 OHOS_CAMERA_MIRROR_ON, 418 } camera_mirror_t; 419 420 // OHOS_JPEG_ORIENTATION enumeration values 421 typedef enum camera_jpeg_orientation { 422 OHOS_CAMERA_JPEG_ROTATION_0 = 0, 423 OHOS_CAMERA_JPEG_ROTATION_90 = 90, 424 OHOS_CAMERA_JPEG_ROTATION_180 = 180, 425 OHOS_CAMERA_JPEG_ROTATION_270 = 270, 426 } camera_jpeg_orientation_t; 427 428 // OHOS_JPEG_QUALITY enumeration values 429 typedef enum camera_jpeg_quality { 430 OHOS_CAMERA_JPEG_LEVEL_LOW = 0, 431 OHOS_CAMERA_JPEG_LEVEL_MIDDLE, 432 OHOS_CAMERA_JPEG_LEVEL_HIGH, 433 } camera_jpeg_quality_t; 434 435 // OHOS_ABILITY_VIDEO_STABILIZATION_MODES 436 // and OHOS_CONTROL_VIDEO_STABILIZATION_MODE enumeration values 437 typedef enum camera_video_stabilization_mode { 438 OHOS_CAMERA_VIDEO_STABILIZATION_OFF = 0, 439 OHOS_CAMERA_VIDEO_STABILIZATION_LOW, 440 OHOS_CAMERA_VIDEO_STABILIZATION_MIDDLE, 441 OHOS_CAMERA_VIDEO_STABILIZATION_HIGH, 442 OHOS_CAMERA_VIDEO_STABILIZATION_AUTO, 443 } CameraVideoStabilizationMode; 444 445 // OHOS_ABILITY_FLASH_AVAILABLE enumeration values 446 typedef enum camera_flash_available { 447 OHOS_CAMERA_FLASH_FALSE = 0, 448 OHOS_CAMERA_FLASH_TRUE, 449 } CameraFlashAvailable; 450 451 // OHOS_ABILITY_MEMORY_TYPE enumeration values 452 typedef enum camera_memory_type_enum { 453 OHOS_CAMERA_MEMORY_MMAP = 1, 454 OHOS_CAMERA_MEMORY_USERPTR, 455 OHOS_CAMERA_MEMORY_OVERLAY, 456 OHOS_CAMERA_MEMORY_DMABUF, 457 } camera_memory_type_enum_t; 458 459 // OHOS_ABILITY_MUTE_MODES and OHOS_CONTROL_MUTE_MODE enumeration values 460 typedef enum camera_mute_mode { 461 OHOS_CAMERA_MUTE_MODE_OFF, 462 OHOS_CAMERA_MUTE_MODE_SOLID_COLOR_BLACK, 463 } camera_mute_mode_t; 464 465 // OHOS_ABILITY_SCENE_FILTER_TYPES enumeration values 466 typedef enum camera_filter_type { 467 OHOS_CAMERA_FILTER_TYPE_OFF = 0, 468 OHOS_CAMERA_FILTER_TYPE_NODE, 469 OHOS_CAMERA_FILTER_TYPE_CLASSIC, 470 OHOS_CAMERA_FILTER_TYPE_DAWN, 471 OHOS_CAMERA_FILTER_TYPE_PURE, 472 OHOS_CAMERA_FILTER_TYPE_GREY, 473 OHOS_CAMERA_FILTER_TYPE_NATURAL, 474 OHOS_CAMERA_FILTER_TYPE_MORI, 475 OHOS_CAMERA_FILTER_TYPE_FAIR, 476 OHOS_CAMERA_FILTER_TYPE_PINK, 477 } camera_filter_type_t; 478 479 // OHOS_ABILITY_SCENE_PORTRAIT_EFFECT_TYPES enumeration values 480 typedef enum camera_portrait_effect_type { 481 OHOS_CAMERA_PORTRAIT_EFFECT_OFF = 0, 482 OHOS_CAMERA_PORTRAIT_CIRCLES, 483 } camera_portrait_effect_type_t; 484 485 // OHOS_ABILITY_SCENE_BEAUTY_TYPES enumeration values 486 typedef enum camera_beauty_type { 487 OHOS_CAMERA_BEAUTY_TYPE_OFF = 0, 488 OHOS_CAMERA_BEAUTY_TYPE_AUTO, 489 OHOS_CAMERA_BEAUTY_TYPE_SKIN_SMOOTH, 490 OHOS_CAMERA_BEAUTY_TYPE_FACE_SLENDER, 491 OHOS_CAMERA_BEAUTY_TYPE_SKIN_TONE, 492 } camera_beauty_type_t; 493 #endif 494