Add support for some Samsung raw files (.pef).
authorLaurent Monin <geeqie@norz.org>
Tue, 8 Apr 2008 22:05:04 +0000 (22:05 +0000)
committerLaurent Monin <geeqie@norz.org>
Tue, 8 Apr 2008 22:05:04 +0000 (22:05 +0000)
Samsung raw not strongly differ from Pentax raw.
The only difference in header (manufacturer, camera name and etc).
Tested on Samsung GX-1S and Pentax *ist DS.
Patch by Max Lushnikov.

src/filelist.c
src/format_nikon.h
src/format_raw.c

index e99b81c..1947e50 100644 (file)
@@ -235,7 +235,7 @@ void filter_add_defaults(void)
        filter_add_if_missing("mrw", "Minolta raw format", ".mrw", FORMAT_CLASS_RAWIMAGE, TRUE);
        filter_add_if_missing("nef", "Nikon raw format", ".nef", FORMAT_CLASS_RAWIMAGE, TRUE);
        filter_add_if_missing("orf", "Olympus raw format", ".orf", FORMAT_CLASS_RAWIMAGE, TRUE);
-       filter_add_if_missing("pef", "Pentax raw format", ".pef;.ptx", FORMAT_CLASS_RAWIMAGE, TRUE);
+       filter_add_if_missing("pef", "Pentax or Samsung raw format", ".pef;.ptx", FORMAT_CLASS_RAWIMAGE, TRUE);
        filter_add_if_missing("dng", "Adobe Digital Negative raw format", ".dng", FORMAT_CLASS_RAWIMAGE, TRUE);
        filter_add_if_missing("x3f", "Sigma raw format", ".x3f", FORMAT_CLASS_RAWIMAGE, TRUE);
        filter_add_if_missing("raw", "Panasonic raw format", ".raw", FORMAT_CLASS_RAWIMAGE, TRUE);
index 0ae249a..52e5a42 100644 (file)
@@ -29,6 +29,10 @@ gint format_nikon_raw(unsigned char *data, const guint len,
                            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);
index 15990df..c377c89 100644 (file)
@@ -62,6 +62,7 @@ static FormatRawEntry format_raw_list[] = {
        FORMAT_RAW_NIKON,
        FORMAT_RAW_OLYMPUS,
        FORMAT_RAW_PENTAX,
+       FORMAT_RAW_SAMSUNG,
        { NULL, 0, 0, NULL, 0, 0, NULL, NULL, NULL }
 };