1
/* ============================================================
2
* Author: Gilles Caulier <caulier dot gilles at free.fr>
4
* Description : Raw Photo Parser
6
* Copyright 2005-2006 by Gilles Caulier
8
* This program is free software; you can redistribute it
9
* and/or modify it under the terms of the GNU General
10
* Public License as published by the Free Software Foundation;
11
* either version 2, or (at your option)
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
19
* ============================================================ */
26
#include "digikam_export.h"
31
class DIGIKAM_EXPORT DcrawParse
38
int getThumbnail(const char* infile, const char* outfile);
39
int getCameraModel(const char* infile, char* cameraConstructor, char* cameraModel);
43
typedef unsigned char uchar;
44
typedef unsigned short ushort;
45
typedef long long INT64;
49
struct decode *branch[2];
51
} first_decode[640], *free_decode;
55
char make[128], model[128], model2[128], thumb_head[128];
56
int width, height, offset, length, bps, is_dng;
57
int thumb_offset, thumb_length, thumb_layers;
61
ushort sget2 (uchar *s);
65
float int_to_float (int i);
66
void tiff_dump(int base, int tag, int type, int count, int level);
67
void parse_nikon_capture_note (int length);
68
void nikon_decrypt (uchar ci, uchar cj, int tag, int i, int size, uchar *buf);
69
void nef_parse_makernote (int base);
70
void nef_parse_exif(int base);
71
void sony_decrypt (unsigned *data, int len, int start, int key);
72
int parse_tiff_ifd (int base, int level);
73
void parse_tiff (int base);
75
void parse_ciff (int offset, int length, int level);
76
int parse_jpeg (int offset);
77
void parse_riff (int level);
78
void parse_mos(int level);
80
void rollei_decode (FILE *tfp);
81
void get_utf8 (int offset, char *buf, int len);
83
void foveon_tree (unsigned huff[1024], unsigned code);
84
void foveon_decode (FILE *tfp);
85
void kodak_yuv_decode (FILE *tfp);
86
void parse_fuji (int offset);
87
void parse_phase_one (int base);
88
char *memmem (char *haystack, size_t haystacklen, char *needle, size_t needlelen);
92
} // NameSpace Digikam
94
#endif /* DCRAW_PARSE_H */