view src/format_nikon.h @ 399:d071a3555011

Reduce code redundancy with the introduction of a new function named vd_get_fd_from_tree_path().
author zas_
date Thu, 17 Apr 2008 18:44:17 +0000
parents 9de0f88b2b91
children ddabc4873a3f
line wrap: on
line source

/*
 *  GQView
 *  (C) 2005 John Ellis
 *
 * This software is released under the GNU General Public License (GNU GPL).
 * Please read the included file COPYING for more information.
 * This software comes with no warranty of any kind, use at your own risk!
 */

#ifndef __FORMAT_NIKON_H
#define __FORMAT_NIKON_H


#include "exif-int.h"

gint format_nikon_raw(unsigned char *data, const guint len,
		      guint *image_offset, guint *exif_offset);

#define FORMAT_RAW_NIKON { "nef", \
			   FORMAT_RAW_MATCH_TIFF_MAKE, 0, "NIKON CORPORATION", 17, \
			   FORMAT_RAW_EXIF_TIFF, NULL, \
			   "Nikon raw", format_nikon_raw }

/* If your format is basically just TIFF with an embedded jpeg,
 * then avoid duplicating code and just stick it here and use the existing nikon parse.
 */
#define FORMAT_RAW_PENTAX { "pef", \
			    FORMAT_RAW_MATCH_TIFF_MAKE, 0, "PENTAX Corporation", 18, \
			    FORMAT_RAW_EXIF_TIFF, NULL, \
			    "Pentax raw", format_nikon_raw }

#define FORMAT_RAW_SAMSUNG { "pef", \
			    FORMAT_RAW_MATCH_TIFF_MAKE, 0, "SAMSUNG TECHWIN", 15, \
			    FORMAT_RAW_EXIF_TIFF, NULL, \
			    "Samsung raw", format_nikon_raw }

gint format_nikon_makernote(ExifData *exif, unsigned char *tiff, guint offset,
			    guint size, ExifByteOrder bo);

#define FORMAT_EXIF_NIKON { FORMAT_EXIF_MATCH_MAKERNOTE, "Nikon\x00", 6, "Nikon", format_nikon_makernote }, \
			  { FORMAT_EXIF_MATCH_MAKE,      "NIKON",     5, "Nikon", format_nikon_makernote }


#endif