~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-08-02 21:32:31 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110802213231-r9v63trgyk1e822j
Tags: 0.9.1-1
New upstream release

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