[UTC][capi-media-image-util][ACR-1393][Add some testcases for new encoding APIs] 41/207241/3
authorjiyong.min <jiyong.min@samsung.com>
Fri, 31 May 2019 03:58:33 +0000 (12:58 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Fri, 31 May 2019 04:46:11 +0000 (13:46 +0900)
Change-Id: I9e824e2891d52b1a02b1b13a79b9fdfd0a2e7220

src/utc/image-util/CMakeLists.txt
src/utc/image-util/tct-image-util-core_mobile.h
src/utc/image-util/tct-image-util-core_tizeniot.h
src/utc/image-util/tct-image-util-core_wearable.h
src/utc/image-util/utc-image-util-agif-encode.c [new file with mode: 0644]
src/utc/image-util/utc-image-util-common.c
src/utc/image-util/utc-image-util-common.h
src/utc/image-util/utc-image-util-decode-encode.c

index 612c2ecb20656db3ccebf187ff143103e6ce8b4a..cbf6a2869a0851ae5aecbf09cd99297d6cc19d90 100644 (file)
@@ -8,6 +8,7 @@ SET(TC_SOURCES
     utc-image-util-common.c
     utc-image-util-decode-encode.c
     utc-media-image-util-basic.c
+    utc-image-util-agif-encode.c
 )
 
 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
index 95cc5c6acea77b8cc42024e97daa2314b6da8965..f839e9c3c5e9ff2f8932fa1daedfa263565794f4 100644 (file)
@@ -25,6 +25,8 @@ extern void utc_image_util_encode_startup(void);
 extern void utc_image_util_encode_cleanup(void);
 extern void utc_media_image_util_basic_startup(void);
 extern void utc_media_image_util_basic_cleanup(void);
+extern void utc_image_util_agif_encode_startup(void);
+extern void utc_image_util_agif_encode_cleanup(void);
 
 extern int utc_image_util_foreach_supported_colorspace_n1(void);
 extern int utc_image_util_foreach_supported_colorspace_n2(void);
@@ -139,12 +141,22 @@ extern int utc_image_util_encode_run_async_n5(void);
 extern int utc_image_util_encode_run_async_n6(void);
 extern int utc_image_util_encode_run_async_n7(void);
 extern int utc_image_util_encode_run_async_n8(void);
-extern int utc_image_util_encode_async_n9(void);
+extern int utc_image_util_encode_run_async_n9(void);
 extern int utc_image_util_encode_run_async_p1(void);
 extern int utc_image_util_encode_run_async_p2(void);
+extern int utc_image_util_encode_run_to_file_p(void);
+extern int utc_image_util_encode_run_to_file_n(void);
+extern int utc_image_util_encode_run_to_buffer_p(void);
+extern int utc_image_util_encode_run_to_buffer_n(void);
+extern int utc_image_util_encode_run_async_to_file_p(void);
+extern int utc_image_util_encode_run_async_to_file_n(void);
+extern int utc_image_util_encode_run_async_to_buffer_p(void);
+extern int utc_image_util_encode_run_async_to_buffer_n(void);
 extern int utc_image_util_encode_destroy_n1(void);
 extern int utc_image_util_encode_destroy_n2(void);
 extern int utc_image_util_encode_destroy_p(void);
+
+/* in utc-image-util-transform.c */
 extern int utc_image_util_calculate_buffer_size_p1(void);
 extern int utc_image_util_calculate_buffer_size_p2(void);
 extern int utc_image_util_calculate_buffer_size_n1(void);
@@ -202,6 +214,19 @@ extern int utc_image_util_transform_run2_n(void);
 extern int utc_image_util_transform_run2_async_p(void);
 extern int utc_image_util_transform_run2_async_n(void);
 
+/* in utc-image-util-agif-encode.c */
+extern int utc_image_util_agif_encode_create_p(void);
+extern int utc_image_util_agif_encode_create_n(void);
+extern int utc_image_util_agif_encode_add_frame_p(void);
+extern int utc_image_util_agif_encode_add_frame_n(void);
+extern int utc_image_util_agif_encode_save_to_file_p(void);
+extern int utc_image_util_agif_encode_save_to_file_n(void);
+extern int utc_image_util_agif_encode_save_to_buffer_p(void);
+extern int utc_image_util_agif_encode_save_to_buffer_n(void);
+extern int utc_image_util_agif_encode_destroy_p(void);
+extern int utc_image_util_agif_encode_destroy_n(void);
+
+
 testcase tc_array[] = {
        {"utc_image_util_foreach_supported_colorspace_n1",utc_image_util_foreach_supported_colorspace_n1,utc_image_util_decode_startup,utc_image_util_decode_cleanup},
        {"utc_image_util_foreach_supported_colorspace_n2",utc_image_util_foreach_supported_colorspace_n2,utc_image_util_decode_startup,utc_image_util_decode_cleanup},
@@ -316,12 +341,21 @@ testcase tc_array[] = {
        {"utc_image_util_encode_run_async_n6",utc_image_util_encode_run_async_n6,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_n7",utc_image_util_encode_run_async_n7,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_n8",utc_image_util_encode_run_async_n8,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
-       {"utc_image_util_encode_async_n9",utc_image_util_encode_async_n9,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_n9",utc_image_util_encode_run_async_n9,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_p1",utc_image_util_encode_run_async_p1,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_p2",utc_image_util_encode_run_async_p2,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_file_p",utc_image_util_encode_run_to_file_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_file_n",utc_image_util_encode_run_to_file_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_buffer_p",utc_image_util_encode_run_to_buffer_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_buffer_n",utc_image_util_encode_run_to_buffer_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_file_p",utc_image_util_encode_run_async_to_file_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_file_n",utc_image_util_encode_run_async_to_file_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_buffer_p",utc_image_util_encode_run_async_to_buffer_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_buffer_n",utc_image_util_encode_run_async_to_buffer_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_n1",utc_image_util_encode_destroy_n1,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_n2",utc_image_util_encode_destroy_n2,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_p",utc_image_util_encode_destroy_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       /* in utc-image-util-transform.c */
        {"utc_image_util_calculate_buffer_size_p1",utc_image_util_calculate_buffer_size_p1,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_calculate_buffer_size_p2",utc_image_util_calculate_buffer_size_p2,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_calculate_buffer_size_n1",utc_image_util_calculate_buffer_size_n1,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
@@ -378,6 +412,17 @@ testcase tc_array[] = {
        {"utc_image_util_transform_run2_p",utc_image_util_transform_run2_p,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_transform_run2_async_n",utc_image_util_transform_run2_async_n,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_transform_run2_async_p",utc_image_util_transform_run2_async_p,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
+       /* in utc-image-util-agif-encode.c */
+       {"utc_image_util_agif_encode_create_p",utc_image_util_agif_encode_create_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_create_n",utc_image_util_agif_encode_create_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_add_frame_p",utc_image_util_agif_encode_add_frame_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_add_frame_n",utc_image_util_agif_encode_add_frame_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_file_p",utc_image_util_agif_encode_save_to_file_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_file_n",utc_image_util_agif_encode_save_to_file_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_buffer_p",utc_image_util_agif_encode_save_to_buffer_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_buffer_n",utc_image_util_agif_encode_save_to_buffer_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_destroy_p",utc_image_util_agif_encode_destroy_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_destroy_n",utc_image_util_agif_encode_destroy_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
        {NULL, NULL}
 };
 
index 95cc5c6acea77b8cc42024e97daa2314b6da8965..f839e9c3c5e9ff2f8932fa1daedfa263565794f4 100644 (file)
@@ -25,6 +25,8 @@ extern void utc_image_util_encode_startup(void);
 extern void utc_image_util_encode_cleanup(void);
 extern void utc_media_image_util_basic_startup(void);
 extern void utc_media_image_util_basic_cleanup(void);
+extern void utc_image_util_agif_encode_startup(void);
+extern void utc_image_util_agif_encode_cleanup(void);
 
 extern int utc_image_util_foreach_supported_colorspace_n1(void);
 extern int utc_image_util_foreach_supported_colorspace_n2(void);
@@ -139,12 +141,22 @@ extern int utc_image_util_encode_run_async_n5(void);
 extern int utc_image_util_encode_run_async_n6(void);
 extern int utc_image_util_encode_run_async_n7(void);
 extern int utc_image_util_encode_run_async_n8(void);
-extern int utc_image_util_encode_async_n9(void);
+extern int utc_image_util_encode_run_async_n9(void);
 extern int utc_image_util_encode_run_async_p1(void);
 extern int utc_image_util_encode_run_async_p2(void);
+extern int utc_image_util_encode_run_to_file_p(void);
+extern int utc_image_util_encode_run_to_file_n(void);
+extern int utc_image_util_encode_run_to_buffer_p(void);
+extern int utc_image_util_encode_run_to_buffer_n(void);
+extern int utc_image_util_encode_run_async_to_file_p(void);
+extern int utc_image_util_encode_run_async_to_file_n(void);
+extern int utc_image_util_encode_run_async_to_buffer_p(void);
+extern int utc_image_util_encode_run_async_to_buffer_n(void);
 extern int utc_image_util_encode_destroy_n1(void);
 extern int utc_image_util_encode_destroy_n2(void);
 extern int utc_image_util_encode_destroy_p(void);
+
+/* in utc-image-util-transform.c */
 extern int utc_image_util_calculate_buffer_size_p1(void);
 extern int utc_image_util_calculate_buffer_size_p2(void);
 extern int utc_image_util_calculate_buffer_size_n1(void);
@@ -202,6 +214,19 @@ extern int utc_image_util_transform_run2_n(void);
 extern int utc_image_util_transform_run2_async_p(void);
 extern int utc_image_util_transform_run2_async_n(void);
 
+/* in utc-image-util-agif-encode.c */
+extern int utc_image_util_agif_encode_create_p(void);
+extern int utc_image_util_agif_encode_create_n(void);
+extern int utc_image_util_agif_encode_add_frame_p(void);
+extern int utc_image_util_agif_encode_add_frame_n(void);
+extern int utc_image_util_agif_encode_save_to_file_p(void);
+extern int utc_image_util_agif_encode_save_to_file_n(void);
+extern int utc_image_util_agif_encode_save_to_buffer_p(void);
+extern int utc_image_util_agif_encode_save_to_buffer_n(void);
+extern int utc_image_util_agif_encode_destroy_p(void);
+extern int utc_image_util_agif_encode_destroy_n(void);
+
+
 testcase tc_array[] = {
        {"utc_image_util_foreach_supported_colorspace_n1",utc_image_util_foreach_supported_colorspace_n1,utc_image_util_decode_startup,utc_image_util_decode_cleanup},
        {"utc_image_util_foreach_supported_colorspace_n2",utc_image_util_foreach_supported_colorspace_n2,utc_image_util_decode_startup,utc_image_util_decode_cleanup},
@@ -316,12 +341,21 @@ testcase tc_array[] = {
        {"utc_image_util_encode_run_async_n6",utc_image_util_encode_run_async_n6,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_n7",utc_image_util_encode_run_async_n7,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_n8",utc_image_util_encode_run_async_n8,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
-       {"utc_image_util_encode_async_n9",utc_image_util_encode_async_n9,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_n9",utc_image_util_encode_run_async_n9,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_p1",utc_image_util_encode_run_async_p1,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_p2",utc_image_util_encode_run_async_p2,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_file_p",utc_image_util_encode_run_to_file_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_file_n",utc_image_util_encode_run_to_file_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_buffer_p",utc_image_util_encode_run_to_buffer_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_buffer_n",utc_image_util_encode_run_to_buffer_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_file_p",utc_image_util_encode_run_async_to_file_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_file_n",utc_image_util_encode_run_async_to_file_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_buffer_p",utc_image_util_encode_run_async_to_buffer_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_buffer_n",utc_image_util_encode_run_async_to_buffer_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_n1",utc_image_util_encode_destroy_n1,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_n2",utc_image_util_encode_destroy_n2,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_p",utc_image_util_encode_destroy_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       /* in utc-image-util-transform.c */
        {"utc_image_util_calculate_buffer_size_p1",utc_image_util_calculate_buffer_size_p1,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_calculate_buffer_size_p2",utc_image_util_calculate_buffer_size_p2,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_calculate_buffer_size_n1",utc_image_util_calculate_buffer_size_n1,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
@@ -378,6 +412,17 @@ testcase tc_array[] = {
        {"utc_image_util_transform_run2_p",utc_image_util_transform_run2_p,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_transform_run2_async_n",utc_image_util_transform_run2_async_n,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_transform_run2_async_p",utc_image_util_transform_run2_async_p,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
+       /* in utc-image-util-agif-encode.c */
+       {"utc_image_util_agif_encode_create_p",utc_image_util_agif_encode_create_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_create_n",utc_image_util_agif_encode_create_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_add_frame_p",utc_image_util_agif_encode_add_frame_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_add_frame_n",utc_image_util_agif_encode_add_frame_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_file_p",utc_image_util_agif_encode_save_to_file_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_file_n",utc_image_util_agif_encode_save_to_file_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_buffer_p",utc_image_util_agif_encode_save_to_buffer_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_buffer_n",utc_image_util_agif_encode_save_to_buffer_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_destroy_p",utc_image_util_agif_encode_destroy_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_destroy_n",utc_image_util_agif_encode_destroy_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
        {NULL, NULL}
 };
 
index 95cc5c6acea77b8cc42024e97daa2314b6da8965..f839e9c3c5e9ff2f8932fa1daedfa263565794f4 100644 (file)
@@ -25,6 +25,8 @@ extern void utc_image_util_encode_startup(void);
 extern void utc_image_util_encode_cleanup(void);
 extern void utc_media_image_util_basic_startup(void);
 extern void utc_media_image_util_basic_cleanup(void);
+extern void utc_image_util_agif_encode_startup(void);
+extern void utc_image_util_agif_encode_cleanup(void);
 
 extern int utc_image_util_foreach_supported_colorspace_n1(void);
 extern int utc_image_util_foreach_supported_colorspace_n2(void);
@@ -139,12 +141,22 @@ extern int utc_image_util_encode_run_async_n5(void);
 extern int utc_image_util_encode_run_async_n6(void);
 extern int utc_image_util_encode_run_async_n7(void);
 extern int utc_image_util_encode_run_async_n8(void);
-extern int utc_image_util_encode_async_n9(void);
+extern int utc_image_util_encode_run_async_n9(void);
 extern int utc_image_util_encode_run_async_p1(void);
 extern int utc_image_util_encode_run_async_p2(void);
+extern int utc_image_util_encode_run_to_file_p(void);
+extern int utc_image_util_encode_run_to_file_n(void);
+extern int utc_image_util_encode_run_to_buffer_p(void);
+extern int utc_image_util_encode_run_to_buffer_n(void);
+extern int utc_image_util_encode_run_async_to_file_p(void);
+extern int utc_image_util_encode_run_async_to_file_n(void);
+extern int utc_image_util_encode_run_async_to_buffer_p(void);
+extern int utc_image_util_encode_run_async_to_buffer_n(void);
 extern int utc_image_util_encode_destroy_n1(void);
 extern int utc_image_util_encode_destroy_n2(void);
 extern int utc_image_util_encode_destroy_p(void);
+
+/* in utc-image-util-transform.c */
 extern int utc_image_util_calculate_buffer_size_p1(void);
 extern int utc_image_util_calculate_buffer_size_p2(void);
 extern int utc_image_util_calculate_buffer_size_n1(void);
@@ -202,6 +214,19 @@ extern int utc_image_util_transform_run2_n(void);
 extern int utc_image_util_transform_run2_async_p(void);
 extern int utc_image_util_transform_run2_async_n(void);
 
+/* in utc-image-util-agif-encode.c */
+extern int utc_image_util_agif_encode_create_p(void);
+extern int utc_image_util_agif_encode_create_n(void);
+extern int utc_image_util_agif_encode_add_frame_p(void);
+extern int utc_image_util_agif_encode_add_frame_n(void);
+extern int utc_image_util_agif_encode_save_to_file_p(void);
+extern int utc_image_util_agif_encode_save_to_file_n(void);
+extern int utc_image_util_agif_encode_save_to_buffer_p(void);
+extern int utc_image_util_agif_encode_save_to_buffer_n(void);
+extern int utc_image_util_agif_encode_destroy_p(void);
+extern int utc_image_util_agif_encode_destroy_n(void);
+
+
 testcase tc_array[] = {
        {"utc_image_util_foreach_supported_colorspace_n1",utc_image_util_foreach_supported_colorspace_n1,utc_image_util_decode_startup,utc_image_util_decode_cleanup},
        {"utc_image_util_foreach_supported_colorspace_n2",utc_image_util_foreach_supported_colorspace_n2,utc_image_util_decode_startup,utc_image_util_decode_cleanup},
@@ -316,12 +341,21 @@ testcase tc_array[] = {
        {"utc_image_util_encode_run_async_n6",utc_image_util_encode_run_async_n6,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_n7",utc_image_util_encode_run_async_n7,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_n8",utc_image_util_encode_run_async_n8,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
-       {"utc_image_util_encode_async_n9",utc_image_util_encode_async_n9,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_n9",utc_image_util_encode_run_async_n9,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_p1",utc_image_util_encode_run_async_p1,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_run_async_p2",utc_image_util_encode_run_async_p2,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_file_p",utc_image_util_encode_run_to_file_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_file_n",utc_image_util_encode_run_to_file_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_buffer_p",utc_image_util_encode_run_to_buffer_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_to_buffer_n",utc_image_util_encode_run_to_buffer_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_file_p",utc_image_util_encode_run_async_to_file_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_file_n",utc_image_util_encode_run_async_to_file_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_buffer_p",utc_image_util_encode_run_async_to_buffer_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       {"utc_image_util_encode_run_async_to_buffer_n",utc_image_util_encode_run_async_to_buffer_n,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_n1",utc_image_util_encode_destroy_n1,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_n2",utc_image_util_encode_destroy_n2,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
        {"utc_image_util_encode_destroy_p",utc_image_util_encode_destroy_p,utc_image_util_encode_startup,utc_image_util_encode_cleanup},
+       /* in utc-image-util-transform.c */
        {"utc_image_util_calculate_buffer_size_p1",utc_image_util_calculate_buffer_size_p1,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_calculate_buffer_size_p2",utc_image_util_calculate_buffer_size_p2,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_calculate_buffer_size_n1",utc_image_util_calculate_buffer_size_n1,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
@@ -378,6 +412,17 @@ testcase tc_array[] = {
        {"utc_image_util_transform_run2_p",utc_image_util_transform_run2_p,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_transform_run2_async_n",utc_image_util_transform_run2_async_n,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
        {"utc_image_util_transform_run2_async_p",utc_image_util_transform_run2_async_p,utc_media_image_util_basic_startup,utc_media_image_util_basic_cleanup},
+       /* in utc-image-util-agif-encode.c */
+       {"utc_image_util_agif_encode_create_p",utc_image_util_agif_encode_create_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_create_n",utc_image_util_agif_encode_create_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_add_frame_p",utc_image_util_agif_encode_add_frame_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_add_frame_n",utc_image_util_agif_encode_add_frame_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_file_p",utc_image_util_agif_encode_save_to_file_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_file_n",utc_image_util_agif_encode_save_to_file_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_buffer_p",utc_image_util_agif_encode_save_to_buffer_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_save_to_buffer_n",utc_image_util_agif_encode_save_to_buffer_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_destroy_p",utc_image_util_agif_encode_destroy_p,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
+       {"utc_image_util_agif_encode_destroy_n",utc_image_util_agif_encode_destroy_n,utc_image_util_agif_encode_startup,utc_image_util_agif_encode_cleanup},
        {NULL, NULL}
 };
 
diff --git a/src/utc/image-util/utc-image-util-agif-encode.c b/src/utc/image-util/utc-image-util-agif-encode.c
new file mode 100644 (file)
index 0000000..4cd9a7c
--- /dev/null
@@ -0,0 +1,287 @@
+//
+// Copyright (c) 2019 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#include "assert.h"
+#include <stdio.h>
+#include <image_util.h>
+#include <storage.h>
+#include <glib.h>
+#include "tct_common.h"
+#include "utc-image-util-common.h"
+
+#define API_NAMESPACE                  "[IMAGE-UTIL]"
+
+#define SAFE_FREE(ptr)                 { if (ptr) {free(ptr); ptr = NULL; } }
+#define FILENAME_ORIGIN                        "sample.gif"
+#define FILENAME_ENCODE_AGIF   "test_output.gif"
+
+typedef struct {
+       unsigned char *buffer;
+       size_t buffer_size;
+} utc_buffer_data_t;
+
+static char *g_utc_path_origin = NULL;
+static char *g_utc_path_agif = NULL;
+
+static image_util_agif_encode_h g_utc_agif_encode_h = NULL;
+
+static image_util_image_h g_utc_img_origin = NULL;
+static utc_buffer_data_t g_utc_buf_agif = { NULL, 0 };
+
+/**
+ * @function           utc_image_util_encode_agif_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return             NA
+ */
+void utc_image_util_agif_encode_startup(void)
+{
+       int ret = IMAGE_UTIL_ERROR_NONE;
+
+       char pszValue[CONFIG_VALUE_LEN_MAX] = {0,};
+       if ( true == GetValueForTCTSetting("DEVICE_SUITE_TARGET_30", pszValue, API_NAMESPACE )) {
+               PRINT_UTC_LOG("[Line : %d][%s] 'DEVICE_SUITE_TARGET_30' Values Received = %s\\n", __LINE__, API_NAMESPACE,  pszValue);
+               g_utc_path_origin = _utc_get_test_path(pszValue, FILENAME_ORIGIN);
+               g_utc_path_agif = _utc_get_test_path(pszValue, FILENAME_ENCODE_AGIF);
+               FPRINTF("[%d:%s] IMAGE PATH [Decode: %s], [Encode: %s] \\n", __LINE__, __FUNCTION__, g_utc_path_origin, g_utc_path_agif);
+       } else {
+               PRINT_UTC_LOG("[Line : %d][%s] GetValueForTCTSetting returned error for 'DEVICE_SUITE_TARGET_30'\\n", __LINE__, API_NAMESPACE);
+       }
+
+       if (!g_utc_path_origin || !g_utc_path_agif)
+               FPRINTF("[%d:%s] Get UTC Path error! \\n", __LINE__, __FUNCTION__);
+
+       ret = _utc_decode_simple(g_utc_path_origin, &g_utc_img_origin);
+       if (ret != IMAGE_UTIL_ERROR_NONE)
+               FPRINTF("[%d:%s] Startup error! \\n", __LINE__, __FUNCTION__);
+}
+
+/**
+ * @function           utc_image_util_encode_agif_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return             NA
+ */
+void utc_image_util_agif_encode_cleanup(void)
+{
+       /* end of TC */
+       SAFE_FREE(g_utc_path_origin);
+       SAFE_FREE(g_utc_path_agif);
+       SAFE_FREE(g_utc_buf_agif.buffer);
+
+       image_util_destroy_image(g_utc_img_origin);
+       g_utc_img_origin = NULL;
+
+       image_util_agif_encode_destroy(g_utc_agif_encode_h);
+       g_utc_agif_encode_h = NULL;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_create_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_agif_encode_create
+ */
+int utc_image_util_agif_encode_create_p(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_create_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_agif_encode_create
+ */
+int utc_image_util_agif_encode_create_n(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_add_frame_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_agif_encode_add_frame
+ */
+int utc_image_util_agif_encode_add_frame_p(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_add_frame(g_utc_agif_encode_h, g_utc_img_origin, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_add_frame_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_agif_encode_add_frame
+ */
+int utc_image_util_agif_encode_add_frame_n(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_add_frame(NULL, g_utc_img_origin, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_agif_encode_add_frame(g_utc_agif_encode_h, NULL, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_save_to_file_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_agif_encode_save_to_file
+ */
+int utc_image_util_agif_encode_save_to_file_p(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_add_frame(g_utc_agif_encode_h, g_utc_img_origin, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_save_to_file(g_utc_agif_encode_h, g_utc_path_agif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_save_to_file_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_agif_encode_save_to_file
+ */
+int utc_image_util_agif_encode_save_to_file_n(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_add_frame(g_utc_agif_encode_h, g_utc_img_origin, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_save_to_file(NULL, g_utc_path_agif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_agif_encode_save_to_file(g_utc_agif_encode_h, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_save_to_buffer_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_agif_encode_save_to_buffer
+ */
+int utc_image_util_agif_encode_save_to_buffer_p(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_add_frame(g_utc_agif_encode_h, g_utc_img_origin, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_save_to_buffer(g_utc_agif_encode_h, &g_utc_buf_agif.buffer, &g_utc_buf_agif.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_utc_buf_agif.buffer, NULL);
+       assert_gt(g_utc_buf_agif.buffer_size, 0);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_save_to_buffer_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_agif_encode_save_to_buffer
+ */
+int utc_image_util_agif_encode_save_to_buffer_n(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_add_frame(g_utc_agif_encode_h, g_utc_img_origin, 20);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_save_to_buffer(NULL, &g_utc_buf_agif.buffer, &g_utc_buf_agif.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_agif_encode_save_to_buffer(g_utc_agif_encode_h, NULL, &g_utc_buf_agif.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_agif_encode_save_to_buffer(g_utc_agif_encode_h, &g_utc_buf_agif.buffer, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_destroy_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_agif_encode_destroy
+ */
+int utc_image_util_agif_encode_destroy_p(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_create(&g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_agif_encode_destroy(g_utc_agif_encode_h);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       g_utc_agif_encode_h = NULL;
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_agif_encode_destroy_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_agif_encode_destroy
+ */
+int utc_image_util_agif_encode_destroy_n(void)
+{
+       int ret;
+
+       ret = image_util_agif_encode_destroy(NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
index 7058033ea23f6dfef979092fc7e285cbb79b1347..480a1adbf5b958aea766d174e8bf9f0078856e8b 100644 (file)
@@ -14,6 +14,8 @@
 // limitations under the License.
 //
 
+#include <image_util.h>
+
 #include "tct_common.h"
 #include "utc-image-util-common.h"
 
@@ -41,6 +43,33 @@ char *_utc_get_test_path(const char *base_dir, const char *filename)
        return g_strdup_printf("%s/res/%s", base_dir, filename);
 }
 
+int _utc_decode_simple(const char *path, image_util_image_h *decoded_image)
+{
+       int ret = IMAGE_UTIL_ERROR_NONE;
+       image_util_decode_h decoder = NULL;
+
+       ret = image_util_decode_create(&decoder);
+       if (ret != IMAGE_UTIL_ERROR_NONE) {
+               FPRINTF("[%d:%s] image_util_decode_create failed! %d \\n", __LINE__, __FUNCTION__, ret);
+               return ret;
+       }
+
+       ret = image_util_decode_set_input_path(decoder, path);
+       if (ret != IMAGE_UTIL_ERROR_NONE) {
+               FPRINTF("[%d:%s] image_util_decode_set_input_path failed! %d \\n", __LINE__, __FUNCTION__, ret);
+               image_util_decode_destroy(decoder);
+               return ret;
+       }
+
+       ret = image_util_decode_run2(decoder, decoded_image);
+       if (ret != IMAGE_UTIL_ERROR_NONE)
+               FPRINTF("[%d:%s] image_util_decode_run2 failed! %d \\n", __LINE__, __FUNCTION__, ret);
+
+       image_util_decode_destroy(decoder);
+
+       return ret;
+}
+
 /**
 * @}
 */
index af4e831039c798abf514c524ca4a061c6f4e9eed..d0792ecdcbf1f8faad3239e820a928c8322e9d10 100644 (file)
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+// Copyright (c) 2019 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
 // you may not use this file except in compliance with the License.
@@ -48,5 +48,6 @@
     } while (0)
 
 char *_utc_get_test_path(const char *base_dir, const char *filename);
+int _utc_decode_simple(const char *path, image_util_image_h *decoded_image);
 
 #endif /* _UTC_MEDIA_CONTROLLER_COMMON_H_ */
index 1064b71d0d065a1019268fcf4ca770a14dc927ca..0fe6330f4cb3d6ad48ddb3c41aa2986cb6e97ed9 100755 (executable)
@@ -106,6 +106,21 @@ static struct {
        unsigned long long size;
 } bmp_encoded_image = {NULL, 0};
 
+typedef struct {
+       unsigned char *buffer;
+       size_t buffer_size;
+} buffer_encoded_image_s;
+
+static image_util_image_h g_img_dec_jpeg = NULL;
+static image_util_image_h g_img_dec_png = NULL;
+static image_util_image_h g_img_dec_gif = NULL;
+static image_util_image_h g_img_dec_bmp = NULL;
+
+static buffer_encoded_image_s g_buf_enc_jpeg = { NULL, 0 };
+static buffer_encoded_image_s g_buf_enc_png = { NULL, 0 };
+static buffer_encoded_image_s g_buf_enc_gif = { NULL, 0 };
+static buffer_encoded_image_s g_buf_enc_bmp = { NULL, 0 };
+
 unsigned long image_width = 0, image_height = 0;
 unsigned long long image_size = 0;
 static int callback_error = IMAGE_UTIL_ERROR_NONE;
@@ -170,6 +185,35 @@ static bool utc_encode_completed_cb(int error, void *user_param, unsigned long l
                return false;
 }
 
+static void utc_encode_to_file_completed_cb(image_util_error_e error, void *user_data)
+{
+       FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
+
+       callback_error = error;
+       _signal();
+}
+
+static void utc_encode_to_buffer_completed_cb(image_util_error_e error, unsigned char *buffer, size_t buffer_size, void *user_data)
+{
+       FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
+       buffer_encoded_image_s *buf_enc = (buffer_encoded_image_s *)user_data;
+
+       callback_error = error;
+
+       if (buffer && buffer_size > 0) {
+               buf_enc->buffer = calloc(1, buffer_size);
+               if (!buf_enc->buffer) {
+                       FPRINTF("[%d:%s] Memory allocation error\\n", __LINE__, __FUNCTION__);
+                       _signal();
+                       return;
+               }
+               memcpy(buf_enc->buffer, buffer, buffer_size);
+               buf_enc->buffer_size = buffer_size;
+       }
+
+       _signal();
+}
+
 static int fill_jpeg_decoded_encoded_buffer(void)
 {
        int ret = IMAGE_UTIL_ERROR_NONE;
@@ -365,6 +409,8 @@ void utc_image_util_decode_startup(void)
        if (IMAGE_UTIL_ERROR_NONE != ret) {
                PRINT_UTC_LOG("[Line : %d][%s] image_util_decode_create is failed(%d).\n", __LINE__, API_NAMESPACE, ret);
        }
+
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
 }
 
 /**
@@ -1680,31 +1726,43 @@ void utc_image_util_encode_cleanup(void)
        /* end of TC */
        IMAGEUTIL_SAFE_FREE(jpeg_decoded_image.buffer);
        IMAGEUTIL_SAFE_FREE (jpeg_encoded_image.buffer);
+       IMAGEUTIL_SAFE_FREE(g_buf_enc_jpeg.buffer);
        IMAGEUTIL_SAFE_G_FREE (jpeg_path1);
        IMAGEUTIL_SAFE_G_FREE (jpeg_path2);
        image_util_encode_destroy(jpeg_encode_h);
        jpeg_encode_h = NULL;
+       image_util_destroy_image(g_img_dec_jpeg);
+       g_img_dec_jpeg = NULL;
 
        IMAGEUTIL_SAFE_FREE (png_decoded_image.buffer);
        IMAGEUTIL_SAFE_FREE (png_encoded_image.buffer);
+       IMAGEUTIL_SAFE_FREE(g_buf_enc_png.buffer);
        IMAGEUTIL_SAFE_G_FREE (png_path1);
        IMAGEUTIL_SAFE_G_FREE (png_path2);
        image_util_encode_destroy(png_encode_h);
        png_encode_h = NULL;
+       image_util_destroy_image(g_img_dec_png);
+       g_img_dec_png = NULL;
 
        IMAGEUTIL_SAFE_FREE (gif_decoded_image.buffer);
        IMAGEUTIL_SAFE_FREE (gif_encoded_image.buffer);
+       IMAGEUTIL_SAFE_FREE(g_buf_enc_gif.buffer);
        IMAGEUTIL_SAFE_G_FREE (gif_path1);
        IMAGEUTIL_SAFE_G_FREE (gif_path2);
        image_util_encode_destroy(gif_encode_h);
        gif_encode_h = NULL;
+       image_util_destroy_image(g_img_dec_gif);
+       g_img_dec_gif = NULL;
 
        IMAGEUTIL_SAFE_FREE (bmp_decoded_image.buffer);
        IMAGEUTIL_SAFE_FREE (bmp_encoded_image.buffer);
+       IMAGEUTIL_SAFE_FREE(g_buf_enc_bmp.buffer);
        IMAGEUTIL_SAFE_G_FREE (bmp_path1);
        IMAGEUTIL_SAFE_G_FREE (bmp_path2);
        image_util_encode_destroy(bmp_encode_h);
        bmp_encode_h = NULL;
+       image_util_destroy_image(g_img_dec_bmp);
+       g_img_dec_bmp = NULL;
 }
 
 /**
@@ -2906,7 +2964,7 @@ int utc_image_util_encode_run_async_n8(void)
  * @since_tizen                3.0
  * @description                Negative test case for image_util_encode_async
  */
-int utc_image_util_encode_async_n9(void)
+int utc_image_util_encode_run_async_n9(void)
 {
        int ret;
 
@@ -3061,6 +3119,284 @@ int utc_image_util_encode_run_async_p2(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_image_util_encode_run_to_file_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_encode_run_to_file
+ */
+int utc_image_util_encode_run_to_file_p(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_file(jpeg_encode_h, g_img_dec_jpeg, jpeg_path2);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = _utc_decode_simple(png_path1, &g_img_dec_png);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_file(png_encode_h, g_img_dec_png, png_path2);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = _utc_decode_simple(gif_path1, &g_img_dec_gif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_file(gif_encode_h, g_img_dec_gif, gif_path2);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = _utc_decode_simple(bmp_path1, &g_img_dec_bmp);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_file(bmp_encode_h, g_img_dec_bmp, bmp_path2);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_to_file_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_encode_run_to_file
+ */
+int utc_image_util_encode_run_to_file_n(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_file(NULL, g_img_dec_jpeg, jpeg_path2);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_to_file(jpeg_encode_h, NULL, jpeg_path2);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_to_file(jpeg_encode_h, g_img_dec_jpeg, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_to_buffer_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_encode_run_to_buffer
+ */
+int utc_image_util_encode_run_to_buffer_p(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_buffer(jpeg_encode_h, g_img_dec_jpeg, &g_buf_enc_jpeg.buffer, &g_buf_enc_jpeg.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_jpeg.buffer, NULL);
+       assert_gt(g_buf_enc_jpeg.buffer_size, 0);
+
+       ret = _utc_decode_simple(png_path1, &g_img_dec_png);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_buffer(png_encode_h, g_img_dec_png, &g_buf_enc_png.buffer, &g_buf_enc_png.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_png.buffer, NULL);
+       assert_gt(g_buf_enc_png.buffer_size, 0);
+
+       ret = _utc_decode_simple(gif_path1, &g_img_dec_gif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_buffer(gif_encode_h, g_img_dec_gif, &g_buf_enc_gif.buffer, &g_buf_enc_gif.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_gif.buffer, NULL);
+       assert_gt(g_buf_enc_gif.buffer_size, 0);
+
+       ret = _utc_decode_simple(bmp_path1, &g_img_dec_bmp);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_buffer(bmp_encode_h, g_img_dec_bmp, &g_buf_enc_bmp.buffer, &g_buf_enc_bmp.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_bmp.buffer, NULL);
+       assert_gt(g_buf_enc_bmp.buffer_size, 0);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_to_buffer_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_encode_run_to_buffer
+ */
+int utc_image_util_encode_run_to_buffer_n(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_to_buffer(NULL, g_img_dec_jpeg, &g_buf_enc_jpeg.buffer, &g_buf_enc_jpeg.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_to_buffer(jpeg_encode_h, NULL, &g_buf_enc_jpeg.buffer, &g_buf_enc_jpeg.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_to_buffer(jpeg_encode_h, g_img_dec_jpeg, NULL, &g_buf_enc_jpeg.buffer_size);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_to_buffer(jpeg_encode_h, g_img_dec_jpeg, &g_buf_enc_jpeg.buffer, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_async_to_file_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_encode_run_async_to_file
+ */
+int utc_image_util_encode_run_async_to_file_p(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_file(jpeg_encode_h, g_img_dec_jpeg, jpeg_path2, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+
+       ret = _utc_decode_simple(png_path1, &g_img_dec_png);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_file(png_encode_h, g_img_dec_png, png_path2, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+
+       ret = _utc_decode_simple(gif_path1, &g_img_dec_gif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_file(gif_encode_h, g_img_dec_gif, gif_path2, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+
+       ret = _utc_decode_simple(bmp_path1, &g_img_dec_bmp);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_file(bmp_encode_h, g_img_dec_bmp, bmp_path2, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_async_to_file_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_encode_run_async_to_file
+ */
+int utc_image_util_encode_run_async_to_file_n(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_file(NULL, g_img_dec_jpeg, jpeg_path2, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_async_to_file(jpeg_encode_h, NULL, jpeg_path2, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_async_to_file(jpeg_encode_h, g_img_dec_jpeg, NULL, utc_encode_to_file_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_async_to_file(jpeg_encode_h, g_img_dec_jpeg, jpeg_path2, NULL, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_async_to_buffer_p
+ * @since_tizen                5.5
+ * @description                Positive test case for image_util_encode_run_async_to_buffer
+ */
+int utc_image_util_encode_run_async_to_buffer_p(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_buffer(jpeg_encode_h, g_img_dec_jpeg, utc_encode_to_buffer_completed_cb, &g_buf_enc_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_jpeg.buffer, NULL);
+       assert_gt(g_buf_enc_jpeg.buffer_size, 0);
+
+       ret = _utc_decode_simple(png_path1, &g_img_dec_png);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_buffer(png_encode_h, g_img_dec_png, utc_encode_to_buffer_completed_cb, &g_buf_enc_png);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_png.buffer, NULL);
+       assert_gt(g_buf_enc_png.buffer_size, 0);
+
+       ret = _utc_decode_simple(gif_path1, &g_img_dec_gif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_buffer(gif_encode_h, g_img_dec_gif, utc_encode_to_buffer_completed_cb, &g_buf_enc_gif);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_gif.buffer, NULL);
+       assert_gt(g_buf_enc_gif.buffer_size, 0);
+
+       ret = _utc_decode_simple(bmp_path1, &g_img_dec_bmp);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_buffer(bmp_encode_h, g_img_dec_bmp, utc_encode_to_buffer_completed_cb, &g_buf_enc_bmp);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+       wait_for_async();
+       assert_eq(callback_error, IMAGE_UTIL_ERROR_NONE);
+       assert_neq(g_buf_enc_bmp.buffer, NULL);
+       assert_gt(g_buf_enc_bmp.buffer_size, 0);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_image_util_encode_run_async_to_buffer_n
+ * @since_tizen                5.5
+ * @description                Negative test case for image_util_encode_run_async_to_buffer
+ */
+int utc_image_util_encode_run_async_to_buffer_n(void)
+{
+       int ret;
+
+       ret = _utc_decode_simple(jpeg_path1, &g_img_dec_jpeg);
+       assert_eq(ret, IMAGE_UTIL_ERROR_NONE);
+
+       ret = image_util_encode_run_async_to_buffer(NULL, g_img_dec_jpeg, utc_encode_to_buffer_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_async_to_buffer(jpeg_encode_h, NULL, utc_encode_to_buffer_completed_cb, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       ret = image_util_encode_run_async_to_buffer(jpeg_encode_h, g_img_dec_jpeg, NULL, NULL);
+       assert_eq(ret, IMAGE_UTIL_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
 /**
  * @testcase           utc_image_util_encode_destroy_n1
  * @since_tizen                3.0