Remove useless codes and rearrange codes 12/191312/1
authorjiyong.min <jiyong.min@samsung.com>
Tue, 16 Oct 2018 02:05:40 +0000 (11:05 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Tue, 16 Oct 2018 02:05:59 +0000 (11:05 +0900)
Change-Id: I67c8096fb0c7a22dd0b72544942afac7e8280522

gif/include/mm_util_gif.h
gif/include/mm_util_gif_private.h
gif/mm_util_gif.c
gif/test/mm_util_gif_testsuite.c

index f660b76..816033a 100755 (executable)
@@ -51,22 +51,16 @@ typedef void* mm_gif_file_h;
 
 int mm_util_decode_from_gif_file(const char *filename, mm_image_info_s * decoded);
 int mm_util_decode_from_gif_memory(void *memory, mm_image_info_s * decoded);
-int mm_util_encode_to_gif_file(mm_gif_file_h gif_file_h, const char *path);
-int mm_util_encode_to_gif_memory(mm_gif_file_h gif_file_h, void **buffer, size_t *size);
+int mm_util_encode_to_gif_file(mm_image_info_s **images, const unsigned int image_count, const char *path);
+int mm_util_encode_to_gif_memory(mm_image_info_s **images, const unsigned int image_count, void **buffer, size_t *size);
 
 /* a-gif extras */
-int mm_util_gif_image_create(mm_gif_file_h gif_file_h, mm_image_info_s **gif_image_h);
-void mm_util_gif_image_destory(mm_image_info_s * gif_image_h);
-
 int mm_util_gif_encode_create(mm_gif_file_h *gif_file_h);
 int mm_util_gif_encode_set_file(mm_gif_file_h gif_file_h, const char *file_name);
 int mm_util_gif_encode_set_mem(mm_gif_file_h gif_file_h, void **data, size_t *data_size);
-int mm_util_gif_encode_set_resolution(mm_gif_file_h gif_file_h, const int width, const int height);
 int mm_util_gif_encode_start(mm_gif_file_h gif_file_h);
 int mm_util_gif_encode_add_image(mm_gif_file_h gif_file_h, mm_image_info_s * gif_image_h);
 int mm_util_gif_encode_save(mm_gif_file_h gif_file_h);
-int mm_util_gif_enocde_set_image_handle(mm_gif_file_h gif_file_h, mm_image_info_s * gif_image_h);
-int mm_util_gif_enocde_get_image_handle(mm_gif_file_h gif_file_h, const int index, mm_image_info_s **gif_image_h);
 void mm_util_gif_encode_destroy(mm_gif_file_h gif_file_h);
 /* a-gif extras */
 
index aa503b2..6e1c93d 100644 (file)
@@ -43,8 +43,6 @@ typedef struct {
        gif_mem_s write_data_ptr;                 /**< Encoded output data attached to callback */
        gboolean is_started;
 
-       int saved_image_count;
-       mm_image_info_s **saved_image;
        GifWord width;
        GifWord height;
 } gif_file_s;
index e61bc83..65f435c 100755 (executable)
@@ -648,36 +648,6 @@ int _gif_image_write_glob_ext_blocks(gif_file_s *gif_file)
        return MM_UTIL_ERROR_NONE;
 }
 
