diff --git a/camera/metadata/include/camera_device_ability_items.h b/camera/metadata/include/camera_device_ability_items.h index 4622aab2bd8769249566de413d033a80deab9402..097bcb8361a365a6ce4461f5078d5d7b312f224c 100644 --- a/camera/metadata/include/camera_device_ability_items.h +++ b/camera/metadata/include/camera_device_ability_items.h @@ -1157,6 +1157,48 @@ typedef enum camera_device_metadata_tag { * (i.e. float ...) */ OHOS_CONTROL_FOCUS_DISTANCE, + /** + * ohos.ability.focusRangeTypes [static, enum[], public] + * + * camera device property, report current camera support focus range types + * (i.e. enum[]: AUTO, NEAR ...) + */ + OHOS_ABILITY_FOCUS_RANGE_TYPES, + /** + * ohos.control.focusRangeType [static, enum, public] + * + * camera device property, set current camera focus range type + * (i.e. enum: AUTO/NEAR ...) + */ + OHOS_CONTROL_FOCUS_RANGE_TYPE, + /** + * ohos.control.focusTrackingMode [static, enum, public] + * + * camera device property, set current camera focus tracking mode + * (i.e. enum: AUTO ...) + */ + OHOS_CONTROL_FOCUS_TRACKING_MODE, + /** + * ohos.ability.focusTrackingRegion [static, int32[], public] + * + * camera device property, report current camera focus tracking region + * (i.e. int32[] ...) + */ + OHOS_ABILITY_FOCUS_TRACKING_REGION, + /** + * ohos.ability.focusDrivenTypes [static, enum[], public] + * + * camera device property, report current camera support focus driven types + * (i.e. enum[]: AUTO, FACE ...) + */ + OHOS_ABILITY_FOCUS_DRIVEN_TYPES, + /** + * ohos.control.focusDrivenType [static, enum, public] + * + * camera device property, set current camera focus driven type + * (i.e. enum: AUTO/FACE ...) + */ + OHOS_CONTROL_FOCUS_DRIVEN_TYPE, /** * ohos.device.focusEnd * @@ -2023,6 +2065,20 @@ typedef enum camera_device_metadata_tag { * (i.e. int32 ...) */ OHOS_CONTROL_CAMERA_VIDEO_ROTATION, + /** + * ohos.ability.colorReservationTypes [static, enum[], public] + * + * camera device property, report current camera support color reservation types + * (i.e. enum[]: NONE, PORTRAIT ...) + */ + OHOS_ABILITY_COLOR_RESERVATION_TYPES, + /** + * ohos.control.colorReservationType [static, enum, public] + * + * camera device property, set current camera color reservation type + * (i.e. enum: NONE/PORTRAIT ...) + */ + OHOS_CONTROL_COLOR_RESERVATION_TYPE, /** * ohos.camera.effectEnd * @@ -2607,4 +2663,30 @@ enum CameraQualityPrioritization { OHOS_CAMERA_QUALITY_PRIORITIZATION_POWER_BALANCE, }; +// OHOS_ABILITY_FOCUS_RANGE_TYPES +// OHOS_CONTROL_FOCUS_RANGE_TYPE +typedef enum camera_focus_range_type { + OHOS_CAMERA_FOCUS_RANGE_AUTO = 0, + OHOS_CAMERA_FOCUS_RANGE_NEAR +} camera_focus_range_type_t; + +// OHOS_ABILITY_FOCUS_DRIVEN_TYPES +// OHOS_CONTROL_FOCUS_DRIVEN_TYPE +typedef enum camera_focus_driven_type { + OHOS_CAMERA_FOCUS_DRIVEN_AUTO = 0, + OHOS_CAMERA_FOCUS_DRIVEN_FACE +} camera_focus_driven_type_t; + +// OHOS_CONTROL_FOCUS_TRACKING_MODE +typedef enum camera_focus_tracking_mode { + OHOS_CAMERA_FOCUS_TRACKING_AUTO = 0, +} camera_focus_tracking_mode_t; + +// OHOS_ABILITY_COLOR_RESERVATION_TYPES +// OHOS_CONTROL_COLOR_RESERVATION_TYPE +typedef enum camera_color_reservation_type { + OHOS_CAMERA_COLOR_RESERVATION_NONE = 0, + OHOS_CAMERA_COLOR_RESERVATION_PORTRAIT +} camera_color_reservation_type_t; + #endif diff --git a/camera/metadata/include/camera_metadata_item_info.h b/camera/metadata/include/camera_metadata_item_info.h index 55fb5968277c891d3b01f559217f0d4f7d0e2c8b..30c9b6b50bfda0b48ad5fa5ea0ba83855fb4a163 100644 --- a/camera/metadata/include/camera_metadata_item_info.h +++ b/camera/metadata/include/camera_metadata_item_info.h @@ -294,6 +294,12 @@ static item_info_t g_ohosDeviceFocus[OHOS_DEVICE_FOCUS_END - OHOS_DEVICE_FOCUS_S [OHOS_ABILITY_EQUIVALENT_FOCUS - OHOS_DEVICE_FOCUS_START] = {"equivalentFocus", META_TYPE_INT32, -1}, [OHOS_CONTROL_FOCUS_DISTANCE - OHOS_DEVICE_FOCUS_START] = {"controlFocusDistance", META_TYPE_FLOAT, 1}, + [OHOS_ABILITY_FOCUS_RANGE_TYPES - OHOS_DEVICE_FOCUS_START] = {"focusRangeTypes", META_TYPE_BYTE, -1}, + [OHOS_CONTROL_FOCUS_RANGE_TYPE - OHOS_DEVICE_FOCUS_START] = {"focusRangeType", META_TYPE_BYTE, 1}, + [OHOS_CONTROL_FOCUS_TRACKING_MODE - OHOS_DEVICE_FOCUS_START] = {"focusTrackingMode", META_TYPE_BYTE, 1}, + [OHOS_ABILITY_FOCUS_TRACKING_REGION - OHOS_DEVICE_FOCUS_START] = {"focusTrackingRegion", META_TYPE_INT32, -1}, + [OHOS_ABILITY_FOCUS_DRIVEN_TYPES - OHOS_DEVICE_FOCUS_START] = {"focusDrivenTypes", META_TYPE_BYTE, -1}, + [OHOS_CONTROL_FOCUS_DRIVEN_TYPE - OHOS_DEVICE_FOCUS_START] = {"focusDrivenType", META_TYPE_BYTE, 1}, }; static item_info_t g_ohosDeviceWhite[OHOS_DEVICE_WHITE_BLANCE_END - OHOS_DEVICE_WHITE_BLANCE_START] = { @@ -516,6 +522,10 @@ static item_info_t g_ohosPostProcess[OHOS_CAMERA_EFFECT_END - OHOS_CAMERA_EFFECT OHOS_CAMERA_EFFECT_START] = {"movingPhotoStart", META_TYPE_INT64, 1}, [OHOS_MOVING_PHOTO_END - OHOS_CAMERA_EFFECT_START] = {"movingPhotoEnd", META_TYPE_INT64, 1}, + [OHOS_ABILITY_COLOR_RESERVATION_TYPES - + OHOS_CAMERA_EFFECT_START] = {"colorReservationTypes", META_TYPE_BYTE, -1}, + [OHOS_CONTROL_COLOR_RESERVATION_TYPE - + OHOS_CAMERA_EFFECT_START] = {"colorReservationType", META_TYPE_BYTE, 1}, }; static item_info_t g_ohosCameraSecure[OHOS_CAMERA_SECURE_END - OHOS_CAMERA_SECURE_START] = { diff --git a/camera/metadata/src/camera_metadata_info.cpp b/camera/metadata/src/camera_metadata_info.cpp index 86917f22c426e37cf345dbdc0c8988650a641fc5..114c9f71319e09b0ade5feb122fc5540d413a273 100644 --- a/camera/metadata/src/camera_metadata_info.cpp +++ b/camera/metadata/src/camera_metadata_info.cpp @@ -183,6 +183,12 @@ const std::vector g_metadataTags = { OHOS_CONTROL_LENS_FOCUS_DISTANCE, OHOS_ABILITY_EQUIVALENT_FOCUS, OHOS_CONTROL_FOCUS_DISTANCE, + OHOS_ABILITY_FOCUS_RANGE_TYPES, + OHOS_CONTROL_FOCUS_RANGE_TYPE, + OHOS_CONTROL_FOCUS_TRACKING_MODE, + OHOS_ABILITY_FOCUS_TRACKING_REGION, + OHOS_ABILITY_FOCUS_DRIVEN_TYPES, + OHOS_CONTROL_FOCUS_DRIVEN_TYPE, OHOS_ABILITY_DEVICE_AVAILABLE_AWBMODES, OHOS_ABILITY_AWB_MODES, @@ -307,6 +313,8 @@ const std::vector g_metadataTags = { OHOS_MOVING_PHOTO_BUFFER_DURATION, OHOS_MOVING_PHOTO_START, OHOS_MOVING_PHOTO_END, + OHOS_ABILITY_COLOR_RESERVATION_TYPES, + OHOS_CONTROL_COLOR_RESERVATION_TYPE, // camera secure related OHOS_CONTROL_SECURE_FACE_MODE,