4 * Copyright (C) 2008 - 2012 The Geeqie Team
7 * Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
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!
14 #ifndef __FORMAT_RAW_H
15 #define __FORMAT_RAW_H
21 FORMAT_RAW_MATCH_MAGIC,
22 FORMAT_RAW_MATCH_TIFF_MAKE
29 FORMAT_RAW_EXIF_IFD_II,
30 FORMAT_RAW_EXIF_IFD_MM,
31 FORMAT_RAW_EXIF_PROPRIETARY
34 typedef gboolean (* FormatRawParseFunc)(guchar *data, const guint len,
35 guint *image_offset, guint *exif_offset);
37 typedef gboolean (* FormatRawExifParseFunc)(guchar *data, const guint len,
40 gboolean format_raw_img_exif_offsets(guchar *data, const guint len,
41 guint *image_offset, guint *exif_offset);
42 gboolean format_raw_img_exif_offsets_fd(gint fd, const gchar *path,
43 guchar *header_data, const guint header_len,
44 guint *image_offset, guint *exif_offset);
46 FormatRawExifType format_raw_exif_offset(guchar *data, const guint len, guint *exif_offset,
47 FormatRawExifParseFunc *exif_parse_func);
51 FORMAT_EXIF_MATCH_MAKE,
52 FORMAT_EXIF_MATCH_MAKERNOTE
53 } FormatExifMatchType;
55 typedef gint (* FormatExifParseFunc)(ExifData *exif, guchar *tiff, guint offset,
56 guint size, ExifByteOrder bo);
58 gboolean format_exif_makernote_parse(ExifData *exif, guchar *tiff, guint offset,
59 guint size, ExifByteOrder bo);
62 #define DEBUG_RAW_TIFF 0
66 #define FORMAT_RAW_DEBUG_TIFF { "", \
67 FORMAT_RAW_MATCH_MAGIC, 0, "II", 2, \
68 FORMAT_RAW_EXIF_NONE, NULL, \
69 "Tiff debugger II", format_debug_tiff_raw }, \
71 FORMAT_RAW_MATCH_MAGIC, 0, "MM", 2, \
72 FORMAT_RAW_EXIF_NONE, NULL, \
73 "Tiff debugger MM", format_debug_tiff_raw }
75 /* used for debugging only */
76 gint format_debug_tiff_raw(guchar *data, const guint len,
77 guint *image_offset, guint *exif_offset);
81 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */