Mercurial > geeqie
diff src/exif.h @ 47:aa4c0e1b54b0
Fri Jun 3 01:49:20 2005 John Ellis <johne@verizon.net>
* exif.[ch]: Export several parsing functions for use by the exif
makernote parsers, and add hook for MakerNote data parsing.
* format_canon.[ch]: Add Canon EXIF MakerNote support.
* format_raw.c: Fix warning printf grammar.
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
##### an offical release when making enhancements and translation updates. #####
author | gqview |
---|---|
date | Fri, 03 Jun 2005 06:07:02 +0000 |
parents | d907d608745f |
children | 276ea4c98d33 |
line wrap: on
line diff
--- a/src/exif.h Fri May 27 02:17:18 2005 +0000 +++ b/src/exif.h Fri Jun 03 06:07:02 2005 +0000 @@ -90,7 +90,7 @@ { ExifFormatType format; int tag; - ExifMarker *marker; + const ExifMarker *marker; int elements; gpointer data; int data_len; @@ -106,12 +106,16 @@ ExifTextList *list; }; +#define EXIF_MARKER_LIST_END { 0x0000, EXIF_FORMAT_UNKNOWN, 0, NULL, NULL, NULL } + struct _ExifTextList { int value; const char* description; }; +#define EXIF_TEXT_LIST_END { -1, NULL } + typedef struct _ExifFormattedText ExifFormattedText; struct _ExifFormattedText @@ -188,4 +192,18 @@ void exif_write_data_list(ExifData *exif, FILE *f, gint human_readable_list); + +/* These funcs for use by makernote parsers only */ + +ExifItem *exif_item_new(ExifFormatType format, unsigned int tag, + unsigned int elements, const ExifMarker *marker); +void exif_item_copy_data(ExifItem *item, void *src, int len, ExifFormatType src_format, int byte_order); + +gint exif_parse_IFD_table(ExifData *exif, + unsigned char *tiff, int offset, + int size, int byte_order, + const ExifMarker *list); + + + #endif