1 /* -*- C++ -*-
2  * File: var_defines.h
3  * Copyright 2008-2018 LibRaw LLC (info@libraw.org)
4  * Created: Sat Mar  8, 2008
5  *
6  * LibRaw redefinitions of dcraw internal variables
7 
8 LibRaw is free software; you can redistribute it and/or modify
9 it under the terms of the one of two licenses as you choose:
10 
11 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
12    (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
13 
14 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
15    (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
16 
17  */
18 
19 #ifndef VAR_DEFINES_H
20 #define VAR_DEFINES_H
21 
22 
23 // imgdata.idata
24 #define make            (imgdata.idata.make)
25 #define model           (imgdata.idata.model)
26 #define software        (imgdata.idata.software)
27 #define is_raw          (imgdata.idata.raw_count)
28 #define dng_version     (imgdata.idata.dng_version)
29 #define is_foveon       (imgdata.idata.is_foveon)
30 #define colors          (imgdata.idata.colors)
31 #define cdesc           (imgdata.idata.cdesc)
32 #define filters         (imgdata.idata.filters)
33 #define xtrans          (imgdata.idata.xtrans)
34 #define xtrans_abs      (imgdata.idata.xtrans_abs)
35 #define xmpdata			(imgdata.idata.xmpdata)
36 #define xmplen			(imgdata.idata.xmplen)
37 //imgdata image
38 #define image           (imgdata.image)
39 #define raw_image       (imgdata.rawdata.raw_image)
40 #define color_image       (imgdata.rawdata.color_image)
41 
42 // imgdata.sizes
43 #define raw_height      (imgdata.sizes.raw_height)
44 #define raw_width       (imgdata.sizes.raw_width)
45 #define raw_pitch       (imgdata.sizes.raw_pitch)
46 #define height          (imgdata.sizes.height)
47 #define width           (imgdata.sizes.width)
48 #define top_margin      (imgdata.sizes.top_margin)
49 #define left_margin     (imgdata.sizes.left_margin)
50 #define bottom_margin   (imgdata.sizes.bottom_margin)
51 #define right_margin    (imgdata.sizes.right_margin)
52 #define iheight         (imgdata.sizes.iheight)
53 #define iwidth          (imgdata.sizes.iwidth)
54 #define pixel_aspect    (imgdata.sizes.pixel_aspect)
55 #define flip            (imgdata.sizes.flip)
56 #define mask            (imgdata.sizes.mask)
57 
58 //imgdata.color
59 #define white           (imgdata.color.white)
60 #define cam_mul         (imgdata.color.cam_mul)
61 #define pre_mul         (imgdata.color.pre_mul)
62 #define cmatrix         (imgdata.color.cmatrix)
63 #define rgb_cam         (imgdata.color.rgb_cam)
64 #ifndef SRC_USES_CURVE
65 #define curve           (imgdata.color.curve)
66 #endif
67 #ifndef SRC_USES_BLACK
68 #define black           (imgdata.color.black)
69 #define cblack           (imgdata.color.cblack)
70 #endif
71 #define maximum         (imgdata.color.maximum)
72 #define channel_maximum         (imgdata.color.channel_maximum)
73 #define profile_length  (imgdata.color.profile_length)
74 #define color_flags     (imgdata.color.color_flags)
75 #define ph1             (imgdata.color.phase_one_data)
76 #define flash_used      (imgdata.color.flash_used)
77 #define canon_ev        (imgdata.color.canon_ev)
78 #define model2          (imgdata.color.model2)
79 #define baseline_exposure  (imgdata.color.baseline_exposure)
80 
81 //imgdata.thumbnail
82 
83 #define thumb_width     (imgdata.thumbnail.twidth)
84 #define thumb_height    (imgdata.thumbnail.theight)
85 #define thumb_length    (imgdata.thumbnail.tlength)
86 
87 
88 //imgdata.others
89 #define iso_speed       (imgdata.other.iso_speed)
90 #define shutter         (imgdata.other.shutter)
91 #define aperture        (imgdata.other.aperture)
92 #define focal_len       (imgdata.other.focal_len)
93 #define timestamp       (imgdata.other.timestamp)
94 #define shot_order      (imgdata.other.shot_order)
95 #define gpsdata         (imgdata.other.gpsdata)
96 #define desc            (imgdata.other.desc)
97 #define artist          (imgdata.other.artist)
98 
99 //imgdata.output
100 #define greybox         (imgdata.params.greybox)
101 #define cropbox         (imgdata.params.cropbox)
102 #define aber            (imgdata.params.aber)
103 #define gamm            (imgdata.params.gamm)
104 #define user_mul        (imgdata.params.user_mul)
105 #define shot_select     (imgdata.params.shot_select)
106 #define bright          (imgdata.params.bright)
107 #define threshold       (imgdata.params.threshold)
108 #define half_size       (imgdata.params.half_size)
109 #define four_color_rgb  (imgdata.params.four_color_rgb)
110 #define highlight       (imgdata.params.highlight)
111 //#define verbose         (imgdata.params.verbose)
112 #define use_auto_wb     (imgdata.params.use_auto_wb)
113 #define use_camera_wb   (imgdata.params.use_camera_wb)
114 #define use_camera_matrix (imgdata.params.use_camera_matrix)
115 #define output_color    (imgdata.params.output_color)
116 #define output_bps      (imgdata.params.output_bps)
117 #define gamma_16bit      (imgdata.params.gamma_16bit)
118 #define output_tiff     (imgdata.params.output_tiff)
119 #define med_passes      (imgdata.params.med_passes)
120 #define no_auto_bright  (imgdata.params.no_auto_bright)
121 #define auto_bright_thr  (imgdata.params.auto_bright_thr)
122 #define use_fuji_rotate (imgdata.params.use_fuji_rotate)
123 #define filtering_mode (imgdata.params.filtering_mode)
124 
125 // DCB
126 #define dcb_iterations   (imgdata.params.iterations)
127 #define dcb_enhance_fl   (imgdata.params.dcb_enhance)
128 #define fbdd_noiserd     (imgdata.params.fbdd_noiserd)
129 
130 //rgb_constants
131 #define xyz_rgb         (rgb_constants.xyz_rgb)
132 #define d65_white       (rgb_constants.d65_white)
133 
134 //libraw_internal_data.internal_data
135 #define meta_data       (libraw_internal_data.internal_data.meta_data)
136 #define ifp             libraw_internal_data.internal_data.input
137 #define ifname          ((char*)libraw_internal_data.internal_data.input->fname())
138 #define ofp             libraw_internal_data.internal_data.output
139 #define profile_offset  (libraw_internal_data.internal_data.profile_offset)
140 #define thumb_offset    (libraw_internal_data.internal_data.toffset)
141 #define pana_black		(libraw_internal_data.internal_data.pana_black)
142 
143 //libraw_internal_data.internal_output_params
144 #define mix_green       (libraw_internal_data.internal_output_params.mix_green)
145 #define raw_color       (libraw_internal_data.internal_output_params.raw_color)
146 #define use_gamma       (libraw_internal_data.internal_output_params.use_gamma)
147 #define zero_is_bad     (libraw_internal_data.internal_output_params.zero_is_bad)
148 #ifndef SRC_USES_SHRINK
149 #define shrink          (libraw_internal_data.internal_output_params.shrink)
150 #endif
151 #define fuji_width      (libraw_internal_data.internal_output_params.fuji_width)
152 
153 
154 //libraw_internal_data.output_data
155 #define histogram       (libraw_internal_data.output_data.histogram)
156 #define oprof           (libraw_internal_data.output_data.oprof)
157 
158 //libraw_internal_data.identify_data
159 #define exif_cfa        (libraw_internal_data.identify_data.olympus_exif_cfa)
160 #define unique_id       (libraw_internal_data.identify_data.unique_id)
161 #define OlyID           (libraw_internal_data.identify_data.OlyID)
162 #define tiff_nifds      (libraw_internal_data.identify_data.tiff_nifds)
163 #define tiff_flip       (libraw_internal_data.identify_data.tiff_flip)
164 
165 //libraw_internal_data.unpacker_data
166 #define order           (libraw_internal_data.unpacker_data.order)
167 #define data_error      (libraw_internal_data.unpacker_data.data_error)
168 #define cr2_slice       (libraw_internal_data.unpacker_data.cr2_slice)
169 #define sraw_mul        (libraw_internal_data.unpacker_data.sraw_mul)
170 #define kodak_cbpp      (libraw_internal_data.unpacker_data.kodak_cbpp)
171 #define strip_offset    (libraw_internal_data.unpacker_data.strip_offset)
172 #define data_offset     (libraw_internal_data.unpacker_data.data_offset)
173 #define data_size     (libraw_internal_data.unpacker_data.data_size)
174 #define meta_offset     (libraw_internal_data.unpacker_data.meta_offset)
175 #define meta_length     (libraw_internal_data.unpacker_data.meta_length)
176 #define thumb_misc      (libraw_internal_data.unpacker_data.thumb_misc)
177 #define fuji_layout     (libraw_internal_data.unpacker_data.fuji_layout)
178 #define tiff_samples    (libraw_internal_data.unpacker_data.tiff_samples)
179 #define tiff_bps        (libraw_internal_data.unpacker_data.tiff_bps)
180 #define tiff_compress   (libraw_internal_data.unpacker_data.tiff_compress)
181 #define zero_after_ff   (libraw_internal_data.unpacker_data.zero_after_ff)
182 #define tile_width      (libraw_internal_data.unpacker_data.tile_width)
183 #define tile_length     (libraw_internal_data.unpacker_data.tile_length)
184 #define load_flags      (libraw_internal_data.unpacker_data.load_flags)
185 #define pana_encoding   (libraw_internal_data.unpacker_data.pana_encoding)
186 #define pana_bpp        (libraw_internal_data.unpacker_data.pana_bpp)
187 
188 #ifdef LIBRAW_IO_REDEFINED
189 #define fread(ptr,size,n,stream) stream->read(ptr,size,n)
190 #define fseek(stream,o,w)	 stream->seek(o,w)
191 #define fseeko(stream,o,w)	 stream->seek(o,w)
192 #define ftell(stream)		 stream->tell()
193 #define ftello(stream)		 stream->tell()
194 #define feof(stream)		 stream->eof()
195 #ifdef getc
196 #undef getc
197 #endif
198 #define getc(stream)		 stream->get_char()
199 #define fgetc(stream)		 stream->get_char()
200 #define fgetcb(stream)		 stream->get_char_buf()
201 #define fgets(str,n,stream)	 stream->gets(str,n)
202 #define fscanf(stream,fmt,ptr)	 stream->scanf_one(fmt,ptr)
203 #endif
204 
205 #endif
206