Modify parameters in encoding APIs have been changed from mm_image_info_s to mm_util_...
[platform/core/multimedia/libmm-utility.git] / jpeg / include / mm_util_jpeg.h
1 /*
2  * libmm-utility
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: YoungHun Kim <yh8004.kim@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_JPEG_H__
23 #define __MM_UTIL_JPEG_H__
24
25 #include "mm_util_type.h"
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /**
32     @addtogroup UTILITY
33     @{
34
35     @par
36     This part describes the APIs with repect to multimedia image library.
37 */
38
39 /**
40  * downscale decoding for jpeg
41  */
42 typedef enum {
43         MM_UTIL_JPEG_DECODE_DOWNSCALE_1_1 = 1,  /** 1/1 downscale decode */
44         MM_UTIL_JPEG_DECODE_DOWNSCALE_1_2 = 2,  /** 1/2 downscale decode */
45         MM_UTIL_JPEG_DECODE_DOWNSCALE_1_4 = 4,  /** 1/4 downscale decode */
46         MM_UTIL_JPEG_DECODE_DOWNSCALE_1_8 = 8,  /** 1/8 downscale decode */
47 } mm_util_jpeg_decode_downscale;
48
49 int mm_util_jpeg_encode_to_file(mm_util_image_h decoded, int quality, const char *file_path);
50 int mm_util_jpeg_encode_to_memory(void **buffer, unsigned int *size, unsigned char *src, unsigned int width, unsigned int height, mm_util_color_format_e color, int quality);
51 int mm_util_encode_to_jpeg_memory(mm_util_image_h decoded, int quality, void **buffer, size_t *size);
52 int mm_util_decode_from_jpeg_file(const char *file_path, mm_util_color_format_e fmt, mm_util_jpeg_decode_downscale downscale, mm_util_image_h *decoded);
53 int mm_util_decode_from_jpeg_memory(void *memory, const size_t src_size, mm_util_color_format_e fmt, mm_util_jpeg_decode_downscale downscale, mm_util_image_h *decoded);
54
55
56 #ifdef __cplusplus
57 }
58 #endif
59
60 #endif    /*__MM_UTIL_JPEG_H__*/
61