Code Refactoring - remove inefficient functions to set PNG value 31/171231/1
authorJiyong Min <jiyong.min@samsung.com>
Tue, 27 Feb 2018 23:33:03 +0000 (08:33 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Wed, 28 Feb 2018 00:14:43 +0000 (09:14 +0900)
Change-Id: I72a46e6ed9fa264a283ec1805751db5f5a6422fa
Signed-off-by: Jiyong Min <jiyong.min@samsung.com>
png/include/mm_util_png.h
png/mm_util_png.c
png/test/mm_util_png_testsuite.c

index b5a3417..d56d0e0 100755 (executable)
@@ -122,7 +122,7 @@ void mm_util_init_decode_png(mm_util_png_data * data);
  * @see                     mm_util_png_data, mm_util_init_encode_png
  * @since                   R1, 1.0
  */
-int mm_util_encode_to_png_file(void **data, mm_util_png_data * encoded, const char *fpath);
+int mm_util_encode_to_png_file(void **data, mm_util_png_data * encoded, const char *fpath, mm_util_png_compression compression_level);
 
 /**
  * This function extracts raw data to memory
@@ -136,7 +136,7 @@ int mm_util_encode_to_png_file(void **data, mm_util_png_data * encoded, const ch
  * @see                     mm_util_png_data, mm_util_init_encode_png
  * @since                   R1, 1.0
  */
-int mm_util_encode_to_png_memory(void **data, mm_util_png_data * encoded);
+int mm_util_encode_to_png_memory(void **data, mm_util_png_data * encoded, mm_util_png_compression compression_level);
 
 /**
  * This function initializes the values of mm_util_png.
@@ -150,45 +150,6 @@ int mm_util_encode_to_png_memory(void **data, mm_util_png_data * encoded);
  */
 void mm_util_init_encode_png(mm_util_png_data * data);
 
-/**
- * This function sets compression level of encoding.
- * This function should be called after mm_util_init_encode_png.
- *
- * @param data               [in]     pointer of mm_util_png_data.
- * @param compression_level  [in]     Level of compression while encoding.
- * @return                            None.
- * @remark                            Check mm_util_png_compression for valid values
- * @see                               mm_util_png, mm_util_png_data, mm_util_init_encode_png
- * @since                             R1, 1.0
- */
-void mm_util_png_encode_set_compression_level(mm_util_png_data * data, mm_util_png_compression compression_level);
-
-/**
- * This function sets width of the encoded image.
- * This function should be called after mm_util_init_encode_png.
- *
- * @param data               [in]     pointer of mm_util_png_data.
- * @param width              [in]     width of the encoded image.
- * @return                            None.
- * @remark
- * @see                               mm_util_png_data, mm_util_init_encode_png
- * @since                             R1, 1.0
- */
-void mm_util_png_encode_set_width(mm_util_png_data * data, uint32_t width);
-
-/**
- * This function sets height of the encoded image.
- * This function should be called after mm_util_init_encode_png.
- *
- * @param data               [in]     pointer of mm_util_png_data.
- * @param height             [in]     height of the encoded image.
- * @return                            None.
- * @remark
- * @see                               mm_util_png_data, mm_util_init_encode_png
- * @since                             R1, 1.0
- */
-void mm_util_png_encode_set_height(mm_util_png_data * data, uint32_t height);
-
 #ifdef __cplusplus
 }
 #endif
index c905ac8..eb87f04 100755 (executable)
@@ -235,7 +235,7 @@ static void user_write_data(png_structp png_ptr, png_bytep data, png_uint_32 len
        }
 }
 
-int write_png(void **data, mm_util_png_data *encoded, FILE *fp)
+int write_png(void **data, mm_util_png_data *encoded, FILE *fp, mm_util_png_compression compression_level)
 {
        png_structp png_ptr;
        png_infop info_ptr;
@@ -245,6 +245,7 @@ int write_png(void **data, mm_util_png_data *encoded, FILE *fp)
        mm_util_debug("write_png");
        encoded->data = NULL;
        encoded->size = 0;
+       encoded->png.compression_level = compression_level;
 
        png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, (png_voidp) NULL, __user_error_fn, __user_warning_fn);
 