-int mm_util_gif_image_create(mm_gif_file_h gif_file_h, mm_image_info_s **gif_image_h)
-{
-       gif_file_s *gif_file = (gif_file_s *)gif_file_h;
-       mm_image_info_s *pImage = NULL;
-
-       mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-
-       pImage = (mm_image_info_s *)calloc(1, sizeof(mm_image_info_s));
-       mm_util_retvm_if(pImage == NULL, MM_UTIL_ERROR_OUT_OF_MEMORY, "Memory allocation failed");
-
-       /* init image when it is allocated */
-       /* set default width & height */
-       pImage->width = gif_file->width;
-       pImage->height = gif_file->height;
-
-       *gif_image_h = (mm_image_info_s *)pImage;
-
-       return MM_UTIL_ERROR_NONE;
-}
-
-void mm_util_gif_image_destory(mm_image_info_s * gif_image_h)
-{
-       mm_image_info_s *gif_image = (mm_image_info_s *)gif_image_h;
-
-       mm_util_retm_if(gif_image == NULL, "Invalid parameter");
-
-       MMUTIL_SAFE_FREE(gif_image->data);
-       MMUTIL_SAFE_FREE(gif_image);
-}
-
 int mm_util_gif_encode_create(mm_gif_file_h *gif_file_h)
 {
        gif_file_s *gif_file = NULL;
@@ -796,6 +766,9 @@ int mm_util_gif_encode_add_image(mm_gif_file_h gif_file_h, mm_image_info_s *gif_
        mm_util_retvm_if(gif_image->data == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        if (gif_file->is_started == FALSE) {
+               ret = mm_util_gif_encode_set_resolution(gif_file_h, gif_image->width, gif_image->height);
+               mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_file failed %d", ret);
+
                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");
@@ -844,73 +817,33 @@ int mm_util_gif_encode_save(mm_gif_file_h gif_file_h)
        return MM_UTIL_ERROR_NONE;
 }
 
-int mm_util_gif_enocde_set_image_handle(mm_gif_file_h gif_file_h, mm_image_info_s *gif_image_h)
-{
-       gif_file_s *gif_file = (gif_file_s *)gif_file_h;
-       mm_image_info_s *gif_image = (mm_image_info_s *)gif_image_h;
-
-       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_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
-
-       if (gif_file->saved_image == NULL) {
-               gif_file->saved_image = (mm_image_info_s **)calloc(1, sizeof(mm_image_info_s *));
-               mm_util_retvm_if(gif_file->saved_image == NULL, MM_UTIL_ERROR_OUT_OF_MEMORY, "memory allocation failed");
-       } else {
-               mm_image_info_s **tmp = (mm_image_info_s **)realloc(gif_file->saved_image, sizeof(mm_image_info_s *) * (gif_file->saved_image_count + 1));
-               mm_util_retvm_if(tmp == NULL, MM_UTIL_ERROR_OUT_OF_MEMORY, "memory allocation failed");
-               gif_file->saved_image = tmp;
-       }
-
-       gif_file->saved_image[gif_file->saved_image_count] = gif_image;
-       gif_file->saved_image_count++;
-
-       return MM_UTIL_ERROR_NONE;
-}
-
-int mm_util_gif_enocde_get_image_handle(mm_gif_file_h gif_file_h, const int index, mm_image_info_s **gif_image_h)
-{
-       gif_file_s *gif_file = (gif_file_s *)gif_file_h;
-
-       mm_util_fenter();
-       mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_image_h == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
-
-       if (index < gif_file->saved_image_count)
-               *gif_image_h = (mm_image_info_s *)gif_file->saved_image[index];
-       else
-               *gif_image_h = NULL;
-
-       return MM_UTIL_ERROR_NONE;
-}
-
-int mm_util_encode_to_gif_file(mm_gif_file_h gif_file_h, const char *path)
+int mm_util_encode_to_gif_file(mm_image_info_s **images, const unsigned int image_count, const char *path)
 {
        int ret = MM_UTIL_ERROR_NONE;
        int i = 0;
+       mm_gif_file_h gif_file_h = NULL;
 
-       gif_file_s *gif_file = (gif_file_s *)gif_file_h;
-       mm_image_info_s *gif_image = NULL;
+       mm_util_retvm_if(images == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+       mm_util_retvm_if(image_count == 0, MM_UTIL_ERROR_INVALID_OPERATION, "Invalid parameter");
+       mm_util_retvm_if(path == NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Invalid parameter");
 
-       mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->saved_image == NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Invalid parameter");
+       ret = mm_util_gif_encode_create(&gif_file_h);
+       mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_create failed %d", ret);
 
-       ret = mm_util_gif_encode_set_file(gif_file, path);
+       ret = mm_util_gif_encode_set_file(gif_file_h, path);
+       mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_file failed %d", ret);
+
+       ret = mm_util_gif_encode_set_resolution(gif_file_h, images[0]->width, images[0]->height);
        mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_file failed %d", ret);
 
        /* this way is for image_util_encode_run(), remove it later */
        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");
 
-       for (i = 0; i < gif_file->saved_image_count; i++) {
-               gif_image = (mm_image_info_s *)gif_file->saved_image[i];
-               ret = mm_util_gif_encode_add_image(gif_file_h, gif_image);
+       for (i = 0; i < image_count; i++) {
+               ret = mm_util_gif_encode_add_image(gif_file_h, images[i]);
                mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_add_image failed");
-               mm_util_gif_image_destory(gif_image);
        }
-       MMUTIL_SAFE_FREE(gif_file->saved_image);
 
        ret = mm_util_gif_encode_save(gif_file_h);
        mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_save failed");
@@ -918,31 +851,33 @@ int mm_util_encode_to_gif_file(mm_gif_file_h gif_file_h, const char *path)
        return MM_UTIL_ERROR_NONE;
 }
 
-int mm_util_encode_to_gif_memory(mm_gif_file_h gif_file_h, void **buffer, size_t *size)
+int mm_util_encode_to_gif_memory(mm_image_info_s **images, const unsigned int image_count, void **buffer, size_t *size)
 {
        int ret = MM_UTIL_ERROR_NONE;
        int i = 0;
+       mm_gif_file_h gif_file_h = NULL;
 
-       gif_file_s *gif_file = (gif_file_s *)gif_file_h;
-       mm_image_info_s * gif_image = NULL;
+       mm_util_retvm_if(images == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
+       mm_util_retvm_if(image_count == 0, MM_UTIL_ERROR_INVALID_OPERATION, "Invalid parameter");
+       mm_util_retvm_if(buffer == NULL || size == NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Invalid parameter");
 
-       mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->saved_image == NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Invalid parameter");
+       ret = mm_util_gif_encode_create(&gif_file_h);
+       mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_create failed %d", ret);
 
-       ret = mm_util_gif_encode_set_mem(gif_file, buffer, size);
+       ret = mm_util_gif_encode_set_mem(gif_file_h, buffer, size);
        mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_mem failed %d", ret);
 
+       ret = mm_util_gif_encode_set_resolution(gif_file_h, images[0]->width, images[0]->height);
+       mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_file failed %d", ret);
+
        /* this way is for image_util_encode_run(), remove it later */
        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");
 
-       for (i = 0; i < gif_file->saved_image_count; i++) {
-               gif_image = (mm_image_info_s *)gif_file->saved_image[i];
-               ret = mm_util_gif_encode_add_image(gif_file_h, gif_image);
+       for (i = 0; i < image_count; i++) {
+               ret = mm_util_gif_encode_add_image(gif_file_h, images[i]);
                mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_add_image failed");
-               mm_util_gif_image_destory(gif_image);
        }
-       MMUTIL_SAFE_FREE(gif_file->saved_image);
 
        ret = mm_util_gif_encode_save(gif_file_h);
        mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_save failed");
@@ -953,7 +888,6 @@ int mm_util_encode_to_gif_memory(mm_gif_file_h gif_file_h, void **buffer, size_t
 void mm_util_gif_encode_destroy(mm_gif_file_h gif_file_h)
 {
        int ret = MM_UTIL_ERROR_NONE;
-       int i = 0;
        gif_file_s *gif_file = (gif_file_s *)gif_file_h;
 
        mm_util_retm_if(gif_file == NULL, "Invalid parameter");
@@ -963,14 +897,6 @@ void mm_util_gif_encode_destroy(mm_gif_file_h gif_file_h)
                mm_util_retm_if(ret != MM_UTIL_ERROR_NONE, "_gif_encode_close_file failed");
        }
 
-       if (gif_file->saved_image != NULL) {
-               for (i = 0; i < gif_file->saved_image_count; i++) {
-                       mm_image_info_s * tmp = (mm_image_info_s *)gif_file->saved_image[i];
-                       mm_util_gif_image_destory(tmp);
-               }
-               MMUTIL_SAFE_FREE(gif_file->saved_image);
-       }
-
        MMUTIL_SAFE_G_FREE(gif_file->filename);
        MMUTIL_SAFE_FREE(gif_file->buffer);
 }
index 4251340..ea3191c 100644 (file)
@@ -160,11 +160,10 @@ int main(int argc, char *argv[])
                fprintf(stderr, "\t mm_util_gif_enc_set_file [%d]\n", ret);
        }
 
-       ret = mm_util_gif_encode_set_resolution(gif_file, files[0].decoded.width, files[0].decoded.height);
-       fprintf(stderr, "\t mm_util_gif_enc_set_resolution [%d]\n", ret);
        /* repeat */
        for (i = 0; i < nfiles; i++) {
                if (files[i].decoded.data) {
+                       files[i].decoded.delay_time = 50;
                        ret = mm_util_gif_encode_add_image(gif_file, &(files[i].decoded));
                        fprintf(stderr, "\t mm_util_gif_enc_add_image [%d]\n", ret);