* [vincent] fix autotools for various compilation problems
[openjpeg.git] / libopenjpeg / image.h
1 /*
2  * Copyright (c) 2005, Herve Drolon, FreeImage Team
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
15  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
18  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24  * POSSIBILITY OF SUCH DAMAGE.
25  */
26 #ifndef __IMAGE_H
27 #define __IMAGE_H
28 /**
29 @file image.h
30 @brief Implementation of operations on images (IMAGE)
31
32 The functions in IMAGE.C have for goal to realize operations on images.
33 */
34
35 struct opj_image;
36 struct opj_cp_v2;
37
38 /** @defgroup IMAGE IMAGE - Implementation of operations on images */
39 /*@{*/
40
41 /**
42 Create an empty image
43 @todo this function should be removed
44 @return returns an empty image if successful, returns NULL otherwise
45 */
46 opj_image_t* opj_image_create0(void);
47
48 /**
49 Create an empty image header
50 @return returns an image header if successful, returns NULL otherwise
51 */
52 opj_image_header_t* opj_image_header_create0(void);
53
54
55 /**
56  * Updates the components characteristics of the image from the coding parameters.
57  *
58  * @param p_image_header                the image header to update.
59  * @param p_cp                  the coding parameters from which to update the image.
60  */
61 void opj_image_comp_header_update(struct opj_image_header * p_image_header, const struct opj_cp_v2* p_cp);
62
63 /*@}*/
64
65 #endif /* __IMAGE_H */
66