return format;
}
-static int __create_media_format(media_format_mimetype_e mimetype, unsigned int width, unsigned int height, media_format_h *new_fmt)
+static int __create_media_format(media_format_mimetype_e mimetype, unsigned int width, unsigned int height, media_format_h *format)
{
- int err = MEDIA_FORMAT_ERROR_NONE;
+ int ret = MEDIA_FORMAT_ERROR_NONE;
+ media_format_h new_format = NULL;
- image_util_retvm_if((new_fmt == NULL) || (width == 0) || (height == 0), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ image_util_retvm_if((!format) || (width == 0) || (height == 0), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- err = media_format_create(new_fmt);
- image_util_retvm_if((err != MEDIA_FORMAT_ERROR_NONE), IMAGE_UTIL_ERROR_INVALID_OPERATION, "media_format_make_writable failed (%d)", err);
+ ret = media_format_create(&new_format);
+ image_util_retvm_if((ret != MEDIA_FORMAT_ERROR_NONE), IMAGE_UTIL_ERROR_INVALID_OPERATION, "media_format_make_writable failed (%d)", ret);
- err = media_format_set_video_mime(*new_fmt, mimetype);
- if (err != MEDIA_FORMAT_ERROR_NONE) {
- media_format_unref(*new_fmt);
- image_util_error("media_format_set_video_mime failed (%d)", err);
- return IMAGE_UTIL_ERROR_INVALID_OPERATION;
+ ret = media_format_set_video_mime(new_format, mimetype);
+ if (ret != MEDIA_FORMAT_ERROR_NONE) {
+ image_util_error("media_format_set_video_mime failed (%d)", ret);
+ goto ERROR;
}
- err = media_format_set_video_width(*new_fmt, width);
- if (err != MEDIA_FORMAT_ERROR_NONE) {
- media_format_unref(*new_fmt);
- image_util_error("media_format_set_video_width failed (%d)", err);
- return IMAGE_UTIL_ERROR_INVALID_OPERATION;
+ ret = media_format_set_video_width(new_format, width);
+ if (ret != MEDIA_FORMAT_ERROR_NONE) {
+ image_util_error("media_format_set_video_width failed (%d)", ret);
+ goto ERROR;
}
- err = media_format_set_video_height(*new_fmt, height);
- if (err != MEDIA_FORMAT_ERROR_NONE) {
- media_format_unref(*new_fmt);
- image_util_error("media_format_set_video_height failed (%d)", err);
- return IMAGE_UTIL_ERROR_INVALID_OPERATION;
+ ret = media_format_set_video_height(new_format, height);
+ if (ret != MEDIA_FORMAT_ERROR_NONE) {
+ image_util_error("media_format_set_video_height failed (%d)", ret);
+ goto ERROR;
}
+ *format = new_format;
+
return IMAGE_UTIL_ERROR_NONE;
+
+ERROR:
+ media_format_unref(new_format);
+
+ return IMAGE_UTIL_ERROR_INVALID_OPERATION;
}
static int __create_media_packet(media_format_h fmt, unsigned char *buffer, size_t buffer_size, media_packet_h *packet)
{
int ret = MEDIA_FORMAT_ERROR_NONE;
+ media_packet_h new_packet = NULL;
unsigned int i = 0;
uint32_t plane_num = 0;
int stride_width = 0, stride_height = 0;
image_util_retvm_if(!buffer, IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid pkt_ptr");
image_util_retvm_if(buffer_size == 0, IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid pkt_size");
- ret = media_packet_create_alloc(fmt, NULL, NULL, packet);
- if (ret != MEDIA_PACKET_ERROR_NONE) {
- image_util_error("media_packet_create_from_external_memory failed (%d)", ret);
- return IMAGE_UTIL_ERROR_INVALID_OPERATION;
- }
+ ret = media_packet_create_alloc(fmt, NULL, NULL, &new_packet);
+ image_util_retvm_if((ret != MEDIA_PACKET_ERROR_NONE), IMAGE_UTIL_ERROR_INVALID_OPERATION, "media_packet_create_alloc failed (%d)", ret);
- ret = media_packet_get_number_of_video_planes(*packet, &plane_num);
+ ret = media_packet_get_number_of_video_planes(new_packet, &plane_num);
if (ret != MEDIA_PACKET_ERROR_NONE) {
image_util_error("media_packet_get_number_of_video_plances failed (%d)", ret);
- ret = IMAGE_UTIL_ERROR_INVALID_OPERATION;
goto ERROR;
}
image_util_debug("plane_num: %u", plane_num);
for (i = 0; i < plane_num; i++) {
- ret = media_packet_get_video_stride_width(*packet, i, &stride_width);
+ ret = media_packet_get_video_stride_width(new_packet, i, &stride_width);
if (ret != MEDIA_PACKET_ERROR_NONE) {
image_util_error("media_packet_get_video_stride_width failed (%d)", ret);
- ret = IMAGE_UTIL_ERROR_INVALID_OPERATION;
goto ERROR;
}
- ret = media_packet_get_video_stride_height(*packet, i, &stride_height);
+ ret = media_packet_get_video_stride_height(new_packet, i, &stride_height);
if (ret != MEDIA_PACKET_ERROR_NONE) {
image_util_error("media_packet_get_video_stride_height failed (%d)", ret);
- ret = IMAGE_UTIL_ERROR_INVALID_OPERATION;
goto ERROR;
}
plane_size = stride_width * stride_height;
- ret = media_packet_get_video_plane_data_ptr(*packet, i, &plane_ptr);
+ ret = media_packet_get_video_plane_data_ptr(new_packet, i, &plane_ptr);
if (ret != MEDIA_PACKET_ERROR_NONE) {
image_util_error("media_packet_get_video_plane_data_ptr failed (%d)", ret);
- ret = IMAGE_UTIL_ERROR_INVALID_OPERATION;
goto ERROR;
}
buffer_offset += memcpy_size;
}
- image_util_debug("Success - media_packet is created (%p)", *packet);
+ image_util_debug("Success - media_packet is created (%p)", new_packet);
+
+ *packet = new_packet;
return IMAGE_UTIL_ERROR_NONE;
ERROR:
- if (*packet != NULL)
- media_packet_destroy(*packet);
- *packet = NULL;
+ media_packet_destroy(new_packet);
- return ret;
+ return IMAGE_UTIL_ERROR_INVALID_OPERATION;
}
static int __mm_util_transform(transformation_h handle, image_util_image_h origin, image_util_image_h *transform)
unsigned char *buffer = NULL;
size_t buffer_size = 0;
media_format_h fmt = NULL;
-// void *packet_ptr = NULL;
-// uint64_t packet_size = 0;
-// size_t size = 0;
image_util_fenter();
}
ret = __create_media_packet(fmt, buffer, buffer_size, packet);
- if (ret != MEDIA_PACKET_ERROR_NONE) {
+ if (ret != IMAGE_UTIL_ERROR_NONE) {
image_util_error("__create_media_packet failed (%d)", ret);
media_format_unref(fmt);
IMAGE_UTIL_SAFE_FREE(buffer);