/* * This file is part of RawTherapee. * * Copyright (c) 2004-2010 Gabor Horvath * * RawTherapee is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * RawTherapee is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ #ifndef _FUJIATTRIBS_ #define _FUJIATTRIBS_ #include "rtexif.h" namespace rtexif { class FAOnOffInterpreter : public ChoiceInterpreter { public: FAOnOffInterpreter () { choices[0] = "Off"; choices[1] = "On"; } }; FAOnOffInterpreter faOnOffInterpreter; class FASharpnessInterpreter : public ChoiceInterpreter { public: FASharpnessInterpreter () { choices[1] = "Soft"; choices[2] = "Soft2"; choices[3] = "Normal"; choices[4] = "Hard"; choices[5] = "Hard2"; choices[0x82] = "Medium Soft"; choices[0x84] = "Medium Hard"; choices[0x8000] = "Film Simulation"; choices[0xffff] = "n/a"; } }; FASharpnessInterpreter faSharpnessInterpreter; class FAWhiteBalanceInterpreter : public ChoiceInterpreter { public: FAWhiteBalanceInterpreter () { choices[0] = "Auto"; choices[0x100] = "Daylight"; choices[0x200] = "Cloudy"; choices[0x300] = "Daylight Fluorescent"; choices[0x301] = "Day White Fluorescent"; choices[0x302] = "White Fluorescent"; choices[0x303] = "Warm White Fluorescent"; choices[0x304] = "Living Room Warm White Fluorescent"; choices[0x400] = "Incandescent"; choices[0x500] = "Flash"; choices[0xf00] = "Custom"; choices[0xf01] = "Custom2"; choices[0xf02] = "Custom3"; choices[0xf03] = "Custom4"; choices[0xf04] = "Custom5"; choices[0xff0] = "Kelvin"; } }; FAWhiteBalanceInterpreter faWhiteBalanceInterpreter; class FASaturationInterpreter : public ChoiceInterpreter { public: FASaturationInterpreter () { choices[0] = "Normal"; choices[0x80] = "Medium High"; choices[0x100] = "High"; choices[0x180] = "Medium Low"; choices[0x200] = "Low"; choices[0x300] = "None (B&W)"; choices[0x8000] = "Film Simulation"; } }; FASaturationInterpreter faSaturationInterpreter; class FAContrastInterpreter : public ChoiceInterpreter { public: FAContrastInterpreter () { choices[0] = "Normal"; choices[0x80] = "Medium High"; choices[0x100] = "High"; choices[0x180] = "Medium Low"; choices[0x200] = "Low"; choices[0x8000] = "Film Simulation"; } }; FAContrastInterpreter faContrastInterpreter; class FAContrast2Interpreter : public ChoiceInterpreter { public: FAContrast2Interpreter () { choices[0] = "Normal"; choices[0x100] = "High"; choices[0x300] = "Low"; } }; FAContrast2Interpreter faContrast2Interpreter; class FANoiseReductionInterpreter : public ChoiceInterpreter { public: FANoiseReductionInterpreter () { choices[0x40] = "Low"; choices[0x80] = "Normal"; } }; FANoiseReductionInterpreter faNoiseReductionInterpreter; class FAFlashInterpreter : public ChoiceInterpreter { public: FAFlashInterpreter () { choices[0] = "Auto"; choices[1] = "On"; choices[2] = "Off"; choices[3] = "Red-eye reduction"; choices[4] = "External"; } }; FAFlashInterpreter faFlashInterpreter; class FAFocusModeInterpreter : public ChoiceInterpreter { public: FAFocusModeInterpreter () { choices[0] = "Auto"; choices[1] = "Manual"; } }; FAFocusModeInterpreter faFocusModeInterpreter; class FAColorModeInterpreter : public ChoiceInterpreter { public: FAColorModeInterpreter () { choices[0] = "Standard"; choices[0x10] = "Chrome"; choices[0x30] = "B & W"; } }; FAColorModeInterpreter faColorModeInterpreter; class FADynamicRangeInterpreter : public ChoiceInterpreter { public: FADynamicRangeInterpreter () { choices[1] = "Standard"; choices[3] = "Wide"; } }; FADynamicRangeInterpreter faDynamicRangeInterpreter; class FAFilmModeInterpreter : public ChoiceInterpreter { public: FAFilmModeInterpreter () { choices[0] = "F0/Standard"; choices[0x100] = "F1/Studio Portrait"; choices[0x110] = "F1a/Studio Portrait Enhanced Saturation"; choices[0x120] = "F1b/Studio Portrait Smooth Skin Tone"; choices[0x130] = "F1c/Studio Portrait Increased Sharpness "; choices[0x200] = "F2/Fujichrome"; choices[0x300] = "F3/Studio Portrait Ex"; choices[0x400] = "F4/Velvia"; } }; FAFilmModeInterpreter faFilmModeInterpreter; class FADRSettingInterpreter : public ChoiceInterpreter { public: FADRSettingInterpreter () { choices[0] = "Auto (100-400%)"; choices[0x1] = "RAW"; choices[0x100] = "Standard (100%)"; choices[0x200] = "Wide1 (230%)"; choices[0x201] = "Wide2 (400%)"; choices[0x8000] = "Film Simulation"; } }; FADRSettingInterpreter faDRSettingInterpreter; class FAPictureModeInterpreter : public ChoiceInterpreter { public: FAPictureModeInterpreter () { choices[0] = "Auto"; choices[1] = "Portrait"; choices[2] = "Landscape"; choices[3] = "Macro"; choices[4] = "Sports"; choices[5] = "Night Scene"; choices[6] = "Program AE"; choices[7] = "Natural Light"; choices[8] = "Anti-blur"; choices[9] = "Beach & Snow"; choices[10] = "Sunset"; choices[11] = "Museum"; choices[12] = "Party"; choices[13] = "Flower"; choices[14] = "Text"; choices[15] = "Natural Light & Flash"; choices[16] = "Beach"; choices[17] = "Fireworks"; choices[18] = "Underwater"; choices[0x100] = "Aperture-priority AE"; choices[0x200] = "Shutter speed priority AE"; choices[0x300] = "Manual"; } }; FAPictureModeInterpreter faPictureModeInterpreter; const TagAttrib fujiAttribs[] = { {0, AC_WRITE, 0, 0, 0x0000, AUTO, "Version", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x0010, AUTO, "InternalSerialNumber", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1000, AUTO, "Quality", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1001, AUTO, "Sharpness", &faSharpnessInterpreter}, {0, AC_WRITE, 0, 0, 0x1002, AUTO, "WhiteBalance", &faWhiteBalanceInterpreter}, {0, AC_WRITE, 0, 0, 0x1003, AUTO, "Saturation", &faSaturationInterpreter}, {0, AC_WRITE, 0, 0, 0x1004, AUTO, "Contrast", &faContrastInterpreter}, {0, AC_WRITE, 0, 0, 0x1005, AUTO, "ColorTemperature", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1006, AUTO, "Contrast2", &faContrast2Interpreter}, {0, AC_WRITE, 0, 0, 0x100a, AUTO, "WhiteBalanceFineTune", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x100b, AUTO, "NoiseReduction", &faNoiseReductionInterpreter}, {0, AC_WRITE, 0, 0, 0x1010, AUTO, "FujiFlashMode", &faFlashInterpreter}, {0, AC_WRITE, 0, 0, 0x1011, AUTO, "FlashExposureComp", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1020, AUTO, "Macro", &faOnOffInterpreter}, {0, AC_WRITE, 0, 0, 0x1021, AUTO, "FocusMode", &faFocusModeInterpreter}, {0, AC_WRITE, 0, 0, 0x1023, AUTO, "FocusPixel", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1030, AUTO, "SlowSync", &faOnOffInterpreter}, {0, AC_WRITE, 0, 0, 0x1031, AUTO, "PictureMode", &faPictureModeInterpreter}, {0, AC_WRITE, 0, 0, 0x1100, AUTO, "AutoBracketing", &faOnOffInterpreter}, {0, AC_WRITE, 0, 0, 0x1101, AUTO, "SequenceNumber", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1210, AUTO, "ColorMode", &faColorModeInterpreter}, {0, AC_WRITE, 0, 0, 0x1300, AUTO, "BlurWarning", &faOnOffInterpreter}, {0, AC_WRITE, 0, 0, 0x1301, AUTO, "FocusWarning", &faOnOffInterpreter}, {0, AC_WRITE, 0, 0, 0x1302, AUTO, "ExposureWarning", &faOnOffInterpreter}, {0, AC_WRITE, 0, 0, 0x1400, AUTO, "DynamicRange", &faDynamicRangeInterpreter}, {0, AC_WRITE, 0, 0, 0x1401, AUTO, "FilmMode", &faFilmModeInterpreter}, {0, AC_WRITE, 0, 0, 0x1402, AUTO, "DynamicRangeSetting", &faDRSettingInterpreter}, {0, AC_WRITE, 0, 0, 0x1403, AUTO, "DevelopmentDynamicRange", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1404, AUTO, "MinFocalLength", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1405, AUTO, "MaxFocalLength", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1406, AUTO, "MaxApertureAtMinFocal", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x1407, AUTO, "MaxApertureAtMaxFocal", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x140b, AUTO, "AutoDynamicRange", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x4100, AUTO, "FacesDetected", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x8000, AUTO, "FileSource", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x8002, AUTO, "OrderNumber", &stdInterpreter}, {0, AC_WRITE, 0, 0, 0x8003, AUTO, "FrameNumber", &stdInterpreter}, { -1, AC_DONTWRITE, 0, 0, 0, AUTO, "", NULL} }; } #endif