[ITC][image-util][ACR-1584][Support for WebP image format for encoding] 83/241183/2
authorPriya Kohli <priya.kohli@samsung.com>
Tue, 18 Aug 2020 09:19:52 +0000 (14:49 +0530)
committershobhit verma <shobhit.v@samsung.com>
Wed, 19 Aug 2020 08:19:16 +0000 (08:19 +0000)
Change-Id: Ibcddef66f1d18bd7df0f23b96afa5fd8aa1ce0d8
Signed-off-by: Priya Kohli <priya.kohli@samsung.com>
src/itc/image-util/ITs-image-util.c
src/itc/image-util/tct-image-util-native_mobile.h
src/itc/image-util/tct-image-util-native_tizeniot.h
src/itc/image-util/tct-image-util-native_wearable.h

index 72111574be2b68e1aaa5f256fffa14e8453c0a67..266108a00e87819c5536631988f529f6a4d16a63 100755 (executable)
@@ -877,12 +877,13 @@ int ITc_image_util_encode_create_destroy_p(void)
        START_TEST;
 
        image_util_encode_h stHandle = NULL;
-       image_util_type_e eImageUtilType[] = 
+       image_util_type_e eImageUtilType[] =
        {
                IMAGE_UTIL_PNG,  /**< Image format PNG */
                IMAGE_UTIL_GIF,  /**< Image format GIF */
                IMAGE_UTIL_JPEG,
-               IMAGE_UTIL_BMP  /**< Image format BMP */
+               IMAGE_UTIL_BMP,  /**< Image format BMP */
+               IMAGE_UTIL_WEBP  /**< Image format WEBP */
        };
        int enum_size = sizeof(eImageUtilType) / sizeof(eImageUtilType[0]);
        int enum_counter = 0;
@@ -922,9 +923,10 @@ int ITc_image_util_encode_set_png_compression_p(void)
        START_TEST;
        image_util_encode_h stHandle = NULL;
 
-        int nRet = image_util_encode_create(IMAGE_UTIL_PNG, &stHandle);
+       int nRet = image_util_encode_create(IMAGE_UTIL_PNG, &stHandle);
        PRINT_RESULT(IMAGE_UTIL_ERROR_NONE, nRet, "image_util_encode_create", ImageUtilGetError(nRet));
        CHECK_HANDLE(stHandle,"image_util_encode_create");
+
        //target api
        nRet = image_util_encode_set_png_compression(stHandle, IMAGE_UTIL_PNG_COMPRESSION_6);
        PRINT_RESULT_CLEANUP(IMAGE_UTIL_ERROR_NONE, nRet, "image_util_encode_set_png_compression", ImageUtilGetError(nRet), image_util_encode_destroy(stHandle));
@@ -935,6 +937,43 @@ int ITc_image_util_encode_set_png_compression_p(void)
        return 0;
 }
 
