~ubuntu-branches/ubuntu/saucy/darktable/saucy

« back to all changes in this revision

Viewing changes to src/rawspeed/RawSpeed/RawSpeed.cpp

  • Committer: Bazaar Package Importer
  • Author(s): David Bremner
  • Date: 2011-04-14 23:42:12 UTC
  • Revision ID: james.westby@ubuntu.com-20110414234212-kuffcz5wiu18v6ra
Tags: upstream-0.8
ImportĀ upstreamĀ versionĀ 0.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "stdafx.h"
 
2
#include "FileReader.h"
 
3
#include "TiffParser.h"
 
4
#include "RawDecoder.h"
 
5
#include "CameraMetaData.h"
 
6
#include "ColorFilterArray.h"
 
7
 
 
8
/* 
 
9
    RawSpeed - RAW file decoder.
 
10
 
 
11
    Copyright (C) 2009 Klaus Post
 
12
 
 
13
    This library is free software; you can redistribute it and/or
 
14
    modify it under the terms of the GNU Lesser General Public
 
15
    License as published by the Free Software Foundation; either
 
16
    version 2 of the License, or (at your option) any later version.
 
17
 
 
18
    This library is distributed in the hope that it will be useful,
 
19
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
20
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
21
    Lesser General Public License for more details.
 
22
 
 
23
    You should have received a copy of the GNU Lesser General Public
 
24
    License along with this library; if not, write to the Free Software
 
25
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
26
 
 
27
    http://www.klauspost.com
 
28
*/
 
29
 
 
30
using namespace RawSpeed;
 
31
 
 
32
//#define _USE_GFL_
 
33
#ifdef _USE_GFL_
 
34
#include "libgfl.h"
 
35
#pragma comment(lib, "libgfl.lib") 
 
36
#endif
 
37
 
 
38
int startTime;
 
39
 
 
40
// Open file, or test corrupt file
 
41
#if 0
 
42
// Open file and save as tiff
 
43
void OpenFile(FileReader f, CameraMetaData *meta) {
 
44
  RawDecoder *d = 0;
 
45
  FileMap* m = 0;
 
46
  try {
 
47
//    wprintf(L"Opening:%s\n",f.Filename());
 
48
    try {
 
49
      m = f.readFile();         
 
50
    } catch (FileIOException e) {
 
51
      printf("Could not open image:%s\n", e.what());
 
52
      return;
 
53
    }
 
54
    TiffParser t(m);
 
55
    t.parseData();
 
56
    d = t.getDecoder();
 
57
    try {
 
58
      d->checkSupport(meta);
 
59
      startTime = GetTickCount();
 
60
 
 
61
      d->decodeRaw();
 
62
      d->decodeMetaData(meta);
 
63
      RawImage r = d->mRaw;
 
64
      r->scaleBlackWhite();
 
65
 
 
66
      uint32 time = GetTickCount()-startTime;
 
67
      float mpps = (float)r->dim.x * (float)r->dim.y * (float)r->getCpp()  / (1000.0f * (float)time);
 
68
      wprintf(L"Decoding %s took: %u ms, %4.2f Mpixel/s\n", f.Filename(), time, mpps);
 
69
 
 
70
      for (uint32 i = 0; i < d->errors.size(); i++) {
 
71
        printf("Error Encountered:%s", d->errors[i]);
 
72
      }
 
73
      if (r->isCFA) {
 
74
//        printf("DCRAW filter:%x\n",r->cfa.getDcrawFilter());
 
75
//        printf(r->cfa.asString().c_str());
 
76
      }
 
77
 
 
78
#ifdef _USE_GFL_
 
79
      GFL_BITMAP* b;
 
80
      if (r->getCpp() == 1)
 
81
        b = gflAllockBitmapEx(GFL_GREY,d->mRaw->dim.x, d->mRaw->dim.y,16,16,NULL);
 
82
      else if (r->getCpp() == 3)
 
83
        b = gflAllockBitmapEx(GFL_RGB,d->mRaw->dim.x, d->mRaw->dim.y,16,8,NULL);
 
84
      else
 
85
        ThrowRDE("Unable to save image.");
 
86
 
 
87
      BitBlt(b->Data,b->BytesPerLine, r->getData(),r->pitch, r->dim.x*r->bpp, r->dim.y );
 
88
 
 
89
      GFL_SAVE_PARAMS s;
 
90
      gflGetDefaultSaveParams(&s);
 
91
      s.FormatIndex = gflGetFormatIndexByName("tiff");
 
92
 
 
93
      char ascii[1024];
 
94
      WideCharToMultiByte(CP_ACP, 0, f.Filename(), -1, ascii, 1024, NULL, NULL);
 
95
      string savename(ascii);
 
96
      size_t index = savename.rfind('.');
 
97
      savename = savename.substr(0,index).append(".tiff");
 
98
 
 
99
      gflSaveBitmap((char*)savename.c_str(),b,&s);
 
100
      gflFreeBitmap(b);
 
101
#endif
 
102
    } catch (RawDecoderException e) {
 
103
      wchar_t uni[1024];
 
104
      MultiByteToWideChar(CP_ACP, 0, e.what(), -1, uni, 1024);
 
105
      //    MessageBox(0,uni, L"RawDecoder Exception",0);
 
106
      wprintf(L"Raw Decoder Exception:%s\n",uni);
 
107
    }
 
108
  } catch (TiffParserException e) {
 
109
    wchar_t uni[1024];
 
110
    MultiByteToWideChar(CP_ACP, 0, e.what(), -1, uni, 1024);
 
111
    //    MessageBox(0,uni, L"Tiff Parser error",0);
 
112
    wprintf(L"Tiff Exception:%s\n",uni);
 
113
  }
 
114
  if (d) delete d;
 
115
  if (m) delete m;
 
116
 
 
117
}
 
118
 
 
119
#else
 
120
 
 
121
// Test single file multiple times in corrupted state
 
122
// Used to test for states that might crash the app.
 
