libopenraw
rawdata.h
1 /*
2  * libopenraw - rawdata.h
3  *
4  * Copyright (C) 2007 Hubert Figuiere
5  * Copyright (C) 2008 Novell, Inc.
6  *
7  * This library is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public License
9  * as published by the Free Software Foundation, either version 3 of
10  * the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library. If not, see
19  * <http://www.gnu.org/licenses/>.
20  */
21 
22 
23 #ifndef __LIBOPENRAW_RAWDATA_H_
24 #define __LIBOPENRAW_RAWDATA_H_
25 
26 #include <libopenraw/types.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32  typedef struct _RawData *ORRawDataRef;
33 
39  or_error or_get_extract_rawdata(const char* filename, uint32_t options,
40  ORRawDataRef *rawdata);
41 
42  ORRawDataRef
43  or_rawdata_new(void);
44 
45  or_error
46  or_rawdata_release(ORRawDataRef rawdata);
47 
48  or_data_type
49  or_rawdata_format(ORRawDataRef rawdata);
50 
51  void *
52  or_rawdata_data(ORRawDataRef rawdata);
53 
54  size_t
55  or_rawdata_data_size(ORRawDataRef rawdata);
56 
57  void
58  or_rawdata_dimensions(ORRawDataRef rawdata,
59  uint32_t *x, uint32_t *y);
60 
61  uint32_t
62  or_rawdata_bpc(ORRawDataRef rawdata);
63 
67  or_cfa_pattern
68  or_rawdata_get_cfa_pattern(ORRawDataRef rawdata);
69 
77  or_error
78  or_rawdata_get_minmax(ORRawDataRef rawdata, uint16_t *min, uint16_t *max);
79 
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 
85 #endif