+//& purpose: To set lossless compression of WEBP images.
+//& type: auto
+/**
+* @testcase                    ITc_image_util_encode_set_webp_lossless_p
+* @since_tizen                 6.0
+* @author                              SRID(priya.kohli)
+* @reviewer                    SRID(shobhit.v)
+* @type                                auto
+* @description                 To set lossless compression of WEBP images.
+* @scenario                            Sets lossless compression of WEBP images.
+* @apicovered                  image_util_encode_set_webp_lossless
+* @passcase                            When image_util_encode_set_webp_lossless is successful.
+* @failcase                            If target API image_util_encode_set_webp_lossless fails or any precondition API fails.
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_image_util_encode_set_webp_lossless_p(void)
+{
+       START_TEST;
+       image_util_encode_h stHandle = NULL;
+
+       int nRet = image_util_encode_create(IMAGE_UTIL_WEBP, &stHandle);
+       PRINT_RESULT(IMAGE_UTIL_ERROR_NONE, nRet, "image_util_encode_create", ImageUtilGetError(nRet));
+       CHECK_HANDLE(stHandle,"image_util_encode_create");
+
+       nRet = image_util_encode_set_webp_lossless(stHandle, true);
+       PRINT_RESULT_CLEANUP(IMAGE_UTIL_ERROR_NONE, nRet, "image_util_encode_set_webp_lossless", ImageUtilGetError(nRet), image_util_encode_destroy(stHandle));
+
+       nRet = image_util_encode_set_webp_lossless(stHandle, false);
+       PRINT_RESULT_CLEANUP(IMAGE_UTIL_ERROR_NONE, nRet, "image_util_encode_set_webp_lossless", ImageUtilGetError(nRet), image_util_encode_destroy(stHandle));
+
+       nRet = image_util_encode_destroy(stHandle);
+       PRINT_RESULT_NORETURN(IMAGE_UTIL_ERROR_NONE, nRet, "image_util_encode_destroy", ImageUtilGetError(nRet));
+
+       return 0;
+}
+
 //& purpose: To decode the image with the given decode handle.
 //& type: auto
 /**
index 88e0d884756cf201c35597aaea33f8f5d12cc16a..a31fc8102825d40326f88f180de6e652ad8804ab 100755 (executable)
@@ -38,6 +38,7 @@ extern int ITc_image_util_decode_set_input_path_p(void);
 extern int ITc_image_util_decode_set_input_buffer_p(void);
 extern int ITc_image_util_encode_create_destroy_p(void);
 extern int ITc_image_util_encode_set_png_compression_p(void);
+extern int ITc_image_util_encode_set_webp_lossless_p(void);
 extern int ITc_image_util_decode_run2_p(void);
 extern int ITc_image_util_decode_run_async2_p(void);
 extern int ITc_image_util_foreach_supported_colorspace_p(void);
@@ -74,6 +75,7 @@ testcase tc_array[] = {
        {"ITc_image_util_decode_set_input_buffer_p",ITc_image_util_decode_set_input_buffer_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_encode_create_destroy_p",ITc_image_util_encode_create_destroy_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_encode_set_png_compression_p",ITc_image_util_encode_set_png_compression_p,ITs_image_util_startup,ITs_image_util_cleanup},
+       {"ITc_image_util_encode_set_webp_lossless_p",ITc_image_util_encode_set_webp_lossless_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_decode_run2_p",ITc_image_util_decode_run2_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_decode_run_async2_p",ITc_image_util_decode_run_async2_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_foreach_supported_colorspace_p",ITc_image_util_foreach_supported_colorspace_p,ITs_image_util_startup,ITs_image_util_cleanup},
index 0b2a1fef638ce0388acfe005d78e3c4414f69602..d1376e71cc29ac6d5f58c148fba02eb2e3005832 100755 (executable)
@@ -38,6 +38,7 @@ extern int ITc_image_util_decode_set_input_path_p(void);
 extern int ITc_image_util_decode_set_input_buffer_p(void);
 extern int ITc_image_util_encode_create_destroy_p(void);
 extern int ITc_image_util_encode_set_png_compression_p(void);
+extern int ITc_image_util_encode_set_webp_lossless_p(void);
 extern int ITc_image_util_decode_run2_p(void);
 extern int ITc_image_util_decode_run_async2_p(void);
 extern int ITc_image_util_foreach_supported_colorspace_p(void);
@@ -74,6 +75,7 @@ testcase tc_array[] = {
        {"ITc_image_util_decode_set_input_buffer_p",ITc_image_util_decode_set_input_buffer_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_encode_create_destroy_p",ITc_image_util_encode_create_destroy_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_encode_set_png_compression_p",ITc_image_util_encode_set_png_compression_p,ITs_image_util_startup,ITs_image_util_cleanup},
+       {"ITc_image_util_encode_set_webp_lossless_p",ITc_image_util_encode_set_webp_lossless_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_decode_run2_p",ITc_image_util_decode_run2_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_decode_run_async2_p",ITc_image_util_decode_run_async2_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_foreach_supported_colorspace_p",ITc_image_util_foreach_supported_colorspace_p,ITs_image_util_startup,ITs_image_util_cleanup},
index 0b2a1fef638ce0388acfe005d78e3c4414f69602..d1376e71cc29ac6d5f58c148fba02eb2e3005832 100755 (executable)
@@ -38,6 +38,7 @@ extern int ITc_image_util_decode_set_input_path_p(void);
 extern int ITc_image_util_decode_set_input_buffer_p(void);
 extern int ITc_image_util_encode_create_destroy_p(void);
 extern int ITc_image_util_encode_set_png_compression_p(void);
+extern int ITc_image_util_encode_set_webp_lossless_p(void);
 extern int ITc_image_util_decode_run2_p(void);
 extern int ITc_image_util_decode_run_async2_p(void);
 extern int ITc_image_util_foreach_supported_colorspace_p(void);
@@ -74,6 +75,7 @@ testcase tc_array[] = {
        {"ITc_image_util_decode_set_input_buffer_p",ITc_image_util_decode_set_input_buffer_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_encode_create_destroy_p",ITc_image_util_encode_create_destroy_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_encode_set_png_compression_p",ITc_image_util_encode_set_png_compression_p,ITs_image_util_startup,ITs_image_util_cleanup},
+       {"ITc_image_util_encode_set_webp_lossless_p",ITc_image_util_encode_set_webp_lossless_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_decode_run2_p",ITc_image_util_decode_run2_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_decode_run_async2_p",ITc_image_util_decode_run_async2_p,ITs_image_util_startup,ITs_image_util_cleanup},
        {"ITc_image_util_foreach_supported_colorspace_p",ITc_image_util_foreach_supported_colorspace_p,ITs_image_util_startup,ITs_image_util_cleanup},