123
 
 
124
void OpenFile(FileReader f, CameraMetaData *meta) {
 
125
  RawDecoder *d = 0;
 
126
  FileMap* m = 0;
 
127
  wprintf(L"Opening:%s\n",f.Filename());
 
128
  try {
 
129
    m = f.readFile();
 
130
  } catch (FileIOException e) {
 
131
    printf("Could not open image:%s\n", e.what());
 
132
    return;
 
133
  }
 
134
  srand(0x77C0C077);  // Hardcoded seed for re-producability (on the same platform)
 
135
 
 
136
  int tests = 200;
 
137
  // Try 50 permutations
 
138
  for (int i = 0 ; i < tests; i++) {  
 
139
    FileMap *m2 = m->clone();
 
140
    try {    
 
141
      // Insert 1000 random errors in file
 
142
      m2->corrupt(1000);
 
143
      TiffParser t(m2);
 
144
      t.parseData();
 
145
      d = t.getDecoder();
 
146
 
 
147
      startTime = GetTickCount();
 
148
 
 
149
      d->decodeRaw();
 
150
      d->decodeMetaData(meta);
 
151
      RawImage r = d->mRaw;
 
152
 
 
153
      uint32 time = GetTickCount()-startTime;
 
154
      float mpps = (float)r->dim.x * (float)r->dim.y * (float)r->getCpp()  / (1000.0f * (float)time);
 
155
      wprintf(L"(%d/%d) Decoding %s took: %u ms, %4.2f Mpixel/s\n", i+1, tests*2, f.Filename(), time, mpps);
 
156
      if (d->errors.size())
 
157
        printf("%u Error Encountered.\n", d->errors.size());
 
158
/*      for (uint32 i = 0; i < d->errors.size(); i++) {
 
159
        printf("Error Encountered:%s\n", d->errors[i]);
 
160
      }*/
 
161
    } catch (RawDecoderException e) {
 
162
      wchar_t uni[1024];
 
163
      MultiByteToWideChar(CP_ACP, 0, e.what(), -1, uni, 1024);
 
164
      wprintf(L"Raw Decoder Exception:%s\n",uni);
 
165
    } catch (TiffParserException e) {
 
166
      wchar_t uni[1024];
 
167
      MultiByteToWideChar(CP_ACP, 0, e.what(), -1, uni, 1024);
 
168
      wprintf(L"Tiff Parser Exception:%s\n",uni);
 
169
    }
 
170
    delete m2;
 
171
    if (d)
 
172
      delete d;
 
173
    d = 0;
 
174
  }
 
175
  srand(0x77C0C077);  // Hardcoded seed for re-producability (on the same platform)
 
176
  wprintf(L"Performing truncation tests\n");
 
177
  for (int i = 0 ; i < tests; i++) {  
 
178
    // Get truncated file
 
179
    FileMap *m2 = m->cloneRandomSize();
 
180
    try {    
 
181
      TiffParser t(m2);
 
182
      t.parseData();
 
183
      d = t.getDecoder();
 
184
 
 
185
      startTime = GetTickCount();
 
186
      d->decodeRaw();
 
187
      d->decodeMetaData(meta);
 
188
      RawImage r = d->mRaw;
 
189
 
 
190
      uint32 time = GetTickCount()-startTime;
 
191
      float mpps = (float)r->dim.x * (float)r->dim.y * (float)r->getCpp()  / (1000.0f * (float)time);
 
192
      wprintf(L"(%d/%d) Decoding %s took: %u ms, %4.2f Mpixel/s\n", i+1+tests, tests*2, f.Filename(), time, mpps);
 
193
      if (d->errors.size())
 
194
        printf("%u Error Encountered.\n", d->errors.size());
 
195
/*      for (uint32 i = 0; i < d->errors.size(); i++) {
 
196
        printf("Error Encountered:%s\n", d->errors[i]);
 
197
      }*/
 
198
    } catch (RawDecoderException e) {
 
199
      wchar_t uni[1024];
 
200
      MultiByteToWideChar(CP_ACP, 0, e.what(), -1, uni, 1024);
 
201
      wprintf(L"Raw Decoder Exception:%s\n",uni);
 
202
    } catch (TiffParserException e) {
 
203
      wchar_t uni[1024];
 
204
      MultiByteToWideChar(CP_ACP, 0, e.what(), -1, uni, 1024);
 
205
      wprintf(L"Tiff Parser Exception:%s\n",uni);
 
206
    }
 
207
    delete m2;
 
208
    if (d)
 
209
      delete d;
 
210
    d = 0;
 
211
  }
 
212
  delete m;
 
213
}
 
214
#endif
 
215
 
 
216
int wmain(int argc, _TCHAR* argv[])
 
