1 /* -*- C++ -*-
2  * File: var_defines.h
3  * Copyright 2008-2021 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 #define normalized_make   (imgdata.idata.normalized_make)
42 #define normalized_model  (imgdata.idata.normalized_model)
43 #define maker_index       (imgdata.idata.maker_index)
44 
45 // imgdata.sizes
46 #define raw_height        (imgdata.sizes.raw_height)
47 #define raw_width         (imgdata.sizes.raw_width)
48 #define raw_pitch         (imgdata.sizes.raw_pitch)
49 #define height            (imgdata.sizes.height)
50 #define width             (imgdata.sizes.width)
51 #define top_margin        (imgdata.sizes.top_margin)
52 #define left_margin       (imgdata.sizes.left_margin)
53 #define bottom_margin     (imgdata.sizes.bottom_margin)
54 #define right_margin      (imgdata.sizes.right_margin)
55 #define iheight           (imgdata.sizes.iheight)
56 #define iwidth            (imgdata.sizes.iwidth)
57 #define pixel_aspect      (imgdata.sizes.pixel_aspect)
58 #define flip              (imgdata.sizes.flip)
59 #define mask              (imgdata.sizes.mask)
60 #define raw_stride        (libraw_internal_data.unpacker_data.raw_stride)
61 
62 //imgdata.color
63 #define white             (imgdata.color.white)
64 #define cam_mul           (imgdata.color.cam_mul)
65 #define pre_mul           (imgdata.color.pre_mul)
66 #define cmatrix           (imgdata.color.cmatrix)
67 #define rgb_cam           (imgdata.color.rgb_cam)
68 #ifndef SRC_USES_CURVE
69 #define curve             (imgdata.color.curve)
70 #endif
71 #ifndef SRC_USES_BLACK
72 #define black             (imgdata.color.black)
73 #define cblack            (imgdata.color.cblack)
74 #endif
75 #define maximum           (imgdata.color.maximum)
76 #define channel_maximum   (imgdata.color.channel_maximum)
77 #define profile_length    (imgdata.color.profile_length)
78 #define color_flags       (imgdata.color.color_flags)
79 #define ph1               (imgdata.color.phase_one_data)
80 #define flash_used        (imgdata.color.flash_used)
81 #define canon_ev          (imgdata.color.canon_ev)
82 #define model2            (imgdata.color.model2)
83 
84 //imgdata.thumbnail
85 #define thumb_width       (imgdata.thumbnail.twidth)
86 #define thumb_height      (imgdata.thumbnail.theight)
87 #define thumb_length      (imgdata.thumbnail.tlength)
88 
89 
90 //imgdata.others
91 #define iso_speed         (imgdata.other.iso_speed)
92 #define shutter           (imgdata.other.shutter)
93 #define aperture          (imgdata.other.aperture)
94 #define focal_len         (imgdata.other.focal_len)
95 #define timestamp         (imgdata.other.timestamp)
96 #define shot_order        (imgdata.other.shot_order)
97 #define gpsdata           (imgdata.other.gpsdata)
98 #define desc              (imgdata.other.desc)
99 #define artist            (imgdata.other.artist)
100 
101 #define FujiCropMode      (imgdata.makernotes.fuji.CropMode)
102 
103 //imgdata.output
104 #define greybox           (imgdata.params.greybox)
105 #define cropbox           (imgdata.params.cropbox)
106 #define aber              (imgdata.params.aber)
107 #define gamm              (imgdata.params.gamm)
108 #define user_mul          (imgdata.params.user_mul)
109 #define shot_select       (imgdata.rawparams.shot_select)
110 #define bright            (imgdata.params.bright)
111 #define threshold         (imgdata.params.threshold)
112 #define half_size         (imgdata.params.half_size)
113 #define four_color_rgb    (imgdata.params.four_color_rgb)
114 #define highlight         (imgdata.params.highlight)
115 #define use_auto_wb       (imgdata.params.use_auto_wb)
116 #define use_camera_wb     (imgdata.params.use_camera_wb)
117 #define use_camera_matrix (imgdata.params.use_camera_matrix)
118 #define output_color      (imgdata.params.output_color)
119 #define output_bps        (imgdata.params.output_bps)
120 #define gamma_16bit       (imgdata.params.gamma_16bit)
121 #define output_tiff       (imgdata.params.output_tiff)
122 #define med_passes        (imgdata.params.med_passes)
123 #define no_auto_bright    (imgdata.params.no_auto_bright)
124 #define auto_bright_thr   (imgdata.params.auto_bright_thr)
125 #define use_fuji_rotate   (imgdata.params.use_fuji_rotate)
126 #define filtering_mode    (imgdata.params.filtering_mode)
127 
128 // DCB
129 #define dcb_iterations    (imgdata.params.iterations)
130 #define dcb_enhance_fl    (imgdata.params.dcb_enhance)
131 #define fbdd_noiserd      (imgdata.params.fbdd_noiserd)
132 
133 //libraw_internal_data.internal_data
134 #define meta_data         (libraw_internal_data.internal_data.meta_data)
135 #define ifp               libraw_internal_data.internal_data.input
136 #define ifname            ((char*)libraw_internal_data.internal_data.input->fname())
137 #define ofp               libraw_internal_data.internal_data.output
138 #define profile_offset    (libraw_internal_data.internal_data.profile_offset)
139 #define thumb_offset      (libraw_internal_data.internal_data.toffset)
140 #define pana_black        (libraw_internal_data.internal_data.pana_black)
141 
142 //libraw_internal_data.internal_output_params
143 #define mix_green         (libraw_internal_data.internal_output_params.mix_green)
144 #define raw_color         (libraw_internal_data.internal_output_params.raw_color)
145 #define use_gamma         (libraw_internal_data.internal_output_params.use_gamma)
146 #define zero_is_bad       (libraw_internal_data.internal_output_params.zero_is_bad)
147 #ifndef SRC_USES_SHRINK
148 #define shrink            (libraw_internal_data.internal_output_params.shrink)
149 #endif
150 #define fuji_width        (libraw_internal_data.internal_output_params.fuji_width)
151 
152 
153 //libraw_internal_data.output_data
154 #define histogram         (libraw_internal_data.output_data.histogram)
155 #define oprof             (libraw_internal_data.output_data.oprof)
156 
157 //libraw_internal_data.identify_data
158 #define exif_cfa          (libraw_internal_data.identify_data.olympus_exif_cfa)
159 #define unique_id         (libraw_internal_data.identify_data.unique_id)
160 #define OlyID             (libraw_internal_data.identify_data.OlyID)
161 #define tiff_nifds        (libraw_internal_data.identify_data.tiff_nifds)
162 #define tiff_flip         (libraw_internal_data.identify_data.tiff_flip)
163 #define metadata_blocks   (libraw_internal_data.identify_data.metadata_blocks)
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 tiff_sampleformat (libraw_internal_data.unpacker_data.tiff_sampleformat)
182 #define zero_after_ff     (libraw_internal_data.unpacker_data.zero_after_ff)
183 #define tile_width        (libraw_internal_data.unpacker_data.tile_width)
184 #define tile_length       (libraw_internal_data.unpacker_data.tile_length)
185 #define load_flags        (libraw_internal_data.unpacker_data.load_flags)
186 #define pana_encoding     (libraw_internal_data.unpacker_data.pana_encoding)
187 #define pana_bpp          (libraw_internal_data.unpacker_data.pana_bpp)
188 #define CM_found          (libraw_internal_data.unpacker_data.CM_found)
189 
190 #define is_NikonTransfer  (libraw_internal_data.unpacker_data.is_NikonTransfer)
191 #define is_Olympus        (libraw_internal_data.unpacker_data.is_Olympus)
192 #define OlympusDNG_SubDirOffsetValid (libraw_internal_data.unpacker_data.OlympusDNG_SubDirOffsetValid)
193 #define is_Sony           (libraw_internal_data.unpacker_data.is_Sony)
194 #define is_PentaxRicohMakernotes    (libraw_internal_data.unpacker_data.is_PentaxRicohMakernotes)
195 #define is_pana_raw       (libraw_internal_data.unpacker_data.is_pana_raw)
196 
197 
198 #ifdef LIBRAW_IO_REDEFINED
199 #define fread(ptr,size,n,stream)   stream->read(ptr,size,n)
200 #define fseek(stream,o,w)          stream->seek(o,w)
201 #define fseeko(stream,o,w)         stream->seek(o,w)
202 #define ftell(stream)              stream->tell()
203 #define ftello(stream)             stream->tell()
204 #define feof(stream)               stream->eof()
205 #ifdef getc
206 #undef getc
207 #endif
208 #define getc(stream)               stream->get_char()
209 #define fgetc(stream)              stream->get_char()
210 #define fgetcb(stream)             stream->get_char_buf()
211 #define fgets(str,n,stream)        stream->gets(str,n)
212 #define fscanf(stream,fmt,ptr)     stream->scanf_one(fmt,ptr)
213 #endif
214 
215 #endif
216