handle->image_h = (mm_util_imgp_h) _handle;
handle->colorspace = IMAGE_UTIL_COLORSPACE_RGBA8888;
- handle->down_scale = sizeof(image_util_scale_e);
+ handle->down_scale = IMAGE_UTIL_DOWNSCALE_1_1;
return IMAGE_UTIL_ERROR_NONE;
}
int image_util_decode_create(image_util_decode_h * handle)
{
- image_util_debug("image_util_decode_create");
+ image_util_fenter();
image_util_retvm_if((handle == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid Handle");
{
mm_util_jpeg_yuv_data *jpeg_data = (mm_util_jpeg_yuv_data *) _handle->image_h;
- if (_handle->path) {
- if (_handle->down_scale < sizeof(image_util_scale_e))
+ if (_handle->path)
err = mm_util_decode_from_jpeg_file_with_downscale(jpeg_data, _handle->path, TYPECAST_COLOR_BY_TYPE(_handle->colorspace, IMAGE_UTIL_JPEG), _convert_decode_scale_tbl[_handle->down_scale]);
- else
- err = mm_util_decode_from_jpeg_file(jpeg_data, _handle->path, TYPECAST_COLOR_BY_TYPE(_handle->colorspace, IMAGE_UTIL_JPEG));
- } else {
- if (_handle->down_scale < sizeof(image_util_scale_e))
+ else
err = mm_util_decode_from_jpeg_memory_with_downscale(jpeg_data, _handle->src_buffer[0], (unsigned int)_handle->src_size, TYPECAST_COLOR_BY_TYPE(_handle->colorspace, IMAGE_UTIL_JPEG), _convert_decode_scale_tbl[_handle->down_scale]);
- else
- err = mm_util_decode_from_jpeg_memory(jpeg_data, _handle->src_buffer[0], (unsigned int)_handle->src_size, TYPECAST_COLOR_BY_TYPE(_handle->colorspace, IMAGE_UTIL_JPEG));
- }
if (err == MM_UTIL_ERROR_NONE) {
*(_handle->dst_buffer) = jpeg_data->data;
image_util_retvm_if((_handle->path == NULL && _handle->src_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid input");
image_util_retvm_if(_handle->dst_buffer == NULL, IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid output");
-
err = _image_util_decode_internal(_handle);
if (err != IMAGE_UTIL_ERROR_NONE) {
int image_util_decode_jpeg(const char *path, image_util_colorspace_e colorspace, unsigned char **image_buffer, int *width, int *height, unsigned int *size)
{
- int err = MM_UTIL_ERROR_NONE;
-
DEPRECATION_LOGW("image_util_decode_jpeg()", "image_util_decode_create()");
- image_util_retvm_if((path == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "path is null");
- image_util_retvm_if((image_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "image_buffer is null");
- image_util_retvm_if((size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "size is null");
- image_util_retvm_if((strlen(path) == 0), IMAGE_UTIL_ERROR_NO_SUCH_FILE, "Invalid path");
- image_util_retvm_if((is_valid_colorspace(colorspace) == FALSE), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace");
- image_util_retvm_if((is_supported_colorspace(colorspace, IMAGE_UTIL_JPEG) == FALSE), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format");
-
- mm_util_jpeg_yuv_data decoded;
- memset(&decoded, 0, sizeof(mm_util_jpeg_yuv_data));
-
- err = mm_util_decode_from_jpeg_file(&decoded, path, TYPECAST_COLOR_BY_TYPE(colorspace, IMAGE_UTIL_JPEG));
- if (err == MM_UTIL_ERROR_NONE) {
- *image_buffer = decoded.data;
- if (width)
- *width = decoded.width;
- if (height)
- *height = decoded.height;
- if (size)
- *size = decoded.size;
- }
- return _image_error_capi(ERR_TYPE_DECODE, err);
+ return image_util_decode_jpeg_with_downscale(path, colorspace, IMAGE_UTIL_DOWNSCALE_1_1, image_buffer, width, height, size);
}
int image_util_decode_jpeg_from_memory(const unsigned char *jpeg_buffer, int jpeg_size, image_util_colorspace_e colorspace, unsigned char **image_buffer, int *width, int *height, unsigned int *size)
{
- int err = MM_UTIL_ERROR_NONE;
-
DEPRECATION_LOGW("image_util_decode_jpeg_from_memory()", "image_util_decode_create()");
- image_util_retvm_if((jpeg_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "jpeg_buffer is null");
- image_util_retvm_if((image_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "image_buffer is null");
- image_util_retvm_if((size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "size is null");
- image_util_retvm_if((is_valid_colorspace(colorspace) == FALSE), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace");
- image_util_retvm_if((is_supported_colorspace(colorspace, IMAGE_UTIL_JPEG) == FALSE), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format");
-
- mm_util_jpeg_yuv_data decoded;
- memset(&decoded, 0, sizeof(mm_util_jpeg_yuv_data));
-
- err = mm_util_decode_from_jpeg_memory(&decoded, (void *)jpeg_buffer, (unsigned int)jpeg_size, TYPECAST_COLOR_BY_TYPE(colorspace, IMAGE_UTIL_JPEG));
-
- if (err == MM_UTIL_ERROR_NONE) {
- *image_buffer = decoded.data;
- if (width)
- *width = decoded.width;
- if (height)
- *height = decoded.height;
- if (size)
- *size = decoded.size;
- }
-
- return _image_error_capi(ERR_TYPE_DECODE, err);
+ return image_util_decode_jpeg_from_memory_with_downscale(jpeg_buffer, jpeg_size, colorspace, IMAGE_UTIL_DOWNSCALE_1_1, image_buffer, width, height, size);
}
int image_util_decode_jpeg_with_downscale(const char *path, image_util_colorspace_e colorspace, image_util_scale_e downscale, unsigned char **image_buffer, int *width, int *height, unsigned int *size)