217
{
 
218
  if (1) {  // for memory detection
 
219
#ifdef _USE_GFL_
 
220
  GFL_ERROR err;
 
221
  err = gflLibraryInit();
 
222
  if (err) {
 
223
    string errSt = string("Could not initialize GFL library. Library returned: ") + string(gflGetErrorString(err));
 
224
    return 1;
 
225
  }
 
226
#endif
 
227
  CameraMetaData meta("..\\data\\cameras.xml");  
 
228
  //meta.dumpXML();
 
229
/*
 
230
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMCG2hVFATB.RW2"),&meta);
 
231
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMCG2hSLI0200_NR1.RW2"),&meta);
 
232
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMCG2hMULTII0200.RW2"),&meta);
 
233
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_g10_07.rw2"),&meta);
 
234
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMCG2FARI0200.RW2"),&meta);
 
235
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_g10_12.rw2"),&meta);
 
236
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_g10_06.rw2"),&meta);
 
237
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_g10_02.rw2"),&meta);
 
238
  
 
239
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_550D_T2IhHOUSE.CR2"),&meta);
 
240
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_550D_T2IhMULTII00200.CR2"),&meta);
 
241
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_550D_T2IhRESM.CR2"),&meta);
 
242
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_550D_T2IhSLI00200_NR0.CR2"),&meta);
 
243
  OpenFile(FileReader(L"..\\testimg\\Canon-7D.CR2"),&meta);
 
244
  OpenFile(FileReader(L"..\\testimg\\Canon-1D-Mk4-A28C0180.CR2"),&meta);
 
245
  OpenFile(FileReader(L"..\\testimg\\Canon-1D-Mk4-DD9C0097.CR2"),&meta);
 
246
  OpenFile(FileReader(L"..\\testimg\\Canon-1D-Mk4-DD9C0069.CR2"),&meta);
 
247
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\CRW_0740.DNG"),&meta);
 
248
 OpenFile(FileReader(L"..\\testimg\\Canon_5DMk2-sRaw2.CR2"),&meta);
 
249
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_450D.cr2"),&meta);
 
250
  OpenFile(FileReader(L"..\\testimg\\Canon_5DMk2-sRaw1.CR2"),&meta);
 
251
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_5D_Mk2-ISO100_sRAW1.CR2"),&meta);
 
252
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_50D-1.cr2"),&meta);
 
253
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_50D-2.cr2"),&meta);
 
254
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_50D-3.cr2"),&meta);
 
255
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_50D-4.cr2"),&meta);
 
256
  
 
257
  OpenFile(FileReader(L"..\\testimg\\kp.CR2"),&meta);
 
258
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1Ds_Mk2.cr2"),&meta);
 
259
  OpenFile(FileReader(L"..\\testimg\\5d.CR2"),&meta);
 
260
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1Ds_Mk3-2.cr2"),&meta);
 
261
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_20D-demosaic.cr2"),&meta);
 
262
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_30D.cr2"),&meta);
 
263
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_450D.cr2"),&meta);
 
264
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_350d.cr2"),&meta);
 
265
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_40D.cr2"),&meta);
 
266
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_450D-2.cr2"),&meta);
 
267
  OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_G10.cr2"),&meta);
 
268
  OpenFile(FileReader(L"..\\testimg\\Canon_PowerShot_G9.cr2"),&meta);
 
269
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1D_Mk2.cr2"),&meta);
 
270
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1000D.cr2"),&meta);
 
271
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1D_Mk3.cr2"),&meta);
 
272
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1Ds_Mk3.cr2"),&meta);
 
273
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_400D.cr2"),&meta);
 
274
  
 
275
  OpenFile(FileReader(L"..\\testimg\\500D_NR-Std_ISO1600.CR2"),&meta);
 
276
  OpenFile(FileReader(L"..\\testimg\\canon_eos_1000d_01.cr2"),&meta);
 
277
  OpenFile(FileReader(L"..\\testimg\\canon_eos_1000d_06.cr2"),&meta);
 
278
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_1D_Mk2_N.cr2"),&meta);
 
279
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_30D-uga1.cr2"),&meta);
 
280
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_350D-3.cr2"),&meta);
 
281
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_450D-4.cr2"),&meta);
 
282
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_50D.cr2"),&meta);
 
283
  OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_G9-1.CR2"),&meta);
 
284
  OpenFile(FileReader(L"..\\testimg\\Nikon-D3000hMULTII0200.NEF"),&meta);
 
285
  OpenFile(FileReader(L"..\\testimg\\Nikon-D3000hSLI0200.NEF"),&meta);
 
286
  OpenFile(FileReader(L"..\\testimg\\Nikon-D3x_ISO100.NEF"),&meta);
 
287
  OpenFile(FileReader(L"..\\testimg\\Olympus-E620_NF-Std_ISO100.ORF"),&meta);
 
288
  OpenFile(FileReader(L"..\\testimg\\Sony-A500-hMULTII00200.ARW"),&meta);
 
289
  OpenFile(FileReader(L"..\\testimg\\Sony-A500-hSLI00200_NR_1D.ARW"),&meta);
 
290
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E520-4.dng"),&meta);
 
291
  OpenFile(FileReader(L"..\\testimg\\dng\\Adobe-DNG-Converter-0425-IMG_0530.dng"),&meta);
 
292
  OpenFile(FileReader(L"..\\testimg\\dng\\Adobe-DNG-Converter-IMG_2312(210609).dng"),&meta);
 
293
  OpenFile(FileReader(L"..\\testimg\\dng\\Adobe-DNG-Converter-IMG_7903.dng"),&meta);
 
294
  OpenFile(FileReader(L"..\\testimg\\Olympus-EPL1hVFATB.ORF"),&meta);
 
295
  OpenFile(FileReader(L"..\\testimg\\Olympus-EPL1hSLI0200NR0.ORF"),&meta);
 
296
  OpenFile(FileReader(L"..\\testimg\\Olympus-EPL1hREST.ORF"),&meta);
 
297
  OpenFile(FileReader(L"..\\testimg\\Olympus-EPL1hMULTII0200NR2D.ORF"),&meta);
 
298
  OpenFile(FileReader(L"..\\testimg\\Olympus-EPL1hHOUSE.ORF"),&meta);
 
299
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Ricoh_GXR-A12-real_iso200.DNG"),&meta);
 
300
  OpenFile(FileReader(L"..\\testimg\\Nikon_D50.nef"),&meta);
 
301
  OpenFile(FileReader(L"..\\testimg\\Olympus_E30.orf"),&meta);
 
302
  OpenFile(FileReader(L"..\\testimg\\Panasonic DMC-LX3.RW2"),&meta);
 
303
  OpenFile(FileReader(L"..\\testimg\\Panasonic_G1-2.RW2"),&meta);
 
304
  OpenFile(FileReader(L"..\\testimg\\Panasonic_LX3.rw2"),&meta);
 
305
  OpenFile(FileReader(L"..\\testimg\\Panasonic DMC-LX3.RW2"),&meta);
 
306
  OpenFile(FileReader(L"..\\testimg\\Pentax_K200D-2.pef"),&meta);
 
307
  OpenFile(FileReader(L"..\\testimg\\Sony_A230_1.arw"),&meta);
 
308
 
 
309
  OpenFile(FileReader(L"..\\testimg\\Panasonic_FZ35FARI0200.RW2"),&meta);
 
310
  OpenFile(FileReader(L"..\\testimg\\Panasonic_FZ35hSLI0200.RW2"),&meta);
 
311
  OpenFile(FileReader(L"..\\testimg\\Panasonic_FZ35hVFAWB.RW2"),&meta);
 
312
 
 
313
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMCGF1hSLI0200_NR_LOW.RW2"),&meta);
 
314
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMCGF1hMULTII0200.RW2"),&meta);
 
315
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_02.rw2"),&meta);
 
316
  OpenFile(FileReader(L"..\\testimg\\gh1_sample_iso100.RW2"),&meta);
 
317
  OpenFile(FileReader(L"..\\testimg\\gh1_sample_iso400.RW2"),&meta);
 
318
  OpenFile(FileReader(L"..\\testimg\\gh1_studio_iso100.RW2"),&meta);
 
319
  OpenFile(FileReader(L"..\\testimg\\gh1_studio_iso1600.RW2"),&meta);
 
320
  OpenFile(FileReader(L"..\\testimg\\Panasonic_DMC-FX150.rw2"),&meta);
 
321
  OpenFile(FileReader(L"..\\testimg\\Panasonic_FZ28.rw2"),&meta);
 
322
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_01.rw2"),&meta);
 
323
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_02.rw2"),&meta);
 
324
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_03.rw2"),&meta);
 
325
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_04.rw2"),&meta);
 
326
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_05.rw2"),&meta);
 
327
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_lx3_06.rw2"),&meta);
 
328
  OpenFile(FileReader(L"..\\testimg\\Panasonic_LX3.rw2"),&meta);
 
329
  OpenFile(FileReader(L"..\\testimg\\panasonic_DMC_gh1_sample_iso100.RW2"),&meta);
 
330
  OpenFile(FileReader(L"..\\testimg\\panasonic_DMC_gh1_sample_iso400.RW2"),&meta);
 
331
  OpenFile(FileReader(L"..\\testimg\\panasonic_DMC_gh1_studio_iso100.RW2"),&meta);
 
332
  OpenFile(FileReader(L"..\\testimg\\panasonic_DMC_gh1_studio_iso1600.RW2"),&meta);
 
333
 
 
334
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_01.dng"),&meta);
 
335
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_07.dng"),&meta);
 
336
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_09.dng"),&meta);
 
337
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_10.dng"),&meta);
 
338
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_14.dng"),&meta);
 
339
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7FARI0200.DNG"),&meta);
 
340
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7FARI6400.DNG"),&meta);
 
341
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7hMULTII0200.DNG"),&meta);
 
342
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7hVFAO.DNG"),&meta);
 
343
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica_M8.dng"),&meta);
 
344
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica_M_8.dng"),&meta);  
 
345
  OpenFile(FileReader(L"..\\testimg\\panasonic_DMC-G1hMULTII0200.RW2"),&meta);
 
346
  OpenFile(FileReader(L"..\\testimg\\panasonic_DMC-G1hSLI0400.RW2"),&meta);
 
347
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_g1_04_portrait.rw2"),&meta);
 
348
  OpenFile(FileReader(L"..\\testimg\\panasonic_lumix_dmc_gh1_02_portrait.rw2"),&meta);
 
349
  OpenFile(FileReader(L"..\\testimg\\sony_a330_02.arw"),&meta);
 
350
  OpenFile(FileReader(L"..\\testimg\\sony_a330_04.arw"),&meta);
 
351
  OpenFile(FileReader(L"..\\testimg\\sony_a330_05.arw"),&meta);
 
352
  OpenFile(FileReader(L"..\\testimg\\sony_a330_06.arw"),&meta);
 
353
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_Mk2-ISO100_sRAW2.CR2"),&meta);
 
354
  OpenFile(FileReader(L"..\\testimg\\Canon_EOS_7DhMULTII00200.CR2"),&meta);
 
355
  OpenFile(FileReader(L"..\\testimg\\Olympus-E-620-1.ORF"),&meta);
 
356
  OpenFile(FileReader(L"..\\testimg\\Pentax_K10D-2.dng"),&meta);
 
357
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica-X1-L1090229.DNG"),&meta);
 
358
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-EOS300D.dng"),&meta);
 
359
  OpenFile(FileReader(L"..\\testimg\\dng\\KODAK-DCSPRO-linear.dng"),&meta);
 
360
 
 
361
  OpenFile(FileReader(L"..\\testimg\\Pentax_K10D.pef"),&meta);
 
362
  OpenFile(FileReader(L"..\\testimg\\Pentax_K100D.pef"),&meta);
 
363
  OpenFile(FileReader(L"..\\testimg\\Pentax_K10D.pef"),&meta);
 
364
  OpenFile(FileReader(L"..\\testimg\\Pentax_K20D.pef"),&meta);
 
365
  OpenFile(FileReader(L"..\\testimg\\Pentax_optio_33wr.pef"),&meta);
 
366
  
 
367
 
 
368
  OpenFile(FileReader(L"..\\testimg\\SONY-DSLR-A700.arw"),&meta);
 
369
  OpenFile(FileReader(L"..\\testimg\\SONY_A200.ARW"),&meta);
 
370
  OpenFile(FileReader(L"..\\testimg\\Sony_A300.arw"),&meta);
 
371
  OpenFile(FileReader(L"..\\testimg\\Sony_DSLR-A100-1.arw"),&meta);
 
372
  OpenFile(FileReader(L"..\\testimg\\Sony_DSLR-A350.arw"),&meta);
 
373
*/  OpenFile(FileReader(L"..\\testimg\\Sony_DSLR-A900-2.arw"),&meta);
 
374
  OpenFile(FileReader(L"..\\testimg\\Sony_DSLR-A900.arw"),&meta);
 
375
 
 
376
  OpenFile(FileReader(L"..\\testimg\\Sony_a700_ISO1600_compressed.ARW"),&meta);
 
377
  OpenFile(FileReader(L"..\\testimg\\Sony_a700_ISO1600_uncompressed.ARW"),&meta);
 
378
    OpenFile(FileReader(L"..\\testimg\\Sony_a700_ISO200_compressed.ARW"),&meta);
 
379
    OpenFile(FileReader(L"..\\testimg\\Sony_a700_ISO200_uncompressed.ARW"),&meta);
 
380
    OpenFile(FileReader(L"..\\testimg\\Sony_a700_ISO6400_compressed.ARW"),&meta);
 
381
    OpenFile(FileReader(L"..\\testimg\\Sony_a700_ISO6400_uncompressed.ARW"),&meta);
 
382
    OpenFile(FileReader(L"..\\testimg\\Sony_A900_ISO1600_uncompressed.ARW"),&meta);
 
383
    OpenFile(FileReader(L"..\\testimg\\Sony_A900_ISO3200_uncompressed.ARW"),&meta);
 
384
    OpenFile(FileReader(L"..\\testimg\\Sony_A900_ISO400_uncompressed.ARW"),&meta);
 
385
    OpenFile(FileReader(L"..\\testimg\\Sony_A900_ISO6400_uncompressed.ARW"),&meta);
 
386
    OpenFile(FileReader(L"..\\testimg\\Sony_A900_ISO800_uncompressed.ARW"),&meta);
 
387
  OpenFile(FileReader(L"..\\testimg\\nikon_coolpix_p6000_05.nrw"),&meta);
 
388
  OpenFile(FileReader(L"..\\testimg\\Nikon_D1.nef"),&meta);
 
389
  OpenFile(FileReader(L"..\\testimg\\Nikon_D100-backhigh.nef"),&meta);
 
390
  OpenFile(FileReader(L"..\\testimg\\Nikon_D200_compressed-1.nef"),&meta);
 
391
  OpenFile(FileReader(L"..\\testimg\\NikonCoolPix8800.nef"),&meta);
 
392
  OpenFile(FileReader(L"..\\testimg\\Nikon_D1H.nef"),&meta);
 
393
  OpenFile(FileReader(L"..\\testimg\\Nikon_D1X.nef"),&meta);
 
394
  OpenFile(FileReader(L"..\\testimg\\Nikon_D2H.nef"),&meta);
 
395
  OpenFile(FileReader(L"..\\testimg\\Nikon_D2X_sRGB.nef"),&meta);
 
396
  OpenFile(FileReader(L"..\\testimg\\Nikon_D100-1.nef"),&meta);
 
397
  OpenFile(FileReader(L"..\\testimg\\Nikon_D200-1.nef"),&meta);
 
398
  OpenFile(FileReader(L"..\\testimg\\Nikon_D3.nef"),&meta); 
 
399
  OpenFile(FileReader(L"..\\testimg\\Nikon_D300.nef"),&meta);
 
400
  OpenFile(FileReader(L"..\\testimg\\Nikon_D40X.nef"),&meta);
 
401
  OpenFile(FileReader(L"..\\testimg\\Nikon_D40_(sRGB).nef"),&meta);
 
402
  OpenFile(FileReader(L"..\\testimg\\Nikon_D60-2.nef"),&meta);
 
403
  OpenFile(FileReader(L"..\\testimg\\Nikon_D60.nef"),&meta);
 
404
  OpenFile(FileReader(L"..\\testimg\\Nikon_D70.nef"),&meta);
 
405
  OpenFile(FileReader(L"..\\testimg\\Nikon_D700.nef"),&meta);
 
406
  OpenFile(FileReader(L"..\\testimg\\Nikon_D70s-3.nef"),&meta);
 
407
  OpenFile(FileReader(L"..\\testimg\\Nikon_D80_(sRGB).nef"),&meta);
 
408
  OpenFile(FileReader(L"..\\testimg\\Nikon_D90.nef"),&meta);
 
409
  OpenFile(FileReader(L"..\\testimg\\Nikon_E5400.nef"),&meta);
 
410
  OpenFile(FileReader(L"..\\testimg\\Nikon_E5700.nef"),&meta);
 
411
  OpenFile(FileReader(L"..\\testimg\\Nikon_E5700_(sRGB).nef"),&meta);
 
412
 
 
413
OpenFile(FileReader(L"..\\testimg\\pentax_kx_03.pef"),&meta);
 
414
OpenFile(FileReader(L"..\\testimg\\pentax_kx_04.pef"),&meta);
 
415
OpenFile(FileReader(L"..\\testimg\\pentax_kx_10.pef"),&meta);
 
416
OpenFile(FileReader(L"..\\testimg\\pentax_kx_12.pef"),&meta);
 
417
 
 
418
OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_SX1IShMULTII1600.CR2"),&meta);
 
419
OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_SX1ISFARI0200.CR2"),&meta);
 
420
OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_SX1IShMULTII0200.CR2"),&meta);
 
421
OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_SX1IShSLI0080.CR2"),&meta);
 
422
OpenFile(FileReader(L"..\\testimg\\Canon_Powershot_SX1IShSLI0200.CR2"),&meta);
 
423
 
 
424
OpenFile(FileReader(L"..\\testimg\\canon_powershot_g11_02.cr2"),&meta);
 
425
OpenFile(FileReader(L"..\\testimg\\canon_powershot_g11_07.cr2"),&meta);
 
426
OpenFile(FileReader(L"..\\testimg\\canon_powershot_g11_08.cr2"),&meta);
 
427
 
 
428
OpenFile(FileReader(L"..\\testimg\\Olympus-EP2hVFAO.ORF"),&meta);
 
429
OpenFile(FileReader(L"..\\testimg\\Olympus-EP2hSLI0200NR0.ORF"),&meta);
 
430
OpenFile(FileReader(L"..\\testimg\\Olympus-EP2hRESM.ORF"),&meta);
 
431
OpenFile(FileReader(L"..\\testimg\\Olympus-EP2FARWTT.ORF"),&meta);
 
432
OpenFile(FileReader(L"..\\testimg\\Olympus-EP2FARI0200.ORF"),&meta);
 
433
 
 
434
  OpenFile(FileReader(L"..\\testimg\\Sony_A550hVFAWB.ARW"),&meta);
 
435
  OpenFile(FileReader(L"..\\testimg\\Sony_A550hVFATB.ARW"),&meta);
 
436
  OpenFile(FileReader(L"..\\testimg\\Sony_A550hSLI00200_NR1D.ARW"),&meta);
 
437
  OpenFile(FileReader(L"..\\testimg\\Sony_A550hMULTII00200.ARW"),&meta);
 
438
  OpenFile(FileReader(L"..\\testimg\\Sony_A550FARI0200.ARW"),&meta);
 
439
  OpenFile(FileReader(L"..\\testimg\\canon_powershot_s90_02.cr2"),&meta);
 
440
  OpenFile(FileReader(L"..\\testimg\\canon_powershot_s90_03.cr2"),&meta);
 
441
  OpenFile(FileReader(L"..\\testimg\\canon_powershot_s90_04.cr2"),&meta);
 
442
 
 
443
  OpenFile(FileReader(L"..\\testimg\\nikon_d3s_Ycircus_vidrig_102400.NEF"),&meta);
 
444
  OpenFile(FileReader(L"..\\testimg\\nikon_d3s_Ycircus_dogjump3_2500.NEF"),&meta);
 
445
  OpenFile(FileReader(L"..\\testimg\\nikon_d3s_Ycircus_granny_10000.NEF"),&meta);
 
446
 
 
447
  OpenFile(FileReader(L"..\\testimg\\nikon_d300s_01.nef"),&meta);
 
448
  OpenFile(FileReader(L"..\\testimg\\nikon_d300s_03.nef"),&meta);
 
449
  OpenFile(FileReader(L"..\\testimg\\nikon_d300s_06.nef"),&meta);
 
450
  OpenFile(FileReader(L"..\\testimg\\Olympus_500UZ.orf"),&meta);
 
451
  OpenFile(FileReader(L"..\\testimg\\Olympus_C7070WZ.orf"),&meta);
 
452
  OpenFile(FileReader(L"..\\testimg\\Olympus_C8080.orf"),&meta);
 
453
  OpenFile(FileReader(L"..\\testimg\\Olympus_E1.orf"),&meta);
 
454
  OpenFile(FileReader(L"..\\testimg\\Olympus_E10.orf"),&meta);
 
455
  OpenFile(FileReader(L"..\\testimg\\Olympus_E20.orf"),&meta);
 
456
  OpenFile(FileReader(L"..\\testimg\\Olympus_E3-2.orf"),&meta);
 
457
  OpenFile(FileReader(L"..\\testimg\\Olympus_E3-3.orf"),&meta);
 
458
  OpenFile(FileReader(L"..\\testimg\\Olympus_E3-4.orf"),&meta);
 
459
  OpenFile(FileReader(L"..\\testimg\\Olympus_E3.orf"),&meta);
 
460
  OpenFile(FileReader(L"..\\testimg\\Olympus_E300.orf"),&meta);
 
461
  OpenFile(FileReader(L"..\\testimg\\Olympus_E330.orf"),&meta);
 
462
  OpenFile(FileReader(L"..\\testimg\\Olympus_E400.orf"),&meta);
 
463
  OpenFile(FileReader(L"..\\testimg\\Olympus_E410-2.orf"),&meta);
 
464
  OpenFile(FileReader(L"..\\testimg\\Olympus_E410.orf"),&meta);
 
465
  OpenFile(FileReader(L"..\\testimg\\Olympus_E420.orf"),&meta);
 
466
  OpenFile(FileReader(L"..\\testimg\\Olympus_E500.orf"),&meta);
 
467
  OpenFile(FileReader(L"..\\testimg\\Olympus_E510-2.orf"),&meta);
 
468
  OpenFile(FileReader(L"..\\testimg\\Olympus_E510.orf"),&meta);
 
469
  OpenFile(FileReader(L"..\\testimg\\Olympus_E520-2.orf"),&meta);
 
470
  OpenFile(FileReader(L"..\\testimg\\Olympus_E520-3.orf"),&meta);
 
471
  OpenFile(FileReader(L"..\\testimg\\Olympus_E520-4.orf"),&meta);
 
472
  OpenFile(FileReader(L"..\\testimg\\Olympus_E520-5.orf"),&meta);
 
473
  OpenFile(FileReader(L"..\\testimg\\Olympus_E520.orf"),&meta);
 
474
  OpenFile(FileReader(L"..\\testimg\\Olympus_SP350.orf"),&meta);
 
475
 
 
476
  OpenFile(FileReader(L"..\\testimg\\Nikon-D3XFARI0100.NEF"),&meta);
 
477
  OpenFile(FileReader(L"..\\testimg\\dng\\5d-raw.dng"),&meta);
 
478
  OpenFile(FileReader(L"..\\testimg\\dng\\5d.dng"),&meta);
 
479
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-EOS10-linear.dng"),&meta);
 
480
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-EOS10.dng"),&meta);
 
481
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-EOS20D-linear.dng"),&meta);
 
482
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-EOS20D.dng"),&meta);
 
483
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-EOS300D-linear.dng"),&meta);
 
484
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-POWERSHOTPRO1-linear.dng"),&meta);
 
485
  OpenFile(FileReader(L"..\\testimg\\dng\\CANON-POWERSHOTPRO1.dng"),&meta);
 
486
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1000D.dng"),&meta);
 
487
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1Ds_Mk2.dng"),&meta);
 
488
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1Ds_Mk3-2.dng"),&meta);
 
489
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1Ds_Mk3.dng"),&meta);
 
490
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1D_Mk2.dng"),&meta);
 
491
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1D_Mk2_N.dng"),&meta);
 
492
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_1D_Mk3.dng"),&meta);
 
493
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_20D-demosaic.dng"),&meta);
 
494
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_20d.dng"),&meta);
 
495
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_30D-uga1.dng"),&meta);
 
496
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_30D-uga2.dng"),&meta);
 
497
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_30D.dng"),&meta);
 
498
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_350d-2.dng"),&meta);
 
499
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_350D-3.dng"),&meta);
 
500
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_350d.dng"),&meta);
 
501
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_400D.dng"),&meta);
 
502
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_40D-2.dng"),&meta);
 
503
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_40D.dng"),&meta);
 
504
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_450D-2.dng"),&meta);
 
505
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_450D-3.dng"),&meta);
 
506
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_450D-4.dng"),&meta);
 
507
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_450D-5.dng"),&meta);
 
508
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_450D.dng"),&meta);
 
509
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_5D.dng"),&meta);
 
510
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_5D_Mk2-ISO100_sRAW1.dng"),&meta);
 
511
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_5D_Mk2-ISO12800_sRAW1.dng"),&meta);
 
512
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_5D_Mk2-ISO12800_sRAW2.dng"),&meta);
 
513
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_EOS_Mk2-ISO100_sRAW2.dng"),&meta);
 
514
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_Powershot_G10.dng"),&meta);
 
515
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_Powershot_G9-1.dng"),&meta);
 
516
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_Powershot_G9-2.dng"),&meta);
 
517
  OpenFile(FileReader(L"..\\testimg\\dng\\Canon_PowerShot_G9.dng"),&meta);
 
518
  OpenFile(FileReader(L"..\\testimg\\dng\\FUJI-FINEPIXS2PRO-linear.dng"),&meta);
 
519
  OpenFile(FileReader(L"..\\testimg\\dng\\FUJI-FINEPIXS2PRO.dng"),&meta);
 
520
  OpenFile(FileReader(L"..\\testimg\\dng\\KODAK-DCSPRO.dng"),&meta);
 
521
  OpenFile(FileReader(L"..\\testimg\\dng\\M8-1-linear.dng"),&meta);
 
522
  OpenFile(FileReader(L"..\\testimg\\dng\\M8-1.dng"),&meta);
 
523
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DIMAGE5-linear.dng"),&meta);
 
524
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DIMAGE5.dng"),&meta);
 
525
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DIMAGE7HI-linear.dng"),&meta);
 
526
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DIMAGE7HI.dng"),&meta);
 
527
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DIMAGEA1-linear.dng"),&meta);
 
528
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DIMAGEA1.dng"),&meta);
 
529
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-01-linear.dng"),&meta);
 
530
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-01.dng"),&meta);
 
531
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-02-linear.dng"),&meta);
 
532
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-02.dng"),&meta);
 
533
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-03-linear.dng"),&meta);
 
534
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-03.dng"),&meta);
 
535
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-04-linear.dng"),&meta);
 
536
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-04.dng"),&meta);
 
537
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-05-linear.dng"),&meta);
 
538
  OpenFile(FileReader(L"..\\testimg\\dng\\MINOLTA-DYNAX7D-05.dng"),&meta);
 
539
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-COOLPIX5700-linear.dng"),&meta);
 
540
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-COOLPIX5700.dng"),&meta);
 
541
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-D100-linear.dng"),&meta);
 
542
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-D100.dng"),&meta);
 
543
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-D70-01-linear.dng"),&meta);
 
544
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-D70-01.dng"),&meta);
 
545
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-D70-02-linear.dng"),&meta);
 
546
  OpenFile(FileReader(L"..\\testimg\\dng\\NIKON-D70-02.dng"),&meta);
 
547
  OpenFile(FileReader(L"..\\testimg\\dng\\NikonCoolPix8800.dng"),&meta);
 
548
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D100-1.dng"),&meta);
 
549
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D1H.dng"),&meta);
 
550
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D1X.dng"),&meta);
 
551
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D200-1.dng"),&meta);
 
552
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D200_compressed-1.dng"),&meta);
 
553
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D2H.dng"),&meta);
 
554
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D2X_sRGB.dng"),&meta);
 
555
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D3.dng"),&meta);
 
556
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D300.dng"),&meta);
 
557
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D40X.dng"),&meta);
 
558
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D40_(sRGB).dng"),&meta);
 
559
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D60-2.dng"),&meta);
 
560
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D60.dng"),&meta);
 
561
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D70.dng"),&meta);
 
562
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D700.dng"),&meta);
 
563
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D70s-3.dng"),&meta);
 
564
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D80_(sRGB).dng"),&meta);
 
565
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_D90.dng"),&meta);
 
566
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_E5400.dng"),&meta);
 
567
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_E5700.dng"),&meta);
 
568
  OpenFile(FileReader(L"..\\testimg\\dng\\Nikon_E5700_(sRGB).dng"),&meta);
 
569
  OpenFile(FileReader(L"..\\testimg\\dng\\OLYMPUS-C5050Z-linear.dng"),&meta);
 
570
  OpenFile(FileReader(L"..\\testimg\\dng\\OLYMPUS-C5050Z.dng"),&meta);
 
571
  OpenFile(FileReader(L"..\\testimg\\dng\\OLYMPUS-E10-linear.dng"),&meta);
 
572
  OpenFile(FileReader(L"..\\testimg\\dng\\OLYMPUS-E10.dng"),&meta);
 
573
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_500UZ.dng"),&meta);
 
574
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_C7070WZ.dng"),&meta);
 
575
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_C8080.dng"),&meta);
 
576
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E1.dng"),&meta);
 
577
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E10.dng"),&meta);
 
578
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E3-2.dng"),&meta);
 
579
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E3-3.dng"),&meta);
 
580
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E3-4.dng"),&meta);
 
581
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E3.dng"),&meta);
 
582
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E300.dng"),&meta);
 
583
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E330.dng"),&meta);
 
584
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E400.dng"),&meta);
 
585
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E410-2.dng"),&meta);
 
586
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E410.dng"),&meta);
 
587
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E420.dng"),&meta);
 
588
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E500.dng"),&meta);
 
589
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E510-2.dng"),&meta);
 
590
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E510.dng"),&meta);
 
591
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E520-2.dng"),&meta);
 
592
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E520-3.dng"),&meta);
 
593
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E520-4.dng"),&meta);
 
594
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E520-5.dng"),&meta);
 
595
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_E520.dng"),&meta);
 
596
  OpenFile(FileReader(L"..\\testimg\\dng\\Olympus_SP350.dng"),&meta);
 
597
 
 
598
  OpenFile(FileReader(L"..\\testimg\\dng\\Panasonic_DMC-FX150(010909).dng"),&meta);
 
599
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_DMC-G1FARI0200(010909).dng"),&meta);
 
600
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_DMC-G1hMULTII0200(010909).dng"),&meta);
 
601
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_DMC-G1hSLI0400(010909).dng"),&meta);
 
602
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_DMC-G1LL0207LENROFF(010909).dng"),&meta);
 
603
  OpenFile(FileReader(L"..\\testimg\\dng\\Panasonic_FZ28(010909).dng"),&meta);
 
604
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_lumix_dmc_lx3_01(010909).dng"),&meta);
 
605
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_lumix_dmc_lx3_02(010909).dng"),&meta);
 
606
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_lumix_dmc_lx3_03(010909).dng"),&meta);
 
607
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_lumix_dmc_lx3_04(010909).dng"),&meta);
 
608
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_lumix_dmc_lx3_05(010909).dng"),&meta);
 
609
  OpenFile(FileReader(L"..\\testimg\\dng\\panasonic_lumix_dmc_lx3_06(010909).dng"),&meta);
 
610
  OpenFile(FileReader(L"..\\testimg\\dng\\Panasonic_LX3(010909).dng"),&meta);
 
611
  OpenFile(FileReader(L"..\\testimg\\dng\\Panasonic_LX3(300109).dng"),&meta);
 
612
  
 
613
  OpenFile(FileReader(L"..\\testimg\\dng\\PENTAX-ISD-linear.dng"),&meta);
 
614
  OpenFile(FileReader(L"..\\testimg\\dng\\PENTAX-ISD.dng"),&meta);
 
615
  OpenFile(FileReader(L"..\\testimg\\dng\\Pentax_K100D.dng"),&meta);
 
616
  OpenFile(FileReader(L"..\\testimg\\dng\\Pentax_K10D.dng"),&meta);
 
617
  OpenFile(FileReader(L"..\\testimg\\dng\\Pentax_K20D.dng"),&meta);
 
618
  OpenFile(FileReader(L"..\\testimg\\dng\\SIGMA-SD10-linear.dng"),&meta);
 
619
  OpenFile(FileReader(L"..\\testimg\\dng\\SIGMA-SD10.dng"),&meta);
 
620
  OpenFile(FileReader(L"..\\testimg\\dng\\SONY-DSLR-A700.dng"),&meta);
 
621
  OpenFile(FileReader(L"..\\testimg\\dng\\SONY_A200.dng"),&meta);
 
622
  OpenFile(FileReader(L"..\\testimg\\dng\\Sony_A300.dng"),&meta);
 
623
  OpenFile(FileReader(L"..\\testimg\\dng\\Sony_DSLR-A100-1.dng"),&meta);
 
624
  OpenFile(FileReader(L"..\\testimg\\dng\\Sony_DSLR-A350.dng"),&meta);
 
625
  OpenFile(FileReader(L"..\\testimg\\dng\\Sony_DSLR-A900-2.dng"),&meta);
 
626
  OpenFile(FileReader(L"..\\testimg\\dng\\Sony_DSLR-A900.dng"),&meta);
 
627
 
 
628
  OpenFile(FileReader(L"..\\testimg\\dng\\uncompressed.dng"),&meta);
 
629
  OpenFile(FileReader(L"..\\testimg\\dng\\uncompressed2.dng"),&meta);
 
630
  OpenFile(FileReader(L"..\\testimg\\dng\\uncompressed3.dng"),&meta);
 
631
 
 
632
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica-X1-L1090994.DNG"),&meta);
 
633
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica-X1-ISO100-L1090324.DNG"),&meta);
 
634
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica_M8.dng"),&meta);
 
635
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\leica_m82_01.dng"),&meta);
 
636
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\leica_m82_07.dng"),&meta);
 
637
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\leica_m82_09.dng"),&meta);
 
638
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\leica_m82_11.dng"),&meta);
 
639
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Leica_M_8.dng"),&meta);
 
640
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K200DFARI0100.DNG"),&meta);
 
641
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K200DFARI1600.DNG"),&meta);
 
642
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI0100_43MM.DNG"),&meta);
 
643
  OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI0200_43MM.DNG"),&meta);
 
644
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI0400_43MM.DNG"),&meta);
 
645
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI0800_43MM.DNG"),&meta);
 
646
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI1600_43MM.DNG"),&meta);
 
647
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI3200_43MM.DNG"),&meta);
 
648
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K20DFARI6400_43MM.DNG"),&meta);
 
649
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7FARI0200.DNG"),&meta);
 
650
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7FARI6400.DNG"),&meta);
 
651
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7hMULTII0200.DNG"),&meta);
 
652
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Pentax-K7hVFAO.DNG"),&meta);
 
653
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\Ricoh_GR2.dng"),&meta);
 
654
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_01.dng"),&meta);
 
655
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_07.dng"),&meta);
 
656
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_09.dng"),&meta);
 
657
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_10.dng"),&meta);
 
658
    OpenFile(FileReader(L"..\\testimg\\camera_dngs\\ricoh_gr_digital_iii_14.dng"),&meta);
 
659
 
 
660
  MessageBox(0,L"Finished", L"Finished",0);
 
661
#ifdef _USE_GFL_
 
662
  gflLibraryExit();
 
663
#endif
 
664
  } // Dump objects
 
665
  _CrtDumpMemoryLeaks();
 
666
        return 0;
 
667
}
 
668