27 #include <libopenraw/consts.h> 28 #include <libopenraw/types.h> 30 #include "rawdata.hpp" 31 #include "cfapattern.hpp" 43 #define CHECK_PTR(p, r) \ 48 or_error or_get_extract_rawdata(
const char *filename, uint32_t options,
49 ORRawDataRef *rawdata)
51 or_error ret = OR_ERROR_NONE;
54 *pRawData = RawData::getAndExtractRawData(filename, options, ret);
58 ORRawDataRef or_rawdata_new(
void)
61 return reinterpret_cast<ORRawDataRef
>(rawdata);
64 or_error or_rawdata_release(ORRawDataRef rawdata)
66 if (rawdata == NULL) {
67 return OR_ERROR_NOTAREF;
69 delete reinterpret_cast<RawData *
>(rawdata);
73 or_data_type or_rawdata_format(ORRawDataRef rawdata)
75 return reinterpret_cast<RawData *
>(rawdata)->dataType();
78 void *or_rawdata_data(ORRawDataRef rawdata)
80 return reinterpret_cast<RawData *
>(rawdata)->data();
83 size_t or_rawdata_data_size(ORRawDataRef rawdata)
85 return reinterpret_cast<RawData *
>(rawdata)->size();
88 void or_rawdata_dimensions(ORRawDataRef rawdata, uint32_t *width,
96 *height = t->height();
100 void or_rawdata_get_roi(ORRawDataRef rawdata, uint32_t *x, uint32_t *y,
101 uint32_t *width, uint32_t *height)
111 *width = t->roi_width();
113 if (height != NULL) {
114 *height = t->roi_height();
118 uint32_t or_rawdata_bpc(ORRawDataRef rawdata)
120 return reinterpret_cast<RawData *
>(rawdata)->bpc();
123 or_cfa_pattern or_rawdata_get_cfa_pattern_type(ORRawDataRef rawdata)
125 return reinterpret_cast<RawData *
>(rawdata)->cfaPattern()->patternType();
128 ORCfaPatternRef or_rawdata_get_cfa_pattern(ORRawDataRef rawdata)
130 return reinterpret_cast<ORCfaPatternRef
>(
reinterpret_cast<RawData *
>(rawdata)->cfaPattern());
133 uint32_t or_rawdata_get_compression(ORRawDataRef rawdata)
135 return reinterpret_cast<RawData *
>(rawdata)->compression();
138 or_error or_rawdata_get_levels(ORRawDataRef rawdata, uint16_t *black,
143 *black = t->blackLevel();
146 *white = t->whiteLevel();
148 return OR_ERROR_NONE;
151 const double *or_rawdata_get_colour_matrix(ORRawDataRef rawdata, uint32_t index,
154 uint32_t matrix_size = 0;
156 const double *matrix =
nullptr;
182 or_error or_rawdata_get_rendered_image(ORRawDataRef rawdata,
183 ORBitmapDataRef bitmapdata,
187 CHECK_PTR(rawdata, OR_ERROR_NOTAREF);
189 *reinterpret_cast<BitmapData *>(bitmapdata), options);
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.
::or_error getRenderedImage(BitmapData &bitmapdata, uint32_t options)
const double * getColourMatrix2(uint32_t &size) const
const double * getColourMatrix1(uint32_t &size) const