Mercurial > geeqie.yaz
annotate src/format_raw.h @ 1356:681e79dd0820
Slightly modify access_file() and use it to test profile files existence and read access.
author | zas_ |
---|---|
date | Sun, 01 Mar 2009 15:41:51 +0000 |
parents | 8b89e3ff286b |
children | bc3f5c0432f6 |
rev | line source |
---|---|
43 | 1 /* |
541 | 2 * Geeqie |
3 * (C) 2005 John Ellis | |
1284 | 4 * Copyright (C) 2008 - 2009 The Geeqie Team |
43 | 5 * |
6 * Authors: | |
7 * Original version 2005 Lars Ellenberg, base on dcraw by David coffin. | |
8 * | |
9 * This software is released under the GNU General Public License (GNU GPL). | |
10 * Please read the included file COPYING for more information. | |
11 * This software comes with no warranty of any kind, use at your own risk! | |
12 */ | |
13 | |
14 #ifndef __FORMAT_RAW_H | |
15 #define __FORMAT_RAW_H | |
16 | |
176
695e1ad3b169
simplified exif.h, moved implementation-specific stuff to exif-int.h
nadvornik
parents:
138
diff
changeset
|
17 #include "exif-int.h" |
51
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
18 |
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
19 |
54
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
20 typedef enum { |
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
21 FORMAT_RAW_MATCH_MAGIC, |
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
22 FORMAT_RAW_MATCH_TIFF_MAKE |
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
23 } FormatRawMatchType; |
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
24 |
101
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
25 typedef enum { |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
26 FORMAT_RAW_EXIF_NONE, |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
27 FORMAT_RAW_EXIF_TIFF, |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
28 FORMAT_RAW_EXIF_JPEG, |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
29 FORMAT_RAW_EXIF_IFD_II, |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
30 FORMAT_RAW_EXIF_IFD_MM, |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
31 FORMAT_RAW_EXIF_PROPRIETARY |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
32 } FormatRawExifType; |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
33 |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
34 typedef gint (* FormatRawParseFunc)(guchar *data, const guint len, |
45
7cfa60beda76
Thu May 26 13:57:19 2005 John Ellis <johne@verizon.net>
gqview
parents:
43
diff
changeset
|
35 guint *image_offset, guint *exif_offset); |
7cfa60beda76
Thu May 26 13:57:19 2005 John Ellis <johne@verizon.net>
gqview
parents:
43
diff
changeset
|
36 |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
37 typedef gint (* FormatRawExifParseFunc)(guchar *data, const guint len, |
101
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
38 ExifData *exif); |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
39 |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
40 gint format_raw_img_exif_offsets(guchar *data, const guint len, |
43 | 41 guint *image_offset, guint *exif_offset); |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
42 gint format_raw_img_exif_offsets_fd(gint fd, const gchar *path, |
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
43 guchar *header_data, const guint header_len, |
45
7cfa60beda76
Thu May 26 13:57:19 2005 John Ellis <johne@verizon.net>
gqview
parents:
43
diff
changeset
|
44 guint *image_offset, guint *exif_offset); |
7cfa60beda76
Thu May 26 13:57:19 2005 John Ellis <johne@verizon.net>
gqview
parents:
43
diff
changeset
|
45 |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
46 FormatRawExifType format_raw_exif_offset(guchar *data, const guint len, guint *exif_offset, |
101
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
47 FormatRawExifParseFunc *exif_parse_func); |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
48 |
43 | 49 |
51
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
50 typedef enum { |
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
51 FORMAT_EXIF_MATCH_MAKE, |
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
52 FORMAT_EXIF_MATCH_MAKERNOTE |
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
53 } FormatExifMatchType; |
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
54 |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
55 typedef gint (* FormatExifParseFunc)(ExifData *exif, guchar *tiff, guint offset, |
54
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
56 guint size, ExifByteOrder bo); |
51
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
57 |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
58 gint format_exif_makernote_parse(ExifData *exif, guchar *tiff, guint offset, |
54
b58cac75ad12
Thu Jun 9 22:23:18 2005 John Ellis <johne@verizon.net>
gqview
parents:
51
diff
changeset
|
59 guint size, ExifByteOrder bo); |
51
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
60 |
276ea4c98d33
Sat Jun 4 22:24:00 2005 John Ellis <johne@verizon.net>
gqview
parents:
45
diff
changeset
|
61 |
101
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
62 #define DEBUG_RAW_TIFF 0 |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
63 |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
64 #if DEBUG_RAW_TIFF |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
65 |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
66 #define FORMAT_RAW_DEBUG_TIFF { "", \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
67 FORMAT_RAW_MATCH_MAGIC, 0, "II", 2, \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
68 FORMAT_RAW_EXIF_NONE, NULL, \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
69 "Tiff debugger II", format_debug_tiff_raw }, \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
70 { "", \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
71 FORMAT_RAW_MATCH_MAGIC, 0, "MM", 2, \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
72 FORMAT_RAW_EXIF_NONE, NULL, \ |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
73 "Tiff debugger MM", format_debug_tiff_raw } |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
74 |
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
75 /* used for debugging only */ |
1000
4fe8f9656107
For the sake of consistency, use glib basic types everywhere.
zas_
parents:
541
diff
changeset
|
76 gint format_debug_tiff_raw(guchar *data, const guint len, |
101
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
77 guint *image_offset, guint *exif_offset); |
43 | 78 #endif |
79 | |
101
847e4bc6b54c
Tue Nov 7 15:35:59 2006 John Ellis <johne@verizon.net>
gqview
parents:
54
diff
changeset
|
80 #endif |
1055
1646720364cf
Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents:
1000
diff
changeset
|
81 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ |