53
53
DllDef libraw_data_t *libraw_init(unsigned int flags);
54
54
DllDef int libraw_open_file(libraw_data_t*, const char *);
55
55
DllDef int libraw_open_file_ex(libraw_data_t*, const char *, INT64 max_buff_sz);
57
DllDef int libraw_open_wfile(libraw_data_t*, const wchar_t *);
58
DllDef int libraw_open_wfile_ex(libraw_data_t*, const wchar_t *, INT64 max_buff_sz);
56
60
DllDef int libraw_open_buffer(libraw_data_t*, void * buffer, size_t size);
57
61
DllDef int libraw_unpack(libraw_data_t*);
58
62
DllDef int libraw_unpack_thumb(libraw_data_t*);
77
81
/* DCRAW compatibility */
78
82
DllDef int libraw_adjust_sizes_info_only(libraw_data_t*);
79
DllDef int libraw_dcraw_document_mode_processing(libraw_data_t*);
80
83
DllDef int libraw_dcraw_ppm_tiff_writer(libraw_data_t* lr,const char *filename);
81
84
DllDef int libraw_dcraw_thumb_writer(libraw_data_t* lr,const char *fname);
82
85
DllDef int libraw_dcraw_process(libraw_data_t* lr);
99
102
LibRaw(unsigned int flags = LIBRAW_OPTIONS_NONE);
101
103
libraw_output_params_t* output_params_ptr() { return &imgdata.params;}
102
104
int open_file(const char *fname, INT64 max_buffered_sz=LIBRAW_USE_STREAMS_DATASTREAM_MAXSIZE);
106
int open_file(const wchar_t *fname, INT64 max_buffered_sz=LIBRAW_USE_STREAMS_DATASTREAM_MAXSIZE);
103
108
int open_buffer(void *buffer, size_t size);
104
109
int open_datastream(LibRaw_abstract_datastream *);
105
110
int unpack(void);
124
129
static const char* strprogress(enum LibRaw_progress);
125
130
static const char* strerror(int p);
126
131
/* dcraw emulation */
127
int dcraw_document_mode_processing();
128
132
int dcraw_ppm_tiff_writer(const char *filename);
129
133
int dcraw_thumb_writer(const char *fname);
130
134
int dcraw_process(void);
131
135
/* memory writers */
132
libraw_processed_image_t* dcraw_make_mem_image(int *errcode=NULL);
133
libraw_processed_image_t* dcraw_make_mem_thumb(int *errcode=NULL);
136
virtual libraw_processed_image_t* dcraw_make_mem_image(int *errcode=NULL);
137
virtual libraw_processed_image_t* dcraw_make_mem_thumb(int *errcode=NULL);
134
138
static void dcraw_clear_mem(libraw_processed_image_t*);
136
140
/* Additional calls for make_mem_image */
140
144
/* free all internal data structures */
142
~LibRaw(void) { recycle(); delete tls; }
146
virtual ~LibRaw(void);
144
148
int COLOR(int row, int col) { return libraw_internal_data.internal_output_params.fuji_width? FCF(row,col):FC(row,col);}
146
150
int FC(int row,int col) { return (imgdata.idata.filters >> (((row << 1 & 14) | (col & 1)) << 1) & 3);}
147
int fc (int row, int col);
151
int fcol (int row, int col);
149
153
const char *unpack_function_name();
150
154
int get_decoder_info(libraw_decoder_info_t* d_info);
151
155
libraw_internal_data_t * get_internal_data_pointer(){ return &libraw_internal_data; }
157
/* Debanding filter */
158
int wf_remove_banding();
160
/* Phase one correction/subtractBL calls */
161
void phase_one_subtract_black(ushort *src, ushort *dest);
162
void phase_one_correct();
163
int set_rawspeed_camerafile(char *filename);
167
void phase_one_allocate_tempbuffer();
168
void phase_one_free_tempbuffer();
169
virtual int is_phaseone_compressed();
171
virtual void copy_fuji_uncropped(unsigned short cblack[4], unsigned short *dmaxp);
172
virtual void copy_bayer(unsigned short cblack[4], unsigned short *dmaxp);
173
virtual void fuji_rotate();
174
virtual void convert_to_rgb_loop(float out_cam[3][4]);
175
virtual void lin_interpolate_loop(int code[16][16][32],int size);
176
virtual void scale_colors_loop(float scale_mul[4]);
155
178
int FCF(int row,int col) {
179
203
libraw_callbacks_t callbacks;
181
205
LibRaw_constants rgb_constants;
182
207
void (LibRaw:: *write_thumb)();
183
208
void (LibRaw:: *write_fun)();
184
209
void (LibRaw:: *load_raw)();
248
274
int flip_index (int row, int col);
249
275
void gamma_curve (double pwr, double ts, int mode, int imax);
278
void *_rawspeed_camerameta;
279
void *_rawspeed_decoder;
280
void fix_after_rawspeed();
252
283
#ifdef LIBRAW_LIBRARY_BUILD
253
284
#include "internal/libraw_internal_funcs.h"