@@ -308,7 +309,7 @@ int write_png(void **data, mm_util_png_data *encoded, FILE *fp)
        return MM_UTIL_ERROR_NONE;
 }
 
-int mm_util_encode_to_png_file(void **data, mm_util_png_data *encoded, const char *fpath)
+int mm_util_encode_to_png_file(void **data, mm_util_png_data *encoded, const char *fpath, mm_util_png_compression compression_level)
 {
        int ret = MM_UTIL_ERROR_NONE;
        FILE *fp;
@@ -323,17 +324,18 @@ int mm_util_encode_to_png_file(void **data, mm_util_png_data *encoded, const cha
                return ret;
        }
 
-       ret = write_png(data, encoded, fp);
+       ret = write_png(data, encoded, fp, compression_level);
 
        return ret;
 }
 
-int mm_util_encode_to_png_memory(void **data, mm_util_png_data *encoded)
+int mm_util_encode_to_png_memory(void **data, mm_util_png_data *encoded, mm_util_png_compression compression_level)
 {
        int ret;
 
        mm_util_debug("mm_util_encode_to_memory");
-       ret = write_png(data, encoded, NULL);
+
+       ret = write_png(data, encoded, NULL, compression_level);
 
        return ret;
 }
@@ -348,18 +350,3 @@ void mm_util_init_encode_png(mm_util_png_data *data)
        data->png.interlace_type = PNG_INTERLACE_NONE;
        data->png.bit_depth = MM_UTIL_BIT_DEPTH_8;
 }
-
-void mm_util_png_encode_set_compression_level(mm_util_png_data *data, mm_util_png_compression compression_level)
-{
-       data->png.compression_level = compression_level;
-}
-
-void mm_util_png_encode_set_width(mm_util_png_data *data, uint32_t width)
-{
-       data->width = width;
-}
-
-void mm_util_png_encode_set_height(mm_util_png_data *data, uint32_t height)
-{
-       data->height = height;
-}
index a1dad4b..79dfe5f 100755 (executable)
@@ -128,6 +128,7 @@ int main(int argc, char *argv[])
        void *data;
        void *src = NULL;
        int src_size = 0;
+       mm_util_png_compression compression = MM_UTIL_COMPRESSION_6; /* default */
 
        if (argc < 2) {
                fprintf(stderr, "\t[usage]\n");
@@ -137,12 +138,6 @@ int main(int argc, char *argv[])
 
        if (!strcmp("decode", argv[1])) {
                mm_util_init_decode_png(&decoded_data);
-               if (argv[3]) {
-#if 0
-                       mm_util_png_decode_set_progressive(&decoded_data, atoi(argv[3]));
-                       mm_util_png_decode_set_progressive_bytes(&decoded_data, 10000);
-#endif
-               }
                ret = mm_util_decode_from_png_file(&decoded_data, argv[2]);
        } else if (!strcmp("decode-mem", argv[1])) {
                if (_read_file(argv[2], &src, &src_size)) {
@@ -177,17 +172,18 @@ int main(int argc, char *argv[])
 
                                mm_util_init_encode_png(&encoded_data);
                                if (argv[3])
-                                       mm_util_png_encode_set_compression_level(&encoded_data, atoi(argv[3]));
-                               mm_util_png_encode_set_width(&encoded_data, decoded_data.width);
-                               mm_util_png_encode_set_height(&encoded_data, decoded_data.height);
+                                       compression = atoi(argv[3]);
+
+                               encoded_data.width = decoded_data.width;
+                               encoded_data.height = decoded_data.height;
 
                                if (!strcmp("decode", argv[1])) {
-                                       ret = mm_util_encode_to_png_memory(&data, &encoded_data);
+                                       ret = mm_util_encode_to_png_memory(&data, &encoded_data, compression);
                                        fprintf(stderr, "Finished encoding encoded_data.size %lu\n", (long unsigned int)encoded_data.size);
                                        _write_file(filename, encoded_data.data, encoded_data.size);
                                        free(encoded_data.data);
                                } else if (!strcmp("decode-mem", argv[1])) {
-                                       ret = mm_util_encode_to_png_file(&data, &encoded_data, filename);
+                                       ret = mm_util_encode_to_png_file(&data, &encoded_data, filename, compression);
                                }
                                free(decoded_data.data);
                                free(data);