Tizen Native API  4.0
Image Util Transform

The Image Util Transform APIs provides functions for transfroming of images .

Required Header

#include <image_util.h>

Overview

Image Util API provides support for transforming of images. The API allows :

The API allows to transform(Colorspace conversion/Resize/Rotate/Crop) including convert the colorspace(image_util_colorspace_e) of an image by calling image_util_transform_run() function.

Functions

int image_util_transform_create (transformation_h *handle)
 Creates a handle to image util transform.
int image_util_transform_set_hardware_acceleration (transformation_h handle, bool mode)
 Sets the image util's accurate mode.
int image_util_transform_set_colorspace (transformation_h handle, image_util_colorspace_e colorspace)
 Sets the information of the converting.
int image_util_transform_set_resolution (transformation_h handle, unsigned int width, unsigned int height)
 Sets the information of the resizing.
int image_util_transform_set_rotation (transformation_h handle, image_util_rotation_e rotation)
 Sets the information of the rotating.
int image_util_transform_set_crop_area (transformation_h handle, unsigned int start_x, unsigned int start_y, unsigned int end_x, unsigned int end_y)
 Sets the information of the cropping.
int image_util_transform_get_colorspace (transformation_h handle, image_util_colorspace_e *colorspace)
 Gets the colorspace of the image buffer.
int image_util_transform_get_resolution (transformation_h handle, unsigned int *width, unsigned int *height)
 Gets the resolution of the image buffer.
int image_util_transform_get_rotation (transformation_h handle, image_util_rotation_e *rotation)
 Gets the information of the rotating.
int image_util_transform_get_crop_area (transformation_h handle, unsigned int *start_x, unsigned int *start_y, unsigned int *end_x, unsigned int *end_y)
 Gets the information of the cropping.
int image_util_transform_run (transformation_h handle, media_packet_h src, image_util_transform_completed_cb callback, void *user_data)
 Transforms the image for given image util handle.
int image_util_transform_destroy (transformation_h handle)
 Destroys a handle to image util.

Typedefs

typedef struct transformation_s * transformation_h
 Image util handle.
typedef void(* image_util_transform_completed_cb )(media_packet_h *dst, int error_code, void *user_data)
 Called when transform is finished just before returning the output.

Typedef Documentation

typedef void(* image_util_transform_completed_cb)(media_packet_h *dst, int error_code, void *user_data)

Called when transform is finished just before returning the output.

Since :
2.3
Remarks:
The dst should be released using media_packet_destroy().
The callback is called in a separate thread(not in the main loop).
Parameters:
[in,out]dstThe result buffer of image util transform
[in]error_codeThe error code of image util transfrom
[in]user_dataThe user data passed from the callback registration function
Precondition:
image_util_transform_run() will invoke this function.
typedef struct transformation_s* transformation_h

Image util handle.

Since :
2.3

Enumeration Type Documentation

Enumeration for rotation.

Since :
2.3
Enumerator:
IMAGE_UTIL_ROTATION_NONE 

None

IMAGE_UTIL_ROTATION_90 

Rotation 90 degree

IMAGE_UTIL_ROTATION_180 

Rotation 180 degree

IMAGE_UTIL_ROTATION_270 

Rotation 270 degree

IMAGE_UTIL_ROTATION_FLIP_HORZ 

Flip horizontal

IMAGE_UTIL_ROTATION_FLIP_VERT 

Flip vertical


Function Documentation

Creates a handle to image util transform.

This function creates a handle to image util transform.

Since :
2.3
Remarks:
The handle should be released using image_util_transform_destroy().
Parameters:
[out]handleA handle to image util transform
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_OUT_OF_MEMORYOut of memory
See also:
image_util_transform_destroy()

Destroys a handle to image util.

The function frees all resources related to the image util handle. The image util handle no longer can be used to perform any operation. A new image util handle has to be created before the next usage.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
See also:
image_util_transform_create()

Gets the colorspace of the image buffer.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]colorspaceThe colorspace of the image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMATNot supported format
Precondition:
image_util_transform_create().
image_util_transform_set_crop_area().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_get_crop_area ( transformation_h  handle,
unsigned int *  start_x,
unsigned int *  start_y,
unsigned int *  end_x,
unsigned int *  end_y 
)

Gets the information of the cropping.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]start_xThe start x position of cropped source image buffer
[in,out]start_yThe start y position of cropped source image buffer
[in,out]end_xThe end x position of cropped source image buffer
[in,out]end_yThe end y position of cropped source image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
Precondition:
image_util_transform_create().
image_util_transform_set_crop_area().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_get_resolution ( transformation_h  handle,
unsigned int *  width,
unsigned int *  height 
)

Gets the resolution of the image buffer.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]widthThe width of source image buffer
[in,out]heightThe height of source image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
Precondition:
image_util_transform_create().
image_util_transform_set_resolution().
See also:
image_util_transform_create()
image_util_transform_destroy()

Gets the information of the rotating.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]rotationThe rotation value of image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
Precondition:
image_util_transform_create().
image_util_transform_set_rotation().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_run ( transformation_h  handle,
media_packet_h  src,
image_util_transform_completed_cb  callback,
void *  user_data 
)

Transforms the image for given image util handle.

The function execute asynchronously, which contains complete callback
If you set more than two transforming, the order of running is crop or resolution, colorspace converting, rotation.

Since :
2.3
Remarks:
If H/W acceleration is not set, transformation is done via S/W acceleration.
Parameters:
[in]handleThe handle of transform
[in]srcThe handle to image util transform
[in]callbackThe callback function to be invoked
[in]user_dataThe user data to be passed to the callback function
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
See also:
image_util_transform_create()
image_util_transform_set_hardware_acceleration
image_util_transform_destroy()

Sets the information of the converting.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in]colorspaceThe colorspace of the image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMATNot supported format
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()
int image_util_transform_set_crop_area ( transformation_h  handle,
unsigned int  start_x,
unsigned int  start_y,
unsigned int  end_x,
unsigned int  end_y 
)

Sets the information of the cropping.

Since :
2.3
Remarks:
image_util_transform_set_resolution and image_util_transform_set_crop_area can't do that at the same time.
Parameters:
[in]handleThe handle to image util transform
[in]start_xThe start x position of cropped image buffer
[in]start_yThe start y position of cropped image buffer
[in]end_xThe end x position of cropped image buffer
[in]end_yThe end y position of cropped image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()

Sets the image util's accurate mode.

This function set if you use hardware acceleration or not.

Since :
2.3
Remarks:
The value returned will be IMAGE_UTIL_ERROR_NOT_SUPPORTED, if H/W acceleration doesn't support on the device.
Parameters:
[in]handleThe handle to image util
[in]modeSet true, user can use the hardware acceleration
otherwise set false if user can only software image processing
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_NOT_SUPPORTEDThe application does not have the hardware acceleration
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_set_resolution ( transformation_h  handle,
unsigned int  width,
unsigned int  height 
)

Sets the information of the resizing.

Since :
2.3
Remarks:
image_util_transform_set_resolution and image_util_transform_set_crop_area can't do that at the same time.
Parameters:
[in]handleThe handle to image util transform
[in]widthThe width of image buffer
[in]heightThe height of image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()

Sets the information of the rotating.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in]rotationThe rotation value of image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()