/* * @(#)FujifilmMakerNoteTagSet.java 1.3.1 2011-04-15 * * Copyright (c) 2010-2011 Werner Randelshofer, Goldau, Switzerland. * All rights reserved. * * You may not use, copy or modify this file, except in compliance with the * license agreement you entered into with Werner Randelshofer. * For details see accompanying license terms. */ package org.monte.media.exif; import org.monte.media.tiff.*; import static org.monte.media.tiff.TIFFTag.*; /** * Enumeration of Fujifilm MakerNote tags. * <p> * Sources: * <p> * <a href="http://www.exiv2.org/tags-fujifilm.html">http://www.exiv2.org/tags-fujifilm.html</a> * <br> * <a href="http://park2.wakwak.com/%7Etsuruzoh/Computer/Digicams/exif-e.html#APP4">http://park2.wakwak.com/%7Etsuruzoh/Computer/Digicams/exif-e.html#APP4</a> * <br> * <a href="http://homepage3.nifty.com/kamisaka/makernote/makernote_fuji.htm">http://homepage3.nifty.com/kamisaka/makernote/makernote_fuji.htm</a> * * @author Werner Randelshofer * @version 1.3.1 2011-04-15 Adds enum for FinePixColor. * <br>1.3 2011-02-22 Adds principal point. * <br>1.2 2011-01-27 Adds constants. * <br>1.1 2011-01-23 Adds constants. * <br>1.0 2010-07-24 Created. */ public class FujifilmMakerNoteTagSet extends TagSet { private static FujifilmMakerNoteTagSet instance; /** ParallaxXShift (Pixel fraction value). * This is -2 times the value that is shown on the camera display. * This tag is only found in the maker note of the second image of a .MPO file. */ public final static TIFFTag ParallaxXShift = new TIFFTag("ParallaxXShift", 0xb211, SRATIONAL_MASK); /** ParallaxYShift (Pixel fraction value). * This is -2 times the value that is shown on the camera display. * This tag is only found in the maker note of the second image of a .MPO file. */ public final static TIFFTag ParallaxYShift = new TIFFTag("ParallaxYShift", 0xb212, SRATIONAL_MASK); // public final static TIFFTag ConvergenceAngle = new TIFFTag("ConvergenceAngle", 0xb205, SRATIONAL_MASK); public final static TIFFTag BaselineLength = new TIFFTag("BaselineLength", 0xb206, RATIONAL_MASK); public final static TIFFTag SerialNumber = new TIFFTag("SerialNumber", 0x10, ASCII_MASK); // private FujifilmMakerNoteTagSet(TIFFTag[] tags) { super("FujifilmMakerNote", tags); } /** Returns a shared instance of a BaselineTIFFTagSet. */ public static FujifilmMakerNoteTagSet getInstance() { if (instance == null) { TIFFTag[] tags = {// /** Fujifilm Makernote version */ new TIFFTag("Version", 0x0, UNDEFINED_MASK, new ASCIIValueFormatter()), /** This number is unique, and contains the date of * manufacture, but is not necessarily the same as the number printed * on the camera body. */ SerialNumber, /** Image quality setting. */ new TIFFTag("Quality", 0x1000, ASCII_MASK), /** Sharpness setting. */ new TIFFTag("Sharpness", 0x1001, SHORT_MASK, new EnumValueFormatter( "soft", 1,// "soft2", 2,// "normal", 3,// "hard", 4,// "hard2", 5,// "mediumSoft", 0x82,// "mediumHard", 0x84,// "filmSimulationMode", 0x8000,// "off", 0xffff// )), /** White balance setting. */ new TIFFTag("WhiteBalance", 0x1002, SHORT_MASK, new EnumValueFormatter( "auto", 0,// "daylight", 0x100,// "cloudy", 0x200,// "daylightColorFluorescence", 0x300,// "daywhiteColorFluorescence", 0x301,// "whiteFluorescence", 0x302,// "fluorescence4", 0x303,// "fluorescence5", 0x304,// "incandescence", 0x400,// "flash", 0x500,// "customWhiteBalance", 0xf00,// "custom2", 0xf01,// "custom3", 0xf02,// "custom4", 0xf03,// "custom5", 0xf03// )), /** Chroma saturation setting. */ new TIFFTag("Color", 0x1003, SHORT_MASK, new EnumValueFormatter( "normal", 0,// "mediumHigh", 0x80,// "high", 0x100,// "mediumLow", 0x180,// "low", 0x200,// "blackAndWhite", 0x300,// "filmSimulationMode", 0x8000// )), /** Contrast setting. */ new TIFFTag("Tone", 0x1004, SHORT_MASK, new EnumValueFormatter( "normal", 0,// "mediumHard", 0x80,// "hard", 0x100,// "mediumSoft", 0x180,// "soft", 0x200,// "filmSimulationMode", 0x8000// )), /** Flash firing mode setting. */ new TIFFTag("FlashMode", 0x1010, SHORT_MASK, new EnumValueFormatter( "auto", 0,// "on", 1,// "off", 2,// "redEyeReduction", 3// )), /** Flash firing strength compensation setting. */ new TIFFTag("FlashStrength", 0x1011, SRATIONAL_MASK), /** Macro mode setting. */ new TIFFTag("Macro", 0x1020, SHORT_MASK, new EnumValueFormatter( "off", 0,// "on", 1// )), /** Focusing mode setting. */ new TIFFTag("FocusMode", 0x1021, SHORT_MASK, new EnumValueFormatter( "auto", 0,// "manual", 1// )), /** X- and Y-Offset of the principal point on the image plane. */ new TIFFTag("PrincipalPoint", 0x1023, SHORT_MASK), /** Slow synchro mode setting. */ new TIFFTag("SlowSync", 0x1030, SHORT_MASK, new EnumValueFormatter( "off", 0,// "on", 1// )), /** Picture mode setting. */ new TIFFTag("PictureMode", 0x1031, SHORT_MASK, new EnumValueFormatter( "auto", 0,// "portraitScene", 1,// "landscapeScene", 2,// "sportsScene", 4,// "nightScene", 5,// "programAE", 6,// "aperturePriorAE", 256,// "shutterPriorAE", 512,// "manualExposure", 768// )), /** Continuous shooting or auto bracketing setting. */ new TIFFTag("Continuous", 0x1100, SHORT_MASK, new EnumValueFormatter( "continuous", 0,// "autoBracketing", 1// )), /** Sequence number. */ new TIFFTag("SequenceNumber", 0x1101, SHORT_MASK), /** Fuji FinePix color setting. */ new TIFFTag("FinePixColor", 0x1210, SHORT_MASK, new EnumValueFormatter( "standard", 0,// "chrome", 16// //"black and white", ??// )), /** Blur warning status. */ new TIFFTag("BlurWarning", 0x1300, SHORT_MASK, new EnumValueFormatter( "good", 0,// "blurred", 1// )), /** Auto Focus warning status. */ new TIFFTag("FocusWarning", 0x1301, SHORT_MASK, new EnumValueFormatter( "good", 0,// "outOfFocus", 1// )), /** Auto exposure warning status. */ new TIFFTag("ExposureWarning", 0x1302, SHORT_MASK, new EnumValueFormatter( "good", 0,// "overExposure", 1// )), /** Dynamic range. */ new TIFFTag("DynamicRange", 0x1400, SHORT_MASK), /** Film mode. */ new TIFFTag("FilmMode", 0x1401, SHORT_MASK), /** Dynamic range settings. */ new TIFFTag("DynamicRangeSetting", 0x1402, SHORT_MASK), /** Development dynamic range. */ new TIFFTag("DevelopmentDynamicRange", 0x1403, SHORT_MASK), /** Minimum focal length. */ new TIFFTag("MinFocalLength", 0x1404, RATIONAL_MASK), /** Maximum focal length. */ new TIFFTag("MaxFocalLength", 0x1405, RATIONAL_MASK), /** Maximum aperture at mininimum focal. */ new TIFFTag("MaxApertureAtMinFocal", 0x1406, RATIONAL_MASK), /** Maximum aperture at maxinimum focal. */ new TIFFTag("MaxApertureAtMaxFocal", 0x1407, RATIONAL_MASK), /** File source. */ new TIFFTag("FileSource", 0x8000, ASCII_MASK), /** Order number. */ new TIFFTag("OrderNumber", 0x8002, LONG_MASK), /** Frame number. */ new TIFFTag("FrameNumber", 0x8003, SHORT_MASK), ParallaxXShift, ParallaxYShift, /** The following MP Tags occur in the Fujifilm MakerNote of AVI videos: */ new TIFFTag("MPIndividualImageNumber", 0xb101, SHORT_MASK), new TIFFTag("BaseViewpointNumber", 0xb204, SHORT_MASK), ConvergenceAngle, BaselineLength,}; instance = new FujifilmMakerNoteTagSet(tags); } return instance; } }