Modify parameters in encoding APIs have been changed from mm_image_info_s to mm_util_...
[platform/core/multimedia/libmm-utility.git] / gif / include / mm_util_gif.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_GIF_H__
23 #define __MM_UTIL_GIF_H__
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 #include <glib.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 /**
41  * Disposal mode for gif encoding
42  */
43 typedef enum {
44         MM_UTIL_GIF_DISPOSAL_UNSPECIFIED = 0,     /**< No disposal specified. */
45         MM_UTIL_GIF_DISPOSAL_DO_NOT      = 1,     /**< Leave image in place. */
46         MM_UTIL_GIF_DISPOSAL_BACKGROUND  = 2,     /**< Set area too background color. */
47         MM_UTIL_GIF_DISPOSAL_PREVIOUS    = 3,     /**< Restore to previous content. */
48 } mm_util_gif_disposal;
49
50 typedef void* mm_gif_file_h;
51
52 int mm_util_decode_from_gif_file(const char *file_path, mm_util_image_h *decoded);
53 int mm_util_decode_from_gif_memory(void *memory, const size_t src_size, mm_util_image_h *decoded);
54 int mm_util_encode_to_gif_file(mm_util_image_h *images, const unsigned int image_count, const char *file_path);
55 int mm_util_encode_to_gif_memory(mm_util_image_h *images, const unsigned int image_count, void **buffer, size_t *size);
56
57 /* a-gif extras */
58 int mm_util_gif_encode_create(mm_gif_file_h *gif_file_h);
59 int mm_util_gif_encode_set_file(mm_gif_file_h gif_file_h, const char *file_name);
60 int mm_util_gif_encode_set_mem(mm_gif_file_h gif_file_h, void **data, size_t *data_size);
61 int mm_util_gif_encode_add_image(mm_gif_file_h gif_file_h, mm_image_info_s * gif_image_h);
62 int mm_util_gif_encode_save(mm_gif_file_h gif_file_h);
63 void mm_util_gif_encode_destroy(mm_gif_file_h gif_file_h);
64 /* a-gif extras */
65
66 #ifdef __cplusplus
67 }
68 #endif
69 #endif    /*__MM_UTIL_GIF_H__*/