Modify parameters in encoding APIs have been changed from mm_image_info_s to mm_util_...
[platform/core/multimedia/libmm-utility.git] / png / include / mm_util_png.h
1 /*
2  * libmm-utility
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Vineeth T M <vineeth.tm@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #ifndef __MM_UTIL_PNG_H__
23 #define __MM_UTIL_PNG_H__
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 #include <stdint.h>
30 #include "mm_util_type.h"
31
32 /**
33     @addtogroup UTILITY
34     @{
35
36     @par
37     This part describes the APIs with repect to multimedia image library.
38 */
39
40 typedef enum {
41         MM_UTIL_COMPRESSION_0 = 0,      /* No compression */
42         MM_UTIL_COMPRESSION_1 = 1,      /* Best speed */
43         MM_UTIL_COMPRESSION_2 = 2,
44         MM_UTIL_COMPRESSION_3 = 3,
45         MM_UTIL_COMPRESSION_4 = 4,
46         MM_UTIL_COMPRESSION_5 = 5,
47         MM_UTIL_COMPRESSION_6 = 6,      /* Default compression */
48         MM_UTIL_COMPRESSION_7 = 7,
49         MM_UTIL_COMPRESSION_8 = 8,
50         MM_UTIL_COMPRESSION_9 = 9       /* Best compression */
51 } mm_util_png_compression;
52
53 int mm_util_decode_from_png_file(const char *file_path, mm_util_image_h *decoded);
54 int mm_util_decode_from_png_memory(void *memory, const size_t src_size, mm_util_image_h *decoded);
55 int mm_util_encode_to_png_file(mm_util_image_h decoded, mm_util_png_compression compression_level, const char *file_path);
56 int mm_util_encode_to_png_memory(mm_util_image_h decoded, mm_util_png_compression compression_level, void **buffer, size_t *size);
57
58 #ifdef __cplusplus
59 }
60 #endif
61 #endif    /*__MM_UTIL_PNG_H__*/