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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
43
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
1 /*
541
116346636d42 Replace GQView by Geeqie.
zas_
parents: 475
diff changeset
2 * Geeqie
116346636d42 Replace GQView by Geeqie.
zas_
parents: 475
diff changeset
3 * (C) 2005 John Ellis
1284
8b89e3ff286b Add year 2009 to copyright info everywhere.
zas_
parents: 1055
diff changeset
4 * Copyright (C) 2008 - 2009 The Geeqie Team
43
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
5 *
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
6 * Authors:
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
7 * Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
8 *
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
9 * This software is released under the GNU General Public License (GNU GPL).
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
10 * Please read the included file COPYING for more information.
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
11 * This software comes with no warranty of any kind, use at your own risk!
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
12 */
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
13
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
14 #ifndef __FORMAT_RAW_H
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
15 #define __FORMAT_RAW_H
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
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
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
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
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
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
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
78 #endif
ee03f36e9e4b Sun May 15 21:40:26 2005 John Ellis <johne@verizon.net>
gqview
parents:
diff changeset
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: */