*/
int mm_util_decode_from_png_memory(mm_util_png_data * decoded, void *memory, unsigned long long src_size);
-/**
- * This function initializes the values of mm_util_png.
- * This function should be called before calling the actual decoding.
- *
- * @param data [in] pointer of mm_util_png_data.
- * @return None.
- * @remark
- * @see mm_util_png, mm_util_png_data, mm_util_decode_from_png_file, mm_util_decode_from_png_memory
- * @since R1, 1.0
- */
-void mm_util_init_decode_png(mm_util_png_data * data);
-
/**
* This function extracts raw data to png file
*
*/
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.
- * This function should be called before calling the actual encoding.
- *
- * @param data [in] pointer of mm_util_png_data.
- * @return None.
- * @remark
- * @see mm_util_png, mm_util_png_data, mm_util_encode_to_png_file, mm_util_encode_to_png_memory
- * @since R1, 1.0
- */
-void mm_util_init_encode_png(mm_util_png_data * data);
-
#ifdef __cplusplus
}
#endif
}
}
+void __init_decode_png(mm_util_png *png)
+{
+ mm_util_debug("mm_util_init_decode_png");
+ png->transform = PNG_TRANSFORM_IDENTITY;
+}
+
static int __read_png(mm_util_png_data *decoded, FILE * fp, void *memory)
{
png_structp png_ptr;
mm_util_debug("__read_png");
decoded->data = NULL;
+ __init_decode_png(&decoded->png);
png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, (png_voidp) NULL, __user_error_fn, __user_warning_fn);
return ret;
}
-void mm_util_init_decode_png(mm_util_png_data *data)
-{
- mm_util_debug("mm_util_init_decode_png");
- data->png.transform = PNG_TRANSFORM_IDENTITY;
-}
-
static void user_flush_data(png_structp png_ptr G_GNUC_UNUSED)
{
/* do nothing */
}
}
+void __init_encode_png(mm_util_png *png)
+{
+ mm_util_debug("mm_util_init_encode_png");
+ png->compression_level = MM_UTIL_COMPRESSION_6;
+ png->filter = PNG_FILTER_NONE;
+ png->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+ png->filter_type = PNG_FILTER_TYPE_BASE;
+ png->interlace_type = PNG_INTERLACE_NONE;
+ png->bit_depth = MM_UTIL_BIT_DEPTH_8;
+}
+
int write_png(void **data, mm_util_png_data *encoded, FILE *fp, mm_util_png_compression compression_level)
{
png_structp png_ptr;
mm_util_debug("write_png");
encoded->data = NULL;
encoded->size = 0;
+
+ __init_encode_png(&encoded->png);
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);
return ret;
}
-
-void mm_util_init_encode_png(mm_util_png_data *data)
-{
- mm_util_debug("mm_util_init_encode_png");
- data->png.compression_level = MM_UTIL_COMPRESSION_6;
- data->png.filter = PNG_FILTER_NONE;
- data->png.color_type = PNG_COLOR_TYPE_RGB_ALPHA;
- data->png.filter_type = PNG_FILTER_TYPE_BASE;
- data->png.interlace_type = PNG_INTERLACE_NONE;
- data->png.bit_depth = MM_UTIL_BIT_DEPTH_8;
-}
}
if (!strcmp("decode", argv[1])) {
- mm_util_init_decode_png(&decoded_data);
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)) {
- mm_util_init_decode_png(&decoded_data);
ret = mm_util_decode_from_png_memory(&decoded_data, &src, src_size);
free(src);
data = calloc(1, decoded_data.size);
memcpy(data, decoded_data.data, decoded_data.size);
- mm_util_init_encode_png(&encoded_data);
if (argv[3])
compression = atoi(argv[3]);