gif_image_s *gif_image = (gif_image_s *)gif_image_h;
mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(left < 0 || top < 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(width <= 0 || height <= 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(left + width > gif_image->width, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(top + height > gif_image->height, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((left < 0) || (top < 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((width <= 0) || (height <= 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((gif_image->width > 0) && (left + width > gif_image->width), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((gif_image->height > 0) && (top + height > gif_image->height), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
mm_util_info("%s l = %d, t = %d, w= %d, h = %d", __func__, left, top, width, height);
gif_image_s *gif_image = (gif_image_s *)gif_image_h;
mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(delay_time == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if(delay_time < 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
mm_util_info("%s mode = %d", __func__, delay_time);
gif_file_s *gif_file = (gif_file_s *)gif_file_h;
mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(width == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(height == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if(width <= 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if(height <= 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
mm_util_retvm_if(gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
mm_util_info("%s w = %d, h = %d", __func__, width, height);
mm_util_fenter();
mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((gif_image->image_desc.Width <= 0) || (gif_image->image_desc.Height <= 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((gif_image->image_desc.Left + gif_image->image_desc.Width > gif_file->width), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if((gif_image->image_desc.Top + gif_image->image_desc.Height > gif_file->height), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ mm_util_retvm_if(gif_image->image_data == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
if (gif_file->is_started == FALSE) {
- mm_util_info("first added image, mm_util_gif_encode_start is needed");
- mm_util_gif_encode_start(gif_file_h);
+ mm_util_warn("first added image, mm_util_gif_encode_start is needed");
+ ret = mm_util_gif_encode_start(gif_file_h);
+ mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_start failed");
}
/* Make local color map */
gif_file_s *gif_file = (gif_file_s *)gif_file_h;
mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
- mm_util_retvm_if(!gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has not started");
+ mm_util_retvm_if(gif_file->is_started == FALSE, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has not started");
+ mm_util_retvm_if(gif_file->GifFile->ImageCount <= 0, MM_UTIL_ERROR_INVALID_OPERATION, "No frame has encoded");
mm_util_fenter();