#include "mm_util_private.h"
#include "mm_util_magick.h"
+
static bool __mm_util_check_rotation(mm_util_rotate_type_e rotation);
static void __mm_util_magick_fatal_error_handler(const ExceptionType excep, const char *reason, const char *message) MAGICK_FUNC_NORETURN;
}
}
-static Image * __mm_util_constitute_image(mm_util_image_h handle)
+static int __mm_util_constitute_image(mm_util_image_h handle, Image **image)
{
+ int ret = MM_UTIL_ERROR_NONE;
mm_image_info_s *_handle = (mm_image_info_s*)handle;
const char *map = NULL;
Image *_image = NULL;
mm_util_fenter();
- mm_util_retvm_if(!handle, NULL, "invalid handle");
+ mm_util_retvm_if(!handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid handle");
+ mm_util_retvm_if(!image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
map = __mm_util_get_map(_handle->color);
- mm_util_retvm_if(!map, NULL, "fail to get map");
+ mm_util_retvm_if(!map, MM_UTIL_ERROR_INVALID_PARAMETER, "fail to get map");
GetExceptionInfo(&exception);
/* Read image from buffer */
_image = ConstituteImage(_handle->width, _handle->height, map, CharPixel, _handle->data, &exception);
- if (_image == NULL) {
+ if (_image) {
+ *image = _image;
+ } else {
mm_util_error("Error: Getting Image failed.");
if (exception.severity != UndefinedException)
CatchException(&exception);
+ ret = MM_UTIL_ERROR_INVALID_OPERATION;
}
DestroyExceptionInfo(&exception);
mm_util_fleave();
- return _image;
+ return ret;
}
-static Image * __mm_util_rotate_image(Image *image, mm_util_rotate_type_e rotation)
+static int __mm_util_rotate_image(Image *image, mm_util_rotate_type_e rotation, Image **rotated_image)
{
+ int ret = MM_UTIL_ERROR_NONE;
Image *_processed_image = NULL;
ExceptionInfo exception;
mm_util_fenter();
- mm_util_retvm_if(image == NULL, NULL, "invalid image");
+ mm_util_retvm_if(!image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
+ mm_util_retvm_if(!__mm_util_check_rotation(rotation), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid rotation [%d]", rotation);
+ mm_util_retvm_if(!rotated_image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid rotated_image");
GetExceptionInfo(&exception);
break;
}
- if (_processed_image == NULL) {
+ if (_processed_image) {
+ *rotated_image = _processed_image;
+ } else {
mm_util_error("Error: Image processing failed.");
if (exception.severity != UndefinedException)
CatchException(&exception);
+ ret = MM_UTIL_ERROR_INVALID_OPERATION;
}
DestroyExceptionInfo(&exception);
mm_util_fleave();
- return _processed_image;
+ return ret;
}
-static Image * __mm_util_resize_image(Image *image, unsigned int width, unsigned int height)
+static int __mm_util_resize_image(Image *image, unsigned int width, unsigned int height, Image **resized_image)
{
+ int ret = MM_UTIL_ERROR_NONE;
Image *_processed_image = NULL;
Image *_sampled_image = NULL;
ExceptionInfo exception;
mm_util_fenter();
- mm_util_retvm_if(image == NULL, NULL, "invalid image");
+ mm_util_retvm_if(!image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
+ mm_util_retvm_if(width == 0 || height == 0, MM_UTIL_ERROR_INVALID_PARAMETER,
+ "invalid request[%u * %u]", width, height);
+ mm_util_retvm_if((image->columns < width) || (image->rows < height), MM_UTIL_ERROR_INVALID_PARAMETER,
+ "request[%u * %u] is larger than image [%lu * %lu]", width, height, image->columns, image->rows);
+ mm_util_retvm_if(!resized_image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid resized_image");
GetExceptionInfo(&exception);
else
_processed_image = ScaleImage(image, width, height, &exception);
- if (_processed_image == NULL) {
+ if (_processed_image) {
+ *resized_image = _processed_image;
+ } else {
mm_util_error("Error: Resizing Image failed.");
if (exception.severity != UndefinedException)
CatchException(&exception);
+ ret = MM_UTIL_ERROR_INVALID_OPERATION;
}
DestroyImageList(_sampled_image);
mm_util_fleave();
- return _processed_image;
+ return ret;
}
-static Image * __mm_util_read_image_from_file(const char *path)
+static Image * __mm_util_read_image(ImageInfo *image_info)
{
- ImageInfo *_image_info = NULL;
Image *_image = NULL;
ExceptionInfo exception;
mm_util_fenter();
- mm_util_retvm_if(!MMUTIL_STRING_VALID(path), NULL, "invalid path");
+ mm_util_retvm_if(!image_info, NULL, "invalid image_info");
GetExceptionInfo(&exception);
- _image_info = CloneImageInfo(0);
- mm_util_retvm_if(!_image_info, NULL, "Error: CloneImageInfo failed.");
- g_strlcpy(_image_info->filename, path, sizeof(_image_info->filename));
-
- AddDefinition(_image_info, "jpeg", "dct-method", "FASTEST", &exception);
- AddDefinition(_image_info, "jpeg", "block-smoothing", "FALSE", &exception);
- AddDefinition(_image_info, "jpeg", "fancy-upsampling", "FALSE", &exception);
-
- _image = ReadImage(_image_info, &exception);
+ AddDefinition(image_info, "jpeg", "dct-method", "FASTEST", &exception);
+ AddDefinition(image_info, "jpeg", "block-smoothing", "FALSE", &exception);
+ AddDefinition(image_info, "jpeg", "fancy-upsampling", "FALSE", &exception);
- if (_image == NULL) {
+ _image = ReadImage(image_info, &exception);
+ if (!_image) {
mm_util_error("Error: Reading Image failed.");
if (exception.severity != UndefinedException)
CatchException(&exception);
}
- DestroyImageInfo(_image_info);
DestroyExceptionInfo(&exception);
mm_util_fleave();
return _image;
}
-static Image * __mm_util_read_image_from_buffer(const void *buf, size_t buf_size)
+static int __mm_util_read_image_from_file(const char *path, Image **image)
{
ImageInfo *_image_info = NULL;
Image *_image = NULL;
- ExceptionInfo exception;
mm_util_fenter();
- mm_util_retvm_if(!buf, NULL, "invalid buf");
- mm_util_retvm_if(buf_size == 0, NULL, "invalid buf_size");
-
- GetExceptionInfo(&exception);
+ mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path");
+ mm_util_retvm_if(!image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
_image_info = CloneImageInfo(0);
- mm_util_retvm_if(!_image_info, NULL, "Error: CloneImageInfo failed.");
- _image_info->blob = (void *)buf;
- _image_info->length = buf_size;
+ mm_util_retvm_if(!_image_info, MM_UTIL_ERROR_INVALID_OPERATION, "Error: CloneImageInfo failed.");
+ g_strlcpy(_image_info->filename, path, sizeof(_image_info->filename));
- AddDefinition(_image_info, "jpeg", "dct-method", "FASTEST", &exception);
- AddDefinition(_image_info, "jpeg", "block-smoothing", "FALSE", &exception);
- AddDefinition(_image_info, "jpeg", "fancy-upsampling", "FALSE", &exception);
+ _image = __mm_util_read_image(_image_info);
+ DestroyImageInfo(_image_info);
+ if (!_image) {
+ mm_util_error("Error: __mm_util_read_image failed.");
+ return MM_UTIL_ERROR_INVALID_OPERATION;
+ }
+ *image = _image;
- _image = ReadImage(_image_info, &exception);
+ mm_util_fleave();
- if (_image == NULL) {
- mm_util_error("Error: Reading Image failed.");
- if (exception.severity != UndefinedException)
- CatchException(&exception);
- }
+ return MM_UTIL_ERROR_NONE;
+}
+
+static int __mm_util_read_image_from_buffer(const void *buf, size_t buf_size, Image **image)
+{
+ ImageInfo *_image_info = NULL;
+ Image *_image = NULL;
+
+ mm_util_fenter();
+
+ mm_util_retvm_if(!buf, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf");
+ mm_util_retvm_if(buf_size == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf_size");
+ mm_util_retvm_if(!image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
+
+ _image_info = CloneImageInfo(0);
+ mm_util_retvm_if(!_image_info, MM_UTIL_ERROR_INVALID_OPERATION, "Error: CloneImageInfo failed.");
+ _image_info->blob = (void *)buf;
+ _image_info->length = buf_size;
+ _image = __mm_util_read_image(_image_info);
DestroyImageInfo(_image_info);
- DestroyExceptionInfo(&exception);
+ if (!_image) {
+ mm_util_error("Error: __mm_util_read_image failed.");
+ return MM_UTIL_ERROR_INVALID_OPERATION;
+ }
+ *image = _image;
mm_util_fleave();
- return _image;
+ return MM_UTIL_ERROR_NONE;
}
static int __mm_util_write_image_to_file(Image *image, mm_util_enc_opt_t *option, const char *out_path)
mm_util_fenter();
- mm_util_retvm_if(image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
+ mm_util_retvm_if(!image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid image");
mm_util_retvm_if(!MMUTIL_STRING_VALID(out_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid out_path");
GetExceptionInfo(&exception);
_image_info = CloneImageInfo(0);
- mm_util_retvm_if(_image_info == NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Error: CloneImageInfo failed.");
+ mm_util_retvm_if(!_image_info, MM_UTIL_ERROR_INVALID_OPERATION, "Error: CloneImageInfo failed.");
SAFE_STRLCPY(image->filename, out_path, sizeof(image->filename));
- image->filename[MaxTextExtent-1] = '\0';
DeleteImageProfile(image, "EXIF");
DeleteImageProfile(image, "8BIM");
pixels_size = sizeof(unsigned char) * strlen(map) * width * height;
pixels = MagickMalloc(pixels_size);
- if (pixels == NULL) {
+ if (!pixels) {
mm_util_error("Error: MagickMalloc failed.");
ret = MM_UTIL_ERROR_OUT_OF_MEMORY;
- goto ERROR;
+ goto END;
}
ret = DispatchImage(image, 0, 0, width, height, map, CharPixel, pixels, &exception);
MagickFree(pixels);
ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = mm_image_create_image(width, height, format, pixels, pixels_size, dispatched_image);
MagickFree(pixels);
-ERROR:
+END:
DestroyExceptionInfo(&exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!src_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_handle");
- mm_util_retvm_if(!__mm_util_check_rotation(rotation), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid rotation [%d]", rotation);
- mm_util_retvm_if(!dst_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_handle");
-
mm_util_debug("rotation [%d]", rotation);
__mm_util_init(&exception);
- _image = __mm_util_constitute_image(src_handle);
- if (_image == NULL) {
+ ret = __mm_util_constitute_image(src_handle, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_constitute_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- _processed_image = __mm_util_rotate_image(_image, rotation);
- if (_processed_image == NULL) {
+ ret = __mm_util_rotate_image(_image, rotation, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_rotate_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_dispatch_image(_processed_image, _src_handle->color, dst_handle);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!src_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_handle");
- mm_util_retvm_if(!__mm_util_check_rotation(rotation), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid rotation [%d]", rotation);
- mm_util_retvm_if(!MMUTIL_STRING_VALID(dst_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_path");
-
mm_util_sec_debug("rotation [%d] dst_path [%s]", rotation, dst_path);
__mm_util_init(&exception);
- _image = __mm_util_constitute_image(src_handle);
- if (_image == NULL) {
+ ret = __mm_util_constitute_image(src_handle, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_constitute_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- _processed_image = __mm_util_rotate_image(_image, rotation);
- if (_processed_image == NULL) {
+ ret = __mm_util_rotate_image(_image, rotation, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_rotate_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_write_image_to_file(_processed_image, NULL, dst_path);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!MMUTIL_STRING_VALID(src_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_path");
- mm_util_retvm_if(!__mm_util_check_rotation(rotation), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid rotation [%d]", rotation);
- mm_util_retvm_if(!dst_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_handle");
-
mm_util_sec_debug("src_path [%s] rotation [%d] req_format [%d]", src_path, rotation, req_format);
__mm_util_init(&exception);
- _image = __mm_util_read_image_from_file(src_path);
- if (_image == NULL) {
+ ret = __mm_util_read_image_from_file(src_path, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- _processed_image = __mm_util_rotate_image(_image, rotation);
- if (_processed_image == NULL) {
+ ret = __mm_util_rotate_image(_image, rotation, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_rotate_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_dispatch_image(_processed_image, req_format, dst_handle);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!MMUTIL_STRING_VALID(src_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_path");
- mm_util_retvm_if(!__mm_util_check_rotation(rotation), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid rotation [%d]", rotation);
- mm_util_retvm_if(!MMUTIL_STRING_VALID(dst_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_path");
-
- mm_util_sec_debug("src_path [%s] rotation [%d] dst_path [%s]", src_path, rotation, dst_path);
-
__mm_util_init(&exception);
- _image = __mm_util_read_image_from_file(src_path);
- if (_image == NULL) {
+ ret = __mm_util_read_image_from_file(src_path, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- _processed_image = __mm_util_rotate_image(_image, rotation);
- if (_processed_image == NULL) {
+ ret = __mm_util_rotate_image(_image, rotation, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_rotate_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_write_image_to_file(_processed_image, NULL, dst_path);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!src_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_handle");
- mm_util_retvm_if((req_width == 0) || (req_height == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid size W[%d] H[%d]", req_width, req_height);
- mm_util_retvm_if(!dst_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_handle");
-
mm_util_debug("req_width [%u] req_height [%u]", req_width, req_height);
__mm_util_init(&exception);
- _image = __mm_util_constitute_image(src_handle);
- if (_image == NULL) {
+ ret = __mm_util_constitute_image(src_handle, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_constitute_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
- }
-
- if ((_image->columns < req_width) || (_image->rows < req_height)) {
- mm_util_error("Wrong Size. image [%lu * %lu], request [%u * %u]", _image->columns, _image->rows, req_width, req_height);
- ret = MM_UTIL_ERROR_INVALID_PARAMETER;
- goto ERROR;
+ goto END;
}
- _processed_image = __mm_util_resize_image(_image, req_width, req_height);
- if (_processed_image == NULL) {
+ ret = __mm_util_resize_image(_image, req_width, req_height, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_resize_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_dispatch_image(_processed_image, _src_handle->color, dst_handle);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!src_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_handle");
- mm_util_retvm_if((req_width == 0) || (req_height == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid size W[%d] H[%d]", req_width, req_height);
- mm_util_retvm_if(!MMUTIL_STRING_VALID(dst_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_path");
-
mm_util_sec_debug("req_width [%u] req_height [%u] dst_path [%s]", req_width, req_height, dst_path);
__mm_util_init(&exception);
- _image = __mm_util_constitute_image(src_handle);
- if (_image == NULL) {
+ ret = __mm_util_constitute_image(src_handle, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_constitute_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- if ((_image->columns < req_width) || (_image->rows < req_height)) {
- mm_util_error("Wrong Size. image [%lu * %lu], request [%u * %u]", _image->columns, _image->rows, req_width, req_height);
- ret = MM_UTIL_ERROR_INVALID_PARAMETER;
- goto ERROR;
- }
-
- _processed_image = __mm_util_resize_image(_image, req_width, req_height);
- if (_processed_image == NULL) {
+ ret = __mm_util_resize_image(_image, req_width, req_height, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_resize_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_write_image_to_file(_processed_image, NULL, dst_path);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!MMUTIL_STRING_VALID(src_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_path");
- mm_util_retvm_if((req_width == 0) || (req_height == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid size W[%d] H[%d]", req_width, req_height);
- mm_util_retvm_if(!dst_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_handle");
-
mm_util_sec_debug("src_path [%s] req_width [%u] req_height [%u]", src_path, req_width, req_height);
__mm_util_init(&exception);
- _image = __mm_util_read_image_from_file(src_path);
- if (_image == NULL) {
+ ret = __mm_util_read_image_from_file(src_path, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
- }
-
- if ((_image->columns < req_width) || (_image->rows < req_height)) {
- mm_util_error("Wrong Size. image [%lu * %lu], request [%u * %u]", _image->columns, _image->rows, req_width, req_height);
- ret = MM_UTIL_ERROR_INVALID_PARAMETER;
- goto ERROR;
+ goto END;
}
- _processed_image = __mm_util_resize_image(_image, req_width, req_height);
- if (_processed_image == NULL) {
+ ret = __mm_util_resize_image(_image, req_width, req_height, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_resize_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_dispatch_image(_processed_image, req_format, dst_handle);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_processed_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!MMUTIL_STRING_VALID(src_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_path");
- mm_util_retvm_if((req_width == 0) || (req_height == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid size W[%d] H[%d]", req_width, req_height);
- mm_util_retvm_if(!MMUTIL_STRING_VALID(dst_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_path");
-
mm_util_sec_debug("src_path [%s] req_width [%u] req_height [%u] dst_path [%s]", src_path, req_width, req_height, dst_path);
__mm_util_init(&exception);
- _image = __mm_util_read_image_from_file(src_path);
- if (_image == NULL) {
+ ret = __mm_util_read_image_from_file(src_path, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- if ((_image->columns < req_width) || (_image->rows < req_height)) {
- mm_util_error("Wrong Size. image [%lu * %lu], request [%u * %u]", _image->columns, _image->rows, req_width, req_height);
- ret = MM_UTIL_ERROR_INVALID_PARAMETER;
- goto ERROR;
- }
-
- _processed_image = __mm_util_resize_image(_image, req_width, req_height);
- if (_processed_image == NULL) {
+ ret = __mm_util_resize_image(_image, req_width, req_height, &_processed_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_resize_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_write_image_to_file(_processed_image, NULL, dst_path);
-ERROR:
+END:
__mm_util_finalize(_image, _processed_image, &exception);
Image *_image = NULL;
ExceptionInfo exception;
- mm_util_retvm_if(!src_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_handle");
- mm_util_retvm_if(!dst_handle, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_handle");
-
mm_util_debug("input format [%d] req_format [%d]", _src_handle->color, req_format);
__mm_util_init(&exception);
- _image = __mm_util_constitute_image(src_handle);
- if (_image == NULL) {
+ ret = __mm_util_constitute_image(src_handle, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_constitute_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_dispatch_image(_image, req_format, dst_handle);
-ERROR:
+END:
__mm_util_finalize(_image, NULL, &exception);
int ret = MM_UTIL_ERROR_NONE;
Image *_image = NULL;
- mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path");
- mm_util_retvm_if(!decoded_image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid decoded_image");
-
mm_util_sec_debug("path [%s] format [%d]", path, format);
__mm_util_init(NULL);
- _image = __mm_util_read_image_from_file(path);
- if (_image == NULL) {
+ ret = __mm_util_read_image_from_file(path, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_dispatch_image(_image, format, decoded_image);
-ERROR:
+END:
__mm_util_finalize(_image, NULL, NULL);
int ret = MM_UTIL_ERROR_NONE;
Image *_image = NULL;
- mm_util_retvm_if(!buf, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf");
- mm_util_retvm_if(buf_size == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf_size");
- mm_util_retvm_if(!decoded_image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid decoded_image");
-
mm_util_sec_debug("path [%p] buf_size [%zu] format [%d]", buf, buf_size, format);
__mm_util_init(NULL);
- _image = __mm_util_read_image_from_buffer(buf, buf_size);
- if (_image == NULL) {
- mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ ret = __mm_util_read_image_from_buffer(buf, buf_size, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("Error: __mm_util_read_image_from_buffer failed.");
+ goto END;
}
ret = __mm_util_dispatch_image(_image, format, decoded_image);
-ERROR:
+END:
__mm_util_finalize(_image, NULL, NULL);
mm_util_image_h converted_image = NULL, source = NULL;
mm_util_enc_opt_t *_opt = (mm_util_enc_opt_t *)opt;
- mm_util_retvm_if(!decoded_image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid decoded_image");
mm_util_retvm_if(!_opt, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid opt");
- mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path");
mm_util_sec_debug("path [%s]", path);
ret = mm_util_convert_B_B(decoded_image, MM_UTIL_COLOR_RGB24, &converted_image);
if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: mm_util_convert_B_B failed.");
- goto ERROR;
+ goto END;
}
}
}
__mm_util_init(NULL);
- _image = __mm_util_constitute_image(source);
- if (_image == NULL) {
+ ret = __mm_util_constitute_image(source, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_constitute_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
ret = __mm_util_write_image_to_file(_image, _opt, path);
-ERROR:
+END:
__mm_util_finalize(_image, NULL, NULL);
int ret = MM_UTIL_ERROR_NONE;
char *tmp_file = NULL;
- mm_util_retvm_if(!decoded_image, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid decoded_image");
mm_util_retvm_if(!opt, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid opt");
- mm_util_retvm_if(!buf, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf");
- mm_util_retvm_if(buf_size == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf_size");
ret = __mm_util_make_tmp_file(((mm_util_enc_opt_t *)opt)->codec, &tmp_file);
mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "Error: __mm_util_make_tmp_file failed.");
ret = mm_util_encode_image_to_file(decoded_image, opt, tmp_file);
if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: mm_util_encode_image_P failed.");
- goto ERROR;
+ goto END;
}
ret = mm_util_file_read(tmp_file, buf, buf_size);
if (ret != MM_UTIL_ERROR_NONE)
mm_util_error("Error: mm_util_file_read failed.");
-ERROR:
+END:
if (g_remove(tmp_file) != 0)
mm_util_sec_debug("Temporary file was not removed [%s]", tmp_file);
ExceptionInfo exception;
mm_util_rotate_type_e rotation = MM_UTIL_ROTATE_0;
- mm_util_retvm_if(!MMUTIL_STRING_VALID(src_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid src_path");
- mm_util_retvm_if((req_width == 0) || (req_height == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid size W[%d] H[%d]", req_width, req_height);
- mm_util_retvm_if(!MMUTIL_STRING_VALID(dst_path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid dst_path");
-
mm_util_sec_debug("src_path [%s] req_width [%u] req_height [%u] dst_path [%s]", src_path, req_width, req_height, dst_path);
__mm_util_init(&exception);
- _image = __mm_util_read_image_from_file(src_path);
- if (_image == NULL) {
+ ret = __mm_util_read_image_from_file(src_path, &_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_read_image_from_file failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
- if ((_image->columns < req_width) || (_image->rows < req_height)) {
- mm_util_error("Wrong Size. image [%lu * %lu], request [%u * %u]", _image->columns, _image->rows, req_width, req_height);
- ret = MM_UTIL_ERROR_INVALID_PARAMETER;
- goto ERROR;
- }
-
- _resized_image = __mm_util_resize_image(_image, req_width, req_height);
- if (_resized_image == NULL) {
+ ret = __mm_util_resize_image(_image, req_width, req_height, &_resized_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
mm_util_error("Error: __mm_util_resize_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ goto END;
}
switch(_resized_image->orientation) {
}
if (rotation != MM_UTIL_ROTATE_0) {
- _rotated_image = __mm_util_rotate_image(_resized_image, rotation);
- if (_rotated_image == NULL) {
- mm_util_error("Error: __mm_util_resize_image failed.");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
+ ret = __mm_util_rotate_image(_image, rotation, &_rotated_image);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("Error: __mm_util_rotate_image failed.");
+ goto END;
}
}
ret = __mm_util_write_image_to_file(_write_image, NULL, dst_path);
-ERROR:
+END:
DestroyImageList(_image);
__mm_util_finalize(_resized_image, _rotated_image, &exception);