#endif
/**
- * @file hal-camera-interface.h
+ * @file hal-camera-interface-1.h
* @brief This file contains the Tizen camera HAL interface API, related structures and enumerations.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
+/**
+ * @addtogroup HALAPI_HAL_CAMERA_MODULE
+ * @{
+ */
+
+/**
+ * @brief The maximum number of planes in buffer
+ * @since HAL_MODULE_CAMERA 1.0
+ */
#define BUFFER_PLANE_MAX 4
+
+/**
+ * @brief The maximum number of device count
+ * @since HAL_MODULE_CAMERA 1.0
+ */
#define DEVICE_COUNT_MAX 16
+
+/**
+ * @brief The maximum number of resolution count
+ * @since HAL_MODULE_CAMERA 1.0
+ */
#define RESOLUTION_COUNT_MAX 32
+
+/**
+ * @brief The maximum number of FPS count
+ * @since HAL_MODULE_CAMERA 1.0
+ */
#define FPS_COUNT_MAX 16
+
+/**
+ * @brief The maximum length of device name
+ * @since HAL_MODULE_CAMERA 1.0
+ */
#define DEVICE_NAME_LENGTH_MAX 16
-#define DEVICE_NODE_PATH_LENGTH_MAX 16
/**
- * @addtogroup HAL_CAMERA_INTERFACE_MODULE
- * @{
+ * @brief The maximum length of device node path
+ * @since HAL_MODULE_CAMERA 1.0
*/
+#define DEVICE_NODE_PATH_LENGTH_MAX 16
/**
* @brief Enumeration for the camera error.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_error {
- CAMERA_ERROR_NONE = 0,
- CAMERA_ERROR_INVALID_PARAMETER = (int32_t)0x80002001,
- CAMERA_ERROR_INVALID_STATE = (int32_t)0x80002002,
- CAMERA_ERROR_PERMISSION_DENIED = (int32_t)0x80002003,
- CAMERA_ERROR_OUT_OF_MEMORY = (int32_t)0x80002004,
- CAMERA_ERROR_DEVICE_OPEN = (int32_t)0x80002005,
- CAMERA_ERROR_DEVICE_NOT_FOUND = (int32_t)0x80002006,
- CAMERA_ERROR_DEVICE_UNAVAILABLE = (int32_t)0x80002007,
- CAMERA_ERROR_DEVICE_NOT_SUPPORTED = (int32_t)0x80002008,
- CAMERA_ERROR_DEVICE_READ = (int32_t)0x80002009,
- CAMERA_ERROR_DEVICE_WRITE = (int32_t)0x8000200a,
- CAMERA_ERROR_DEVICE_BUSY = (int32_t)0x8000200b,
- CAMERA_ERROR_DEVICE_TIME_OUT = (int32_t)0x8000200c,
- CAMERA_ERROR_DEVICE_ESD = (int32_t)0x8000200d,
- CAMERA_ERROR_INTERNAL = (int32_t)0x8000200e,
-
- CAMERA_ERROR_NOT_IMPLEMENTED = (int32_t)0x80002ffe,
- CAMERA_ERROR_UNKNOWN = (int32_t)0x80002fff
+ CAMERA_ERROR_NONE = 0, /**< Error none */
+ CAMERA_ERROR_INVALID_PARAMETER = (int32_t)0x80002001, /**< Invalid parameter */
+ CAMERA_ERROR_INVALID_STATE = (int32_t)0x80002002, /**< Invalid state */
+ CAMERA_ERROR_PERMISSION_DENIED = (int32_t)0x80002003, /**< Permission denied */
+ CAMERA_ERROR_OUT_OF_MEMORY = (int32_t)0x80002004, /**< Out of memory */
+ CAMERA_ERROR_DEVICE_OPEN = (int32_t)0x80002005, /**< Device open */
+ CAMERA_ERROR_DEVICE_NOT_FOUND = (int32_t)0x80002006, /**< Device not found */
+ CAMERA_ERROR_DEVICE_UNAVAILABLE = (int32_t)0x80002007, /**< Device unavailable */
+ CAMERA_ERROR_DEVICE_NOT_SUPPORTED = (int32_t)0x80002008, /**< Device not supported */
+ CAMERA_ERROR_DEVICE_READ = (int32_t)0x80002009, /**< Device read */
+ CAMERA_ERROR_DEVICE_WRITE = (int32_t)0x8000200a, /**< Device write */
+ CAMERA_ERROR_DEVICE_BUSY = (int32_t)0x8000200b, /**< Device busy */
+ CAMERA_ERROR_DEVICE_TIME_OUT = (int32_t)0x8000200c, /**< Device time out */
+ CAMERA_ERROR_DEVICE_ESD = (int32_t)0x8000200d, /**< Device ESD(Electro Static Discharge) */
+ CAMERA_ERROR_INTERNAL = (int32_t)0x8000200e, /**< Internal */
+
+ CAMERA_ERROR_NOT_IMPLEMENTED = (int32_t)0x80002ffe, /**< Not implemented */
+ CAMERA_ERROR_UNKNOWN = (int32_t)0x80002fff /**< Unknown */
} camera_error_e;
/**
* @brief Enumeration for the camera state.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_state {
- CAMERA_STATE_INITIALIZED,
- CAMERA_STATE_OPENED,
- CAMERA_STATE_PREVIEWING,
- CAMERA_STATE_CAPTURING,
- CAMERA_STATE_RECORDING,
- CAMERA_STATE_RECORDING_SNAPSHOT
+ CAMERA_STATE_INITIALIZED, /**< Initialized state for camera device */
+ CAMERA_STATE_OPENED, /**< Opened state for camera device */
+ CAMERA_STATE_PREVIEWING, /**< Previewing state for camera device */
+ CAMERA_STATE_CAPTURING, /**< Capturing state for camera device */
+ CAMERA_STATE_RECORDING, /**< Recording state for camera device */
+ CAMERA_STATE_RECORDING_SNAPSHOT /**< Capturing state while recording for camera device */
} camera_state_e;
/**
* @brief Enumeration for the camera network state.
- * @since_tizen 8.0
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_network_state {
- CAMERA_NETWORK_STATE_PLAYING,
- CAMERA_NETWORK_STATE_PAUSED
+ CAMERA_NETWORK_STATE_PLAYING, /**< Playing state for network camera */
+ CAMERA_NETWORK_STATE_PAUSED /**< Paused state for network camera */
} camera_network_state_e;
/**
* @brief The structure type of the resolution.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_resolution {
- uint32_t width;
- uint32_t height;
+ uint32_t width; /**< The width of resolution */
+ uint32_t height; /**< The height of resolution */
} camera_resolution_s;
/**
* @brief The structure type of the fraction.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_fraction {
- int numerator;
- int denominator;
+ int numerator; /**< The numerator of fraction */
+ int denominator; /**< The denominator of fraction */
} camera_fraction_s;
/**
* @brief The structure type of the rectangle.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_rectangle {
- int x;
- int y;
- uint32_t width;
- uint32_t height;
+ int x; /**< The x coordinate of rectangle */
+ int y; /**< The y coordinate of rectangle */
+ uint32_t width; /**< The width of rectangle */
+ uint32_t height; /**< The height of rectangle */
} camera_rectangle_s;
/**
* @brief Enumeration for the camera pixel format.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_pixel_format {
/* YUV */
- CAMERA_PIXEL_FORMAT_NV12 = 0x0000,
- CAMERA_PIXEL_FORMAT_NV21,
- CAMERA_PIXEL_FORMAT_I420,
- CAMERA_PIXEL_FORMAT_YV12,
- CAMERA_PIXEL_FORMAT_YUYV,
- CAMERA_PIXEL_FORMAT_UYVY,
+ CAMERA_PIXEL_FORMAT_NV12 = 0x0000, /**< Raw - NV12 */
+ CAMERA_PIXEL_FORMAT_NV21, /**< Raw - NV21 */
+ CAMERA_PIXEL_FORMAT_I420, /**< Raw - I420 */
+ CAMERA_PIXEL_FORMAT_YV12, /**< Raw - YV12 */
+ CAMERA_PIXEL_FORMAT_YUYV, /**< Raw - YUYV */
+ CAMERA_PIXEL_FORMAT_UYVY, /**< Raw - UYVY */
/* RGB */
- CAMERA_PIXEL_FORMAT_BGRA8888,
- CAMERA_PIXEL_FORMAT_ARGB8888,
+ CAMERA_PIXEL_FORMAT_BGRA8888, /**< Raw - BGRA8888 */
+ CAMERA_PIXEL_FORMAT_ARGB8888, /**< Raw - ARGB8888 */
/* ENCODED */
- CAMERA_PIXEL_FORMAT_JPEG,
- CAMERA_PIXEL_FORMAT_H264,
- CAMERA_PIXEL_FORMAT_MJPEG,
- CAMERA_PIXEL_FORMAT_VP8,
- CAMERA_PIXEL_FORMAT_VP9,
+ CAMERA_PIXEL_FORMAT_JPEG, /**< Encoded - JPEG */
+ CAMERA_PIXEL_FORMAT_H264, /**< Encoded - H.264 */
+ CAMERA_PIXEL_FORMAT_MJPEG, /**< Encoded - MJPEG */
+ CAMERA_PIXEL_FORMAT_VP8, /**< Encoded - VP8 */
+ CAMERA_PIXEL_FORMAT_VP9, /**< Encoded - VP9 */
/* DEPTH */
- CAMERA_PIXEL_FORMAT_DEPTH,
+ CAMERA_PIXEL_FORMAT_DEPTH, /**< Depth */
/* MAX */
CAMERA_PIXEL_FORMAT_MAX
/**
* @brief Enumeration for the focus state.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_focus_state {
- CAMERA_FOCUS_STATE_RELEASED,
- CAMERA_FOCUS_STATE_ONGOING,
- CAMERA_FOCUS_STATE_FOCUSED,
- CAMERA_FOCUS_STATE_FAILED
+ CAMERA_FOCUS_STATE_RELEASED, /**< Released state for auto focus */
+ CAMERA_FOCUS_STATE_ONGOING, /**< Ongoing state for auto focus */
+ CAMERA_FOCUS_STATE_FOCUSED, /**< Focused state for auto focus */
+ CAMERA_FOCUS_STATE_FAILED /**< Failed state for auto focus */
} camera_focus_state_e;
/**
* @brief Enumeration for the facing direction of camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_facing_direction {
- CAMERA_FACING_DIRECTION_REAR,
- CAMERA_FACING_DIRECTION_FRONT,
- CAMERA_FACING_DIRECTION_EXTERNAL
+ CAMERA_FACING_DIRECTION_REAR, /**< Rear facing direction */
+ CAMERA_FACING_DIRECTION_FRONT, /**< Front facing direction */
+ CAMERA_FACING_DIRECTION_EXTERNAL /**< External */
} camera_facing_direction_e;
/**
* @brief Enumeration for the camera rotation.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_rotation {
- CAMERA_ROTATION_0,
- CAMERA_ROTATION_90,
- CAMERA_ROTATION_180,
- CAMERA_ROTATION_270
+ CAMERA_ROTATION_0, /**< 0 degree */
+ CAMERA_ROTATION_90, /**< 90 degree */
+ CAMERA_ROTATION_180, /**< 180 degree */
+ CAMERA_ROTATION_270 /**< 270 degree */
} camera_rotation_e;
/**
* @brief Enumeration for the auto exposure status.
- * @since_tizen 7.0
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_status_auto_exposure {
- CAMERA_STATUS_AUTO_EXPOSURE_NONE,
- CAMERA_STATUS_AUTO_EXPOSURE_UNSTABLE,
- CAMERA_STATUS_AUTO_EXPOSURE_STABLE
+ CAMERA_STATUS_AUTO_EXPOSURE_NONE, /**< None */
+ CAMERA_STATUS_AUTO_EXPOSURE_UNSTABLE, /**< Unstable status for auto exposure */
+ CAMERA_STATUS_AUTO_EXPOSURE_STABLE /**< Stable status for auto exposure */
} camera_status_auto_exposure_e;
/**
* @brief Enumeration for the auto white balance status.
- * @since_tizen 7.0
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_status_auto_white_balance {
- CAMERA_STATUS_AUTO_WHITE_BALANCE_NONE,
- CAMERA_STATUS_AUTO_WHITE_BALANCE_UNSTABLE,
- CAMERA_STATUS_AUTO_WHITE_BALANCE_STABLE
+ CAMERA_STATUS_AUTO_WHITE_BALANCE_NONE, /**< None */
+ CAMERA_STATUS_AUTO_WHITE_BALANCE_UNSTABLE, /**< Unstable status for auto white balance */
+ CAMERA_STATUS_AUTO_WHITE_BALANCE_STABLE /**< Stable status for auto white balance */
} camera_status_auto_white_balance_e;
/**
* @brief Enumeration for the camera flip.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_flip {
- CAMERA_FLIP_NONE,
- CAMERA_FLIP_HORIZONTAL,
- CAMERA_FLIP_VERTICAL,
- CAMERA_FLIP_BOTH
+ CAMERA_FLIP_NONE, /**< None */
+ CAMERA_FLIP_HORIZONTAL, /**< Horizontal flip */
+ CAMERA_FLIP_VERTICAL, /**< Vertical flip */
+ CAMERA_FLIP_BOTH /**< Both */
} camera_flip_e;
/**
* @brief The structure type of the camera plane.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_plane {
- unsigned char *data;
- uint32_t align_width;
- uint32_t align_height;
- uint32_t size;
- uint32_t bytesused; /* The number of bytes occupied by data (Since 7.0) */
+ unsigned char *data; /**< The data pointer of plane */
+ uint32_t align_width; /**< The aligned width of plane */
+ uint32_t align_height; /**< The aligned height of plane */
+ uint32_t size; /**< The size of plane */
+ uint32_t bytesused; /**< The number of bytes occupied by data */
} camera_plane_s;
/**
* @brief The structure type of the camera buffer.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_buffer {
- int index;
- camera_pixel_format_e format;
- camera_resolution_s resolution;
- uint32_t total_size;
- uint32_t num_planes;
- camera_plane_s planes[BUFFER_PLANE_MAX];
- uint32_t num_bos;
- void *bos[BUFFER_PLANE_MAX];
+ int index; /**< The index of buffer */
+ camera_pixel_format_e format; /**< The format of buffer */
+ camera_resolution_s resolution; /**< The resolution of buffer */
+ uint32_t total_size; /**< The total size of buffer */
+ uint32_t num_planes; /**< The number of planes in buffer */
+ camera_plane_s planes[BUFFER_PLANE_MAX]; /**< The planes of buffer */
+ uint32_t num_bos; /**< The number of bo(buffer object for TBM) */
+ void *bos[BUFFER_PLANE_MAX]; /**< The bo(buffer object for TBM) array */
} camera_buffer_s;
/**
* @brief The structure type of the camera metadata.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_metadata {
- int is_flashed;
- camera_fraction_s focal_length;
- camera_fraction_s aperture_f_number;
- camera_fraction_s shutter_speed;
- camera_fraction_s exposure_time;
- camera_fraction_s brightness;
- camera_resolution_s exif_image;
- int iso;
- int metering_mode;
- int color_space;
- int component_configuration;
- int aperture_in_apex;
- int is_delta_frame; /* Flag for encoded delta frame */
- camera_focus_state_e focus_state;
- camera_facing_direction_e facing_direction;
- camera_flip_e flip;
- camera_rotation_e rotation;
- camera_status_auto_exposure_e status_ae;
- camera_status_auto_white_balance_e status_awb;
+ int is_flashed; /**< The flag which indicates whether it's flashed or not */
+ camera_fraction_s focal_length; /**< The focal length */
+ camera_fraction_s aperture_f_number; /**< The F-number for aperture */
+ camera_fraction_s shutter_speed; /**< The shutter speed */
+ camera_fraction_s exposure_time; /**< The exposure time */
+ camera_fraction_s brightness; /**< The brightness */
+ camera_resolution_s exif_image; /**< The resolution of EXIF image */
+ int iso; /**< The ISO */
+ int metering_mode; /**< The metering mode */
+ int color_space; /**< The color space */
+ int component_configuration; /**< The component configuration */
+ int aperture_in_apex; /**< The APEX for aperture */
+ int is_delta_frame; /**< The flag which indicates whether it's delta frame or not */
+ camera_focus_state_e focus_state; /**< The focus state */
+ camera_facing_direction_e facing_direction; /**< The face direction */
+ camera_flip_e flip; /**< The flip */
+ camera_rotation_e rotation; /**< The rotation */
+ camera_status_auto_exposure_e status_ae; /**< The status for auto exposure */
+ camera_status_auto_white_balance_e status_awb; /**< The status for auto white balance */
} camera_metadata_s;
/**
* @brief The structure type of the camera format.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_format {
- camera_pixel_format_e stream_format;
- camera_resolution_s stream_resolution;
- uint32_t stream_fps;
- camera_rotation_e stream_rotation;
- camera_pixel_format_e capture_format;
- camera_resolution_s capture_resolution;
- uint32_t capture_quality;
- uint32_t stream_bitrate;
+ camera_pixel_format_e stream_format; /**< The format of stream */
+ camera_resolution_s stream_resolution; /**< The resolution of stream */
+ uint32_t stream_fps; /**< The FPS of stream */
+ camera_rotation_e stream_rotation; /**< The rotation of stream */
+ camera_pixel_format_e capture_format; /**< The format of capture stream */
+ camera_resolution_s capture_resolution; /**< The resolution of capture stream */
+ uint32_t capture_quality; /**< The quality of captured image */
+ uint32_t stream_bitrate; /**< The bitrate of stream */
} camera_format_s;
/**
* @brief Enumeration for the focus mode.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_focus_mode {
- CAMERA_FOCUS_MODE_NONE,
- CAMERA_FOCUS_MODE_PAN,
- CAMERA_FOCUS_MODE_AUTO,
- CAMERA_FOCUS_MODE_CONTINUOUS_AUTO
+ CAMERA_FOCUS_MODE_NONE, /**< None */
+ CAMERA_FOCUS_MODE_PAN, /**< Pan mode */
+ CAMERA_FOCUS_MODE_AUTO, /**< Auto mode */
+ CAMERA_FOCUS_MODE_CONTINUOUS_AUTO /**< Continuous auto mode */
} camera_focus_mode_e;
/**
* @brief Enumeration for the focus range.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_focus_range {
- CAMERA_FOCUS_RANGE_NONE,
- CAMERA_FOCUS_RANGE_NORMAL,
- CAMERA_FOCUS_RANGE_MACRO,
- CAMERA_FOCUS_RANGE_FULL
+ CAMERA_FOCUS_RANGE_NONE, /**< None */
+ CAMERA_FOCUS_RANGE_NORMAL, /**< Normal range */
+ CAMERA_FOCUS_RANGE_MACRO, /**< Macro range */
+ CAMERA_FOCUS_RANGE_FULL /**< Full range */
} camera_focus_range_e;
/**
* @brief Enumeration for the white balance.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_white_balance {
CAMERA_WHITE_BALANCE_AUTO, /**< Automatic */
/**
* @brief Enumeration for the effect.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_effect {
CAMERA_EFFECT_NONE, /**< None */
/**
* @brief Enumeration for the scene mode.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_scene_mode {
CAMERA_SCENE_MODE_NORMAL, /**< Normal */
/**
* @brief Enumeration for the exposure mode.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_exposure_mode {
CAMERA_EXPOSURE_MODE_OFF = 0, /**< Off */
/**
* @brief Enumeration for the shot mode.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_shot_mode {
CAMERA_SHOT_MODE_NORMAL = 0, /**< Normal */
/**
* @brief Enumeration for the flash mode.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_flash_mode {
CAMERA_FLASH_MODE_OFF = 0, /**< Always off */
/**
* @brief Enumeration for the face detection.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_face_detection {
CAMERA_FACE_DETECTION_OFF = 0, /**< Face detection off */
/**
* @brief Enumeration for the PTZ(Pan Tilt Zoom) type.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_ptz_type {
CAMERA_PTZ_TYPE_MECHANICAL = 0, /**< Move the camera device physically */
} camera_ptz_type_e;
/**
- * @brief Definitions for the camera command.
- * @since_tizen 6.5
- */
-#define CAMERA_COMMAND_BASE ((int64_t)1)
-#define CAMERA_COMMAND_WHITE_BALANCE ((int64_t)(CAMERA_COMMAND_BASE << 1))
-#define CAMERA_COMMAND_ISO ((int64_t)(CAMERA_COMMAND_BASE << 2))
-#define CAMERA_COMMAND_CONTRAST ((int64_t)(CAMERA_COMMAND_BASE << 3))
-#define CAMERA_COMMAND_SATURATION ((int64_t)(CAMERA_COMMAND_BASE << 4))
-#define CAMERA_COMMAND_HUE ((int64_t)(CAMERA_COMMAND_BASE << 5))
-#define CAMERA_COMMAND_SHARPNESS ((int64_t)(CAMERA_COMMAND_BASE << 6))
-#define CAMERA_COMMAND_EFFECT ((int64_t)(CAMERA_COMMAND_BASE << 7))
-#define CAMERA_COMMAND_SCENE_MODE ((int64_t)(CAMERA_COMMAND_BASE << 8))
-#define CAMERA_COMMAND_EXPOSURE_MODE ((int64_t)(CAMERA_COMMAND_BASE << 9))
-#define CAMERA_COMMAND_EXPOSURE ((int64_t)(CAMERA_COMMAND_BASE << 10))
-#define CAMERA_COMMAND_ROTATION ((int64_t)(CAMERA_COMMAND_BASE << 11))
-#define CAMERA_COMMAND_FLIP ((int64_t)(CAMERA_COMMAND_BASE << 12))
-#define CAMERA_COMMAND_FOCUS_MODE ((int64_t)(CAMERA_COMMAND_BASE << 13))
-#define CAMERA_COMMAND_FOCUS_RANGE ((int64_t)(CAMERA_COMMAND_BASE << 14))
-#define CAMERA_COMMAND_SHOT_MODE ((int64_t)(CAMERA_COMMAND_BASE << 15))
-#define CAMERA_COMMAND_ANTI_SHAKE ((int64_t)(CAMERA_COMMAND_BASE << 16))
-#define CAMERA_COMMAND_FOCUS_AREA ((int64_t)(CAMERA_COMMAND_BASE << 17))
-#define CAMERA_COMMAND_DIGITAL_ZOOM ((int64_t)(CAMERA_COMMAND_BASE << 18))
-#define CAMERA_COMMAND_OPTICAL_ZOOM ((int64_t)(CAMERA_COMMAND_BASE << 19))
-#define CAMERA_COMMAND_RECORDING_HINT ((int64_t)(CAMERA_COMMAND_BASE << 20))
-#define CAMERA_COMMAND_WDR ((int64_t)(CAMERA_COMMAND_BASE << 21))
-#define CAMERA_COMMAND_SHUTTER_SPEED ((int64_t)(CAMERA_COMMAND_BASE << 22))
-#define CAMERA_COMMAND_FLASH_MODE ((int64_t)(CAMERA_COMMAND_BASE << 23))
-#define CAMERA_COMMAND_FACE_DETECTION ((int64_t)(CAMERA_COMMAND_BASE << 24))
-#define CAMERA_COMMAND_BITRATE ((int64_t)(CAMERA_COMMAND_BASE << 25))
-#define CAMERA_COMMAND_PTZ_TYPE ((int64_t)(CAMERA_COMMAND_BASE << 26))
-#define CAMERA_COMMAND_PAN ((int64_t)(CAMERA_COMMAND_BASE << 27))
-#define CAMERA_COMMAND_TILT ((int64_t)(CAMERA_COMMAND_BASE << 28))
-#define CAMERA_COMMAND_BRIGHTNESS ((int64_t)(CAMERA_COMMAND_BASE << 29))
-#define CAMERA_COMMAND_GOP_INTERVAL ((int64_t)(CAMERA_COMMAND_BASE << 30))
-#define CAMERA_COMMAND_CAPTURE_COUNT ((int64_t)(CAMERA_COMMAND_BASE << 31))
-#define CAMERA_COMMAND_CAPTURE_INTERVAL ((int64_t)(CAMERA_COMMAND_BASE << 32))
-#define CAMERA_COMMAND_FLASH_BRIGHTNESS ((int64_t)(CAMERA_COMMAND_BASE << 33))
-#define CAMERA_COMMAND_FOCUS_LEVEL ((int64_t)(CAMERA_COMMAND_BASE << 34))
-#define CAMERA_COMMAND_DEVICE_BUS ((int64_t)(CAMERA_COMMAND_BASE << 35))
-#define CAMERA_COMMAND_DEVICE_PORT ((int64_t)(CAMERA_COMMAND_BASE << 36))
-#define CAMERA_COMMAND_WHITE_BALANCE_TEMPERATURE ((int64_t)(CAMERA_COMMAND_BASE << 37))
-#define CAMERA_COMMAND_GAIN ((int64_t)(CAMERA_COMMAND_BASE << 38))
-
-
+ * @brief Enumeration for the camera command.
+ * @since HAL_MODULE_CAMERA 1.0
+ */
+typedef enum camera_command {
+ CAMERA_COMMAND_BASE = (uint64_t)0x0000000000000001, /**< Base of command */
+ CAMERA_COMMAND_WHITE_BALANCE = (uint64_t)0x0000000000000002, /**< White balance */
+ CAMERA_COMMAND_ISO = (uint64_t)0x0000000000000004, /**< ISO */
+ CAMERA_COMMAND_CONTRAST = (uint64_t)0x0000000000000008, /**< Contrast */
+ CAMERA_COMMAND_SATURATION = (uint64_t)0x000000000000000f, /**< Saturation */
+ CAMERA_COMMAND_HUE = (uint64_t)0x0000000000000010, /**< Hue */
+ CAMERA_COMMAND_SHARPNESS = (uint64_t)0x0000000000000020, /**< Sharpness */
+ CAMERA_COMMAND_EFFECT = (uint64_t)0x0000000000000040, /**< Effect */
+ CAMERA_COMMAND_SCENE_MODE = (uint64_t)0x0000000000000080, /**< Scene mode */
+ CAMERA_COMMAND_EXPOSURE_MODE = (uint64_t)0x00000000000000f0, /**< Exposure mode */
+ CAMERA_COMMAND_EXPOSURE = (uint64_t)0x0000000000000100, /**< Exposure */
+ CAMERA_COMMAND_ROTATION = (uint64_t)0x0000000000000200, /**< Rotation */
+ CAMERA_COMMAND_FLIP = (uint64_t)0x0000000000000400, /**< Flip */
+ CAMERA_COMMAND_FOCUS_MODE = (uint64_t)0x0000000000000800, /**< Focus mode */
+ CAMERA_COMMAND_FOCUS_RANGE = (uint64_t)0x0000000000000f00, /**< Focus range */
+ CAMERA_COMMAND_SHOT_MODE = (uint64_t)0x0000000000001000, /**< Shot mode */
+ CAMERA_COMMAND_ANTI_SHAKE = (uint64_t)0x0000000000002000, /**< Anti shake */
+ CAMERA_COMMAND_FOCUS_AREA = (uint64_t)0x0000000000004000, /**< Focus area */
+ CAMERA_COMMAND_DIGITAL_ZOOM = (uint64_t)0x0000000000008000, /**< Digital zoom */
+ CAMERA_COMMAND_OPTICAL_ZOOM = (uint64_t)0x000000000000f000, /**< Optical zoom */
+ CAMERA_COMMAND_RECORDING_HINT = (uint64_t)0x0000000000010000, /**< Recording hint */
+ CAMERA_COMMAND_WDR = (uint64_t)0x0000000000020000, /**< Wide dynamic range */
+ CAMERA_COMMAND_SHUTTER_SPEED = (uint64_t)0x0000000000040000, /**< Shutter speed */
+ CAMERA_COMMAND_FLASH_MODE = (uint64_t)0x0000000000080000, /**< Flash mode */
+ CAMERA_COMMAND_FACE_DETECTION = (uint64_t)0x00000000000f0000, /**< Face detection */
+ CAMERA_COMMAND_BITRATE = (uint64_t)0x0000000000100000, /**< Bitrate */
+ CAMERA_COMMAND_PTZ_TYPE = (uint64_t)0x0000000000200000, /**< PTZ(Pan Tilt Zoom) type */
+ CAMERA_COMMAND_PAN = (uint64_t)0x0000000000400000, /**< Pan */
+ CAMERA_COMMAND_TILT = (uint64_t)0x0000000000800000, /**< Tilt */
+ CAMERA_COMMAND_BRIGHTNESS = (uint64_t)0x0000000000f00000, /**< Brightness */
+ CAMERA_COMMAND_GOP_INTERVAL = (uint64_t)0x0000000001000000, /**< GOP(Group Of Pictures) interval */
+ CAMERA_COMMAND_CAPTURE_COUNT = (uint64_t)0x0000000002000000, /**< Capture count */
+ CAMERA_COMMAND_CAPTURE_INTERVAL = (uint64_t)0x0000000004000000, /**< Capture interval for continuous capture */
+ CAMERA_COMMAND_FLASH_BRIGHTNESS = (uint64_t)0xf000000008000000, /**< Brightness of flash */
+ CAMERA_COMMAND_FOCUS_LEVEL = (uint64_t)0x000000000f000000, /**< Level of manual focus */
+ CAMERA_COMMAND_DEVICE_BUS = (uint64_t)0x0000000010000000, /**< Device bus name */
+ CAMERA_COMMAND_DEVICE_PORT = (uint64_t)0x0000000020000000, /**< Device port name */
+ CAMERA_COMMAND_WHITE_BALANCE_TEMPERATURE = (uint64_t)0x0000000040000000, /**< White balance temperature */
+ CAMERA_COMMAND_GAIN = (uint64_t)0x0000000080000000 /**< Gain */
+} camera_command_e;
+
+/**
+ * @brief The structure type of batch command.
+ * @since HAL_MODULE_CAMERA 1.0
+ */
typedef struct camera_batch_command_control {
- /* flag for modified command */
- int64_t command_set_flag;
-
- /* value list */
- camera_white_balance_e white_balance;
- int iso;
- int contrast;
- int saturation;
- int hue;
- int sharpness;
- camera_effect_e effect;
- camera_scene_mode_e scene_mode;
- camera_exposure_mode_e exposure_mode;
- int exposure;
- camera_rotation_e rotation;
- camera_flip_e flip;
- camera_focus_mode_e focus_mode;
- camera_focus_range_e focus_range;
- camera_exposure_mode_e shot_mode;
- int anti_shake;
- camera_rectangle_s focus_area;
- int digital_zoom;
- int optical_zoom;
- int recording_hint;
- int wdr;
- camera_fraction_s shutter_speed;
- camera_flash_mode_e flash_mode;
- camera_face_detection_e face_detection;
- int bitrate;
- int ptz_type;
- int pan;
- int tilt;
- int brightness;
- int gop_interval;
- int capture_count;
- int capture_interval;
- int flash_brightness;
- int focus_level;
+ uint64_t command_set_flag; /**< flag for updating commands */
+
+ camera_white_balance_e white_balance; /**< value for white balance */
+ int iso; /**< value for ISO */
+ int contrast; /**< value for contrast */
+ int saturation; /**< value for saturation */
+ int hue; /**< value for hue */
+ int sharpness; /**< value for sharpness */
+ camera_effect_e effect; /**< value for effect */
+ camera_scene_mode_e scene_mode; /**< value for scene mode */
+ camera_exposure_mode_e exposure_mode; /**< value for exposure mode */
+ int exposure; /**< value for exposure */
+ camera_rotation_e rotation; /**< value for rotation */
+ camera_flip_e flip; /**< value for flip */
+ camera_focus_mode_e focus_mode; /**< value for focus mode */
+ camera_focus_range_e focus_range; /**< value for focus range */
+ camera_exposure_mode_e shot_mode; /**< value for shot mode */
+ int anti_shake; /**< value for anti shake */
+ camera_rectangle_s focus_area; /**< value for focus area */
+ int digital_zoom; /**< value for digital zoom */
+ int optical_zoom; /**< value for optical zoom */
+ int recording_hint; /**< value for recording hint */
+ int wdr; /**< value for WDR(Wide Dynamic Range) */
+ camera_fraction_s shutter_speed; /**< value for shutter speed */
+ camera_flash_mode_e flash_mode; /**< value for flash mode */
+ camera_face_detection_e face_detection; /**< value for face detection */
+ int bitrate; /**< value for bitrate */
+ int ptz_type; /**< value for PTZ(Pan Tilt Zoom) type */
+ int pan; /**< value for pan */
+ int tilt; /**< value for tilt */
+ int brightness; /**< value for brightness */
+ int gop_interval; /**< value for GOP(Group Of Pictures) interval */
+ int capture_count; /**< value for capture count of continuous capture */
+ int capture_interval; /**< value for capture interval of continuous capture */
+ int flash_brightness; /**< value for brightness of flash */
+ int focus_level; /**< value for level of manual focus */
} camera_batch_command_control_s;
/**
* @brief The structure type of the format list.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_pixel_format_list {
- uint32_t count;
- camera_pixel_format_e formats[CAMERA_PIXEL_FORMAT_MAX];
+ uint32_t count; /**< The count of format */
+ camera_pixel_format_e formats[CAMERA_PIXEL_FORMAT_MAX]; /**< The format list */
} camera_format_list_s;
/**
* @brief The structure type of the resolution list.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_resolution_list {
- uint32_t count;
- camera_resolution_s resolutions[RESOLUTION_COUNT_MAX];
+ uint32_t count; /**< The count of resolution */
+ camera_resolution_s resolutions[RESOLUTION_COUNT_MAX]; /**< The resolution list */
} camera_resolution_list_s;
/**
* @brief The structure type of the fps list.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_fps_list {
- uint32_t count;
- int fps[FPS_COUNT_MAX];
+ uint32_t count; /**< The count of FPS */
+ int fps[FPS_COUNT_MAX]; /**< The FPS list */
} camera_fps_list_s;
/**
* @brief The structure type of the camera device information.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_device_info {
- uint32_t index;
- char name[DEVICE_NAME_LENGTH_MAX];
- char node_path[DEVICE_NODE_PATH_LENGTH_MAX];
- camera_facing_direction_e facing_direction;
- camera_format_list_s format_list;
- camera_resolution_list_s preview_list;
- camera_resolution_list_s capture_list;
- camera_resolution_list_s video_list;
- camera_fps_list_s preview_fps_list[RESOLUTION_COUNT_MAX];
- camera_fps_list_s video_fps_list[RESOLUTION_COUNT_MAX];
+ uint32_t index; /**< The index of device */
+ char name[DEVICE_NAME_LENGTH_MAX]; /**< The name of device */
+ char node_path[DEVICE_NODE_PATH_LENGTH_MAX]; /**< The node path of device */
+ camera_facing_direction_e facing_direction; /**< The facing direction of device */
+ camera_format_list_s format_list; /**< The supported format list of device */
+ camera_resolution_list_s preview_list; /**< The supported preview resolution list of device */
+ camera_resolution_list_s capture_list; /**< The supported capture resolution list of device */
+ camera_resolution_list_s video_list; /**< The supported video resolution list of device */
+ camera_fps_list_s preview_fps_list[RESOLUTION_COUNT_MAX]; /**< The supported preview FPS list of device */
+ camera_fps_list_s video_fps_list[RESOLUTION_COUNT_MAX]; /**< The supported video FPS list of device */
} camera_device_info_s;
/**
* @brief The structure type of the camera device information list.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_device_info_list {
- uint32_t count;
- camera_device_info_s device_info[DEVICE_COUNT_MAX];
+ uint32_t count; /**< The count of devices */
+ camera_device_info_s device_info[DEVICE_COUNT_MAX]; /**< The device list */
} camera_device_info_list_s;
/**
* @brief The structure type of the camera device capability resolution.
- * @since_tizen 9.0
+ * @since HAL_MODULE_CAMERA 1.1
*/
typedef struct camera_device_capability_resolution {
- uint32_t width;
- uint32_t height;
- int default_fps_index;
- camera_fps_list_s fps_list;
+ uint32_t width; /**< The width of resolution */
+ uint32_t height; /**< The height of resolution */
+ int default_fps_index; /**< The default index of FPS list */
+ camera_fps_list_s fps_list; /**< The supported FPS list with @a width and @a height */
} camera_device_capability_resolution_s;
/**
* @brief The structure type of the camera device capability format.
- * @since_tizen 9.0
+ * @since HAL_MODULE_CAMERA 1.1
*/
typedef struct camera_device_capability_format {
- camera_pixel_format_e pixel_format;
- uint32_t resolution_count;
- int default_resolution_index;
- camera_device_capability_resolution_s *resolution[RESOLUTION_COUNT_MAX];
+ camera_pixel_format_e pixel_format; /**< The pixel format */
+ uint32_t resolution_count; /**< The supported capability resolution count */
+ int default_resolution_index; /**< The default index of capability resolution list */
+ camera_device_capability_resolution_s *resolution[RESOLUTION_COUNT_MAX]; /**< The supported capability resolution list with @a pixel_format */
} camera_device_capability_format_s;
/**
* @brief The structure type of the camera device capability.
- * @since_tizen 9.0
+ * @since HAL_MODULE_CAMERA 1.1
*/
typedef struct camera_device_capability {
- int device_index;
- uint32_t format_count;
- int default_format_index;
- camera_device_capability_format_s *format[CAMERA_PIXEL_FORMAT_MAX];
+ int device_index; /**< The index of device */
+ uint32_t format_count; /**< The count of supported format */
+ int default_format_index; /**< The default index of supported format list */
+ camera_device_capability_format_s *format[CAMERA_PIXEL_FORMAT_MAX]; /**< The supported capability format list with @a device_index */
} camera_device_capability_s;
/**
* @brief The structure type of the camera device capability list.
- * @since_tizen 9.0
+ * @since HAL_MODULE_CAMERA 1.1
*/
typedef struct camera_device_capability_list {
- uint32_t device_count;
- camera_device_capability_s *capability[DEVICE_COUNT_MAX];
+ uint32_t device_count; /**< The count of devices */
+ camera_device_capability_s *capability[DEVICE_COUNT_MAX]; /**< The device capability list */
} camera_device_capability_list_s;
/**
* @brief Enumeration for the camera message type.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef enum camera_message_type {
- CAMERA_MESSAGE_TYPE_FOCUS_CHANGED,
- CAMERA_MESSAGE_TYPE_CAPTURED,
- CAMERA_MESSAGE_TYPE_HDR_PROGRESS,
- CAMERA_MESSAGE_TYPE_ERROR,
- CAMERA_MESSAGE_TYPE_NETWORK_STATE /* Since 8.0 */
+ CAMERA_MESSAGE_TYPE_FOCUS_CHANGED, /**< The focus state changed */
+ CAMERA_MESSAGE_TYPE_CAPTURED, /**< The snapshot captured */
+ CAMERA_MESSAGE_TYPE_HDR_PROGRESS, /**< The progress of HDR */
+ CAMERA_MESSAGE_TYPE_ERROR, /**< The error */
+ CAMERA_MESSAGE_TYPE_NETWORK_STATE /**< The state of network camera */
} camera_message_type_e;
/**
* @brief The structure type of the camera message.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct camera_message {
- camera_message_type_e type;
+ camera_message_type_e type; /**< The type of message */
union {
- camera_focus_state_e focus_state;
- uint32_t hdr_progress;
- camera_error_e error_code;
- camera_network_state_e network_state; /* Since 8.0 */
+ camera_focus_state_e focus_state; /**< The state of focus */
+ uint32_t hdr_progress; /**< The progress of HDR */
+ camera_error_e error_code; /**< The error code */
+ camera_network_state_e network_state; /**< The state of network camera */
};
} camera_message_s;
/**
* @brief Callback function for notification from camera HAL.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] message The message from camera HAL
* @param[in] user_data The user data for callback
* @see hal_camera_add_message_callback()
/**
* @brief Callback function for captured preview frame from camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] buffer The preview frame
* @param[in] meta The meta data for the preview frame
* @param[in] user_data The user data for callback
/**
* @brief Callback function for extra preview frame from camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] buffer The extra preview frame
* @param[in] meta The meta data for the extra preview frame
* @param[in] stream_id The id of extra preview stream
/**
* @brief Callback function for captured video buffer from camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] buffer The video buffer
* @param[in] meta The meta data for the video frame
* @param[in] user_data The user data for callback
/**
* @brief Callback function for captured still image from camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] main The main image data
* @param[in] postview The image data of the postview (it could be @c NULL if the available data does not exist)
* @param[in] thumbnail The image data of the thumbnail (it could be @c NULL if the available data does not exist)
/**
* @brief The structure type of the camera HAL functions.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
typedef struct _hal_backend_media_camera_funcs {
+ /**< Initialize HAL backend handle */
int (*init)(void **camera_handle);
+ /**< Deinitialize HAL backend handle */
int (*deinit)(void *camera_handle);
+ /**< Get list of device information */
int (*get_device_info_list)(camera_device_info_list_s *device_info_list);
+ /**< Open device */
int (*open_device)(void *camera_handle, int device_index);
+ /**< Open device for extension */
int (*open_device_ext)(void *camera_handle, const char *device_name);
+ /**< Close device */
int (*close_device)(void *camera_handle);
+ /**< Add message callback */
int (*add_message_callback)(void *camera_handle, hal_camera_message_cb callback, void *user_data, uint32_t *cb_id);
+ /**< Remove message callback */
int (*remove_message_callback)(void *camera_handle, uint32_t cb_id);
+ /**< Set format for preview stream */
int (*set_preview_stream_format)(void *camera_handle, camera_format_s *format);
+ /**< Get format for preview stream */
int (*get_preview_stream_format)(void *camera_handle, camera_format_s *format);
+ /**< Set buffer fd which is allocated by user */
int (*set_user_buffer_fd)(void *camera_handle, int *fds, int number);
+ /**< Start preview */
int (*start_preview)(void *camera_handle, hal_camera_preview_frame_cb callback, void *user_data);
+ /**< Release preview buffer */
int (*release_preview_buffer)(void *camera_handle, int buffer_index);
+ /**< Stop preview */
int (*stop_preview)(void *camera_handle);
+ /**< Start auto focusing */
int (*start_auto_focus)(void *camera_handle);
+ /**< Stop auto focusing */
int (*stop_auto_focus)(void *camera_handle);
+ /**< Start capture */
int (*start_capture)(void *camera_handle, hal_camera_capture_cb callback, void *user_data);
+ /**< Stop capture */
int (*stop_capture)(void *camera_handle);
+ /**< Set format for video stream */
int (*set_video_stream_format)(void *camera_handle, camera_format_s *format);
+ /**< Get format for video stream */
int (*get_video_stream_format)(void *camera_handle, camera_format_s *format);
+ /**< Start record */
int (*start_record)(void *camera_handle, hal_camera_video_frame_cb callback, void *user_data);
+ /**< Release video buffer */
int (*release_video_buffer)(void *camera_handle, int buffer_index);
+ /**< Stop record */
int (*stop_record)(void *camera_handle);
- int (*set_command)(void *camera_handle, int64_t command, void *value);
- int (*get_command)(void *camera_handle, int64_t command, void **value);
- int (*set_batch_command)(void *camera_handle, camera_batch_command_control_s *batch_command, int64_t *error_command);
+ /**< Set command for various settings */
+ int (*set_command)(void *camera_handle, camera_command_e command, void *value);
+ /**< Get command for various settings */
+ int (*get_command)(void *camera_handle, camera_command_e command, void **value);
+ /**< Set batch command for multiple settings */
+ int (*set_batch_command)(void *camera_handle, camera_batch_command_control_s *batch_command, uint64_t *error_command);
+ /**< Set preview callback for extra stream */
int (*set_extra_preview_frame_cb)(void *camera_handle, hal_camera_extra_preview_frame_cb callback, void *user_data);
+ /**< Unset preview callback for extra stream */
int (*unset_extra_preview_frame_cb)(void *camera_handle);
+ /**< Release preview buffer for extra stream */
int (*release_extra_preview_buffer)(void *camera_handle, int stream_id, int buffer_index);
+ /**< Set format for extra preview stream */
int (*set_extra_preview_stream_format)(void *camera_handle, int stream_id, camera_format_s *format);
+ /**< Get format for extra preview stream */
int (*get_extra_preview_stream_format)(void *camera_handle, int stream_id, camera_format_s *format);
+ /**< Set bitrate for extra preview stream */
int (*set_extra_preview_bitrate)(void *camera_handle, int stream_id, int bitrate);
+ /**< Get bitrate for extra preview stream */
int (*get_extra_preview_bitrate)(void *camera_handle, int stream_id, int *bitrate);
+ /**< Set GOP(Group Of Pictures) interval for extra preview stream */
int (*set_extra_preview_gop_interval)(void *camera_handle, int stream_id, int interval);
+ /**< Get GOP(Group Of Pictures) interval for extra preview stream */
int (*get_extra_preview_gop_interval)(void *camera_handle, int stream_id, int *interval);
+ /**< Get list of device capability (@since HAL_MODULE_CAMERA 1.1) */
int (*get_device_capability_list)(camera_device_capability_list_s *device_capability_list);
} hal_backend_camera_funcs;
/**
* @file hal-camera.h
* @brief This file contains the Tizen camera HAL API, related structures and enumerations.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
*/
/**
/**
* @brief Initializes new handle of camera HAL.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] hal_name A name of library for HAL implementation
* @param[out] camera_handle A newly returned handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Deinitializes handle of camera HAL.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Gets the device list of camera.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[out] device_info_list The list of the camera device information
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Opens camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] device_index The device index of the camera
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Opens camera device with device name.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] device_name The device name of the camera
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Closes camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Registers a callback function to be called to send a message by camera HAL.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] callback The callback function to be registered
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Unregisters a callback function.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] cb_id The callback id
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Sets the format of the preview stream.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks This function should be called before previewing (see camera_start_preview()).
* @param[in] camera_handle The handle to the camera HAL
* @param[in] format The format of the preview stream
/**
* @brief Gets the format of the preview stream.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[out] format The format of the preview stream
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Sets the buffer fd from user for preview buffer.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] fds The array of buffer fd
* @param[in] number The number of buffer
/**
* @brief Starts preview frames on the screen.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] callback The callback for preview frame
* @param[in] user_data The user data for callback
/**
* @brief Release the preview buffer.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks The preview buffer should be released with this function after use it.
* @param[in] camera_handle The handle to the camera HAL
* @param[in] buffer_index The index of preview buffer
/**
* @brief Stops preview frames.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Sets the format of the extra preview stream.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
* @param[in] format The format of the extra preview stream
/**
* @brief Gets the format of the extra preview stream.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
* @param[out] format The format of the extra preview stream
/**
* @brief Sets the bitrate of the extra preview.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
* @param[in] bitrate The bitrate(bps) of the extra preview
/**
* @brief Gets the bitrate of the extra preview.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
* @param[out] bitrate The bitrate(bps) of the extra preview
/**
* @brief Sets the GOP (Group Of Pictures) interval of the extra preview.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
* @param[in] interval The GOP interval(millisecond) of the extra preview
/**
* @brief Gets the GOP (Group Of Pictures) interval of the extra preview.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
* @param[out] interval The GOP interval(millisecond) of the extra preview
/**
* @brief Sets a callback function to be called for extra preview frames.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] callback The callback for extra preview frame
* @param[in] user_data The user data for callback
/**
* @brief Unsets the callback function.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Release the extra preview buffer.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks The extra preview buffer should be released with this function after use it.
* @param[in] camera_handle The handle to the camera HAL
* @param[in] stream_id The id of extra preview stream
/**
* @brief Starts camera auto focusing operation.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Stops camera auto focusing operation.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Starts capturing of still images.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks In case of zero shutter lag capture, preview frame won't be stopped while capturing.
* @param[in] camera_handle The handle to the camera HAL
* @param[in] callback The callback for captured data
/**
* @brief Stops capturing of still images.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks In case of zero shutter lag, this function will changes only the state of camera HAL \n
* from #CAMERA_STATE_PREVIEWING or #CAMERA_STATE_RECORDING to #CAMERA_STATE_PREVIEWING or #CAMERA_STATE_RECORDING.\n
* Otherwise, preview frame will be restarted.
/**
* @brief Sets the format of the video stream for recording.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks This function should be called before recording (see camera_start_record()).
* @param[in] camera_handle The handle to the camera HAL
* @param[in] format The format of the video stream
/**
* @brief Gets the format of the video stream for recording.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[out] format The format of the video stream
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Starts the video frame for recording.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] callback The callback for video frame
* @param[in] user_data The user data for callback
/**
* @brief Release the video buffer.
* @remarks The video buffer should be released with this function after use it.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] buffer_index The index of video buffer
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Stops the video frame.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @return @c 0 on success, otherwise a negative error value
* @retval #CAMERA_ERROR_NONE Successful
/**
* @brief Sets the various command and value to control camera device.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] command The command to control the camera device
* @param[in] value The value to set
* @retval #CAMERA_ERROR_NOT_IMPLEMENTED The feature is not implemented
* @see hal_camera_get_command()
*/
-int hal_camera_set_command(void *camera_handle, int64_t command, void *value);
+int hal_camera_set_command(void *camera_handle, camera_command_e command, void *value);
/**
* @brief Gets the current value of command.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @param[in] camera_handle The handle to the camera HAL
* @param[in] command The command to control the camera device
* @param[out] value The value to get
* @retval #CAMERA_ERROR_NOT_IMPLEMENTED The feature is not implemented
* @see hal_camera_get_command()
*/
-int hal_camera_get_command(void *camera_handle, int64_t command, void **value);
+int hal_camera_get_command(void *camera_handle, camera_command_e command, void **value);
/**
* @brief Sets a set of commands.
- * @since_tizen 6.5
+ * @since HAL_MODULE_CAMERA 1.0
* @remarks error_command will be set if error is returned from the function.
* @param[in] camera_handle The handle to the camera HAL
* @param[in] batch_command The batch command to set
* @see hal_camera_set_command()
* @see hal_camera_get_command()
*/
-int hal_camera_set_batch_command(void *camera_handle, camera_batch_command_control_s *batch_command, int64_t *error_command);
+int hal_camera_set_batch_command(void *camera_handle, camera_batch_command_control_s *batch_command, camera_command_e *error_command);
/**
* @brief Gets the device capability list of camera.
- * @since_tizen 9.0
+ * @since HAL_MODULE_CAMERA 1.1
* @param[in] camera_handle The handle to the camera HAL
* @param[out] device_capability_list The list of the camera device capability
* @return @c 0 on success, otherwise a negative error value