You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
362 lines
20 KiB
C++
362 lines
20 KiB
C++
// ***************************************************************** -*- C++ -*-
|
|
/*
|
|
* Copyright (C) 2004-2009 Andreas Huggel <ahuggel@gmx.net>
|
|
*
|
|
* This program is part of the Exiv2 distribution.
|
|
*
|
|
* This program 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 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program 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 this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
/*
|
|
File: panasonicmn.cpp
|
|
Version: $Rev$
|
|
Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
|
|
Gilles Caulier (gc) <caulier.gilles@kdemail.net>
|
|
History: 11-Jun-04, ahu: created
|
|
Credits: See header file
|
|
*/
|
|
// *****************************************************************************
|
|
#include "rcsid.hpp"
|
|
EXIV2_RCSID("@(#) $Id$")
|
|
|
|
// *****************************************************************************
|
|
// included header files
|
|
#include "types.hpp"
|
|
#include "panasonicmn.hpp"
|
|
#include "value.hpp"
|
|
#include "i18n.h" // NLS support.
|
|
|
|
// + standard includes
|
|
#include <string>
|
|
#include <sstream>
|
|
#include <iomanip>
|
|
#include <cassert>
|
|
#include <cstring>
|
|
|
|
// *****************************************************************************
|
|
// class member definitions
|
|
namespace Exiv2 {
|
|
|
|
//! Quality, tag 0x0001
|
|
extern const TagDetails panasonicQuality[] = {
|
|
{ 2, N_("High") },
|
|
{ 3, N_("Normal") },
|
|
{ 6, N_("Very High") },
|
|
{ 7, N_("Raw") },
|
|
{ 9, N_("Motion Picture") }
|
|
};
|
|
|
|
//! WhiteBalance, tag 0x0003
|
|
extern const TagDetails panasonicWhiteBalance[] = {
|
|
{ 1, N_("Auto") },
|
|
{ 2, N_("Daylight") },
|
|
{ 3, N_("Cloudy") },
|
|
{ 4, N_("Halogen") },
|
|
{ 5, N_("Manual") },
|
|
{ 8, N_("Flash") },
|
|
{ 10, N_("Black and white") },
|
|
{ 11, N_("Manual") }
|
|
};
|
|
|
|
//! FocusMode, tag 0x0007
|
|
extern const TagDetails panasonicFocusMode[] = {
|
|
{ 1, N_("Auto") },
|
|
{ 2, N_("Manual") },
|
|
{ 4, N_("Auto, focus button") },
|
|
{ 5, N_("Auto, continuous") }
|
|
};
|
|
|
|
//! ImageStabilizer, tag 0x001a
|
|
extern const TagDetails panasonicImageStabilizer[] = {
|
|
{ 2, N_("On, Mode 1") },
|
|
{ 3, N_("Off") },
|
|
{ 4, N_("On, Mode 2") }
|
|
};
|
|
|
|
//! Macro, tag 0x001c
|
|
extern const TagDetails panasonicMacro[] = {
|
|
{ 1, N_("On") },
|
|
{ 2, N_("Off") },
|
|
{ 257, N_("Tele-macro") }
|
|
};
|
|
|
|
//! ShootingMode, tag 0x001f and SceneMode, tag 0x8001
|
|
extern const TagDetails panasonicShootingMode[] = {
|
|
{ 0, N_("Off") }, // only SceneMode
|
|
{ 1, N_("Normal") },
|
|
{ 2, N_("Portrait") },
|
|
{ 3, N_("Scenery") },
|
|
{ 4, N_("Sports") },
|
|
{ 5, N_("Night portrait") },
|
|
{ 6, N_("Program") },
|
|
{ 7, N_("Aperture priority") },
|
|
{ 8, N_("Shutter-speed priority") },
|
|
{ 9, N_("Macro") },
|
|
{ 10, N_("Spot") },
|
|
{ 11, N_("Manual") },
|
|
{ 12, N_("Movie preview") },
|
|
{ 13, N_("Panning") },
|
|
{ 14, N_("Simple") },
|
|
{ 15, N_("Color effects") },
|
|
{ 18, N_("Fireworks") },
|
|
{ 19, N_("Party") },
|
|
{ 20, N_("Snow") },
|
|
{ 21, N_("Night scenery") },
|
|
{ 22, N_("Food") },
|
|
{ 23, N_("Baby") },
|
|
{ 24, N_("Soft skin") },
|
|
{ 25, N_("Candlelight") },
|
|
{ 26, N_("Starry night") },
|
|
{ 27, N_("High sensitivity") },
|
|
{ 28, N_("Panorama assist") },
|
|
{ 29, N_("Underwater") },
|
|
{ 30, N_("Beach") },
|
|
{ 31, N_("Aerial photo") },
|
|
{ 32, N_("Sunset") },
|
|
{ 33, N_("Pet") },
|
|
{ 34, N_("Intelligent ISO") },
|
|
{ 36, N_("High speed continuous shooting") },
|
|
{ 37, N_("Intelligent auto") },
|
|
};
|
|
|
|
//! Audio, tag 0x0020
|
|
extern const TagDetails panasonicAudio[] = {
|
|
{ 1, N_("Yes") },
|
|
{ 2, N_("No") }
|
|
};
|
|
|
|
//! ColorEffect, tag 0x0028
|
|
extern const TagDetails panasonicColorEffect[] = {
|
|
{ 1, N_("Off") },
|
|
{ 2, N_("Warm") },
|
|
{ 3, N_("Cool") },
|
|
{ 4, N_("Black and white") },
|
|
{ 5, N_("Sepia") }
|
|
};
|
|
|
|
//! BustMode, tag 0x002a
|
|
extern const TagDetails panasonicBurstMode[] = {
|
|
{ 0, N_("Off") },
|
|
{ 1, N_("Low/High quality") },
|
|
{ 2, N_("Infinite") }
|
|
};
|
|
|
|
//! Contrast, tag 0x002c
|
|
extern const TagDetails panasonicContrast[] = {
|
|
{ 0, N_("Normal") },
|
|
{ 1, N_("Low") },
|
|
{ 2, N_("High") },
|
|
{ 6, N_("Medium low") },
|
|
{ 7, N_("Medium high") },
|
|
{ 256, N_("Low") },
|
|
{ 272, N_("Standard") },
|
|
{ 288, N_("High") }
|
|
};
|
|
|
|
//! NoiseReduction, tag 0x002d
|
|
extern const TagDetails panasonicNoiseReduction[] = {
|
|
{ 0, N_("Standard") },
|
|
{ 1, N_("Low (-1)") },
|
|
{ 2, N_("High (+1)") },
|
|
{ 3, N_("Lowest (-2)") },
|
|
{ 4, N_("Highest (+2)") }
|
|
};
|
|
|
|
//! SelfTimer, tag 0x002e
|
|
extern const TagDetails panasonicSelfTimer[] = {
|
|
{ 1, N_("Off") },
|
|
{ 2, N_("10s") },
|
|
{ 3, N_("2s") }
|
|
};
|
|
|
|
//! Rotation, tag 0x0030
|
|
extern const TagDetails panasonicRotation[] = {
|
|
{ 1, N_("Horizontal (normal)") },
|
|
{ 6, N_("Rotate 90 CW") },
|
|
{ 8, N_("Rotate 270 CW") }
|
|
};
|
|
|
|
//! ColorMode, tag 0x0032
|
|
extern const TagDetails panasonicColorMode[] = {
|
|
{ 0, N_("Normal") },
|
|
{ 1, N_("Natural") },
|
|
{ 2, N_("Vivid") }
|
|
};
|
|
|
|
//! OpticalZoomMode, tag 0x0034
|
|
extern const TagDetails panasonicOpticalZoomMode[] = {
|
|
{ 1, N_("Standard") },
|
|
{ 2, N_("EX optics") }
|
|
};
|
|
|
|
//! ConversionLens, tag 0x0035
|
|
extern const TagDetails panasonicConversionLens[] = {
|
|
{ 1, N_("Off") },
|
|
{ 2, N_("Wide") },
|
|
{ 3, N_("Telephoto") },
|
|
{ 4, N_("Macro") }
|
|
};
|
|
|
|
//! WorldTimeLocation, tag 0x003a
|
|
extern const TagDetails panasonicWorldTimeLocation[] = {
|
|
{ 1, N_("Home") },
|
|
{ 2, N_("Destination") }
|
|
};
|
|
|
|
//! FilmMode, tag 0x0042
|
|
extern const TagDetails panasonicFilmMode[] = {
|
|
{ 1, N_("Standard (color)") },
|
|
{ 2, N_("Dynamic (color)") },
|
|
{ 3, N_("Nature (color)") },
|
|
{ 4, N_("Smooth (color)") },
|
|
{ 5, N_("Standard (B&W)") },
|
|
{ 6, N_("Dynamic (B&W)") },
|
|
{ 7, N_("Smooth (B&W)") }
|
|
};
|
|
|
|
// Panasonic MakerNote Tag Info
|
|
const TagInfo PanasonicMakerNote::tagInfo_[] = {
|
|
TagInfo(0x0001, "Quality", N_("Quality"), N_("Image Quality"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicQuality)),
|
|
TagInfo(0x0002, "FirmwareVersion", N_("Firmware Version"), N_("Firmware version"), panasonicIfdId, makerTags, undefined, printValue),
|
|
TagInfo(0x0003, "WhiteBalance", N_("White Balance"), N_("White balance setting"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicWhiteBalance)),
|
|
TagInfo(0x0004, "0x0004", "0x0004", N_("Unknown"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicFocusMode)),
|
|
TagInfo(0x000f, "AFMode", N_("AF Mode"), N_("AF mode"), panasonicIfdId, makerTags, unsignedByte, print0x000f),
|
|
TagInfo(0x001a, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicImageStabilizer)),
|
|
TagInfo(0x001c, "Macro", N_("Macro"), N_("Macro mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicMacro)),
|
|
TagInfo(0x001f, "ShootingMode", N_("Shooting Mode"), N_("Shooting mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicShootingMode)),
|
|
TagInfo(0x0020, "Audio", N_("Audio"), N_("Audio"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicAudio)),
|
|
TagInfo(0x0021, "DataDump", N_("Data Dump"), N_("Data dump"), panasonicIfdId, makerTags, undefined, printValue),
|
|
TagInfo(0x0022, "0x0022", "0x0022", N_("Unknown"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0023, "WhiteBalanceBias", N_("White Balance Bias"), N_("White balance adjustment"), panasonicIfdId, makerTags, signedShort, print0x0023),
|
|
TagInfo(0x0024, "FlashBias", N_("FlashBias"), N_("Flash bias"), panasonicIfdId, makerTags, signedShort, printValue),
|
|
TagInfo(0x0025, "InternalSerialNumber", N_("Internal Serial Number"), N_("This number is unique, and contains the date of manufacture, but is not the same as the number printed on the camera body."), panasonicIfdId, makerTags, undefined, printValue),
|
|
TagInfo(0x0026, "ExifVersion", "Exif Version", N_("Exif version"), panasonicIfdId, makerTags, undefined, printExifVersion),
|
|
TagInfo(0x0027, "0x0027", "0x0027", N_("Unknown"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0028, "ColorEffect", N_("Color Effect"), N_("Color effect"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicColorEffect)),
|
|
TagInfo(0x0029, "TimeSincePowerOn", "Time since Power On", N_("Time in 1/100 s from when the camera was powered on to when the image is written to memory card"), panasonicIfdId, makerTags, unsignedLong, printValue),
|
|
TagInfo(0x002a, "BurstMode", N_("Burst Mode"), N_("Burst mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicBurstMode)),
|
|
TagInfo(0x002b, "SequenceNumber", N_("Sequence Number"), N_("Sequence number"), panasonicIfdId, makerTags, unsignedLong, printValue),
|
|
TagInfo(0x002c, "Contrast", N_("Contrast"), N_("Contrast setting"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicContrast)),
|
|
TagInfo(0x002d, "NoiseReduction", N_("NoiseReduction"), N_("Noise reduction"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicNoiseReduction)),
|
|
TagInfo(0x002e, "SelfTimer", N_("Self Timer"), N_("Self timer"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicSelfTimer)),
|
|
TagInfo(0x002f, "0x002f", "0x002f", N_("Unknown"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0030, "Rotation", N_("Rotation"), N_("Rotation"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicRotation)),
|
|
TagInfo(0x0031, "0x0031", "0x0031", N_("Unknown"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0032, "ColorMode", N_("Color Mode"), N_("Color mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicColorMode)),
|
|
TagInfo(0x0033, "BabyAge", N_("Baby Age"), N_("Baby (or pet) age"), panasonicIfdId, makerTags, asciiString, printValue),
|
|
TagInfo(0x0034, "OpticalZoomMode", N_("Optical Zoom Mode"), N_("Optical zoom mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicOpticalZoomMode)),
|
|
TagInfo(0x0035, "ConversionLens", N_("Conversion Lens"), N_("Conversion lens"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicConversionLens)),
|
|
TagInfo(0x0036, "TravelDay", N_("Travel Day"), N_("Travel day"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0039, "Contrast", N_("Contrast"), N_("Contrast"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x003a, "WorldTimeLocation", N_("World Time Location"), N_("World time location"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicWorldTimeLocation)),
|
|
TagInfo(0x003c, "ProgramISO", N_("Program ISO"), N_("Program ISO"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0040, "Saturation", N_("Saturation"), N_("Saturation"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0041, "Sharpness", N_("Sharpness"), N_("Sharpness"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0042, "FilmMode", N_("Film Mode"), N_("Film mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicFilmMode)),
|
|
TagInfo(0x0046, "WBAdjustAB", N_("WB Adjust AB"), N_("WB adjust AB. Positive is a shift toward blue."), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0047, "WBAdjustGM", N_("WB Adjust GM"), N_("WBAdjustGM. Positive is a shift toward green."), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x0051, "LensType", N_("Lens Type"), N_("Lens type"), panasonicIfdId, makerTags, asciiString, printValue),
|
|
TagInfo(0x0052, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), panasonicIfdId, makerTags, asciiString, printValue),
|
|
TagInfo(0x0053, "AccessoryType", N_("Accessory Type"), N_("Accessory type"), panasonicIfdId, makerTags, asciiString, printValue),
|
|
TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), minoltaIfdId, makerTags, undefined, printValue),
|
|
TagInfo(0x4449, "0x4449", "0x4449", N_("Unknown"), panasonicIfdId, makerTags, undefined, printValue),
|
|
TagInfo(0x8000, "MakerNoteVersion", N_("MakerNote Version"), N_("MakerNote version"), panasonicIfdId, makerTags, undefined, printExifVersion),
|
|
TagInfo(0x8001, "SceneMode", N_("Scene Mode"), N_("Scene mode"), panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicShootingMode)),
|
|
TagInfo(0x8004, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x8005, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x8006, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panasonicIfdId, makerTags, unsignedShort, printValue),
|
|
TagInfo(0x8010, "BabyAge", N_("Baby Age"), N_("Baby (or pet) age"), panasonicIfdId, makerTags, asciiString, printValue),
|
|
// End of list marker
|
|
TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicIfdId, makerTags, invalidTypeId, printValue)
|
|
};
|
|
|
|
const TagInfo* PanasonicMakerNote::tagList()
|
|
{
|
|
return tagInfo_;
|
|
}
|
|
|
|
std::ostream& PanasonicMakerNote::print0x000f(std::ostream& os,
|
|
const Value& value,
|
|
const ExifData*)
|
|
{
|
|
if (value.count() < 2 || value.typeId() != unsignedByte) {
|
|
return os << value;
|
|
}
|
|
long l0 = value.toLong(0);
|
|
long l1 = value.toLong(1);
|
|
if (l0 == 0 && l1 == 1) os << _("Spot mode on");
|
|
else if (l0 == 0 && l1 == 16) os << _("Spot mode off or 3-area (high speed)");
|
|
else if (l0 == 1 && l1 == 0) os << _("Spot focussing");
|
|
else if (l0 == 1 && l1 == 1) os << _("5-area");
|
|
else if (l0 == 16 && l1 == 0) os << _("1-area");
|
|
else if (l0 == 16 && l1 == 16) os << _("1-area (high speed)");
|
|
else if (l0 == 32 && l1 == 0) os << _("3-area (auto)");
|
|
else if (l0 == 32 && l1 == 1) os << _("3-area (left)");
|
|
else if (l0 == 32 && l1 == 2) os << _("3-area (center)");
|
|
else if (l0 == 32 && l1 == 3) os << _("3-area (right)");
|
|
else os << value;
|
|
return os;
|
|
} // PanasonicMakerNote::print0x000f
|
|
|
|
std::ostream& PanasonicMakerNote::print0x0023(std::ostream& os,
|
|
const Value& value,
|
|
const ExifData*)
|
|
{
|
|
std::ostringstream oss;
|
|
oss.copyfmt(os);
|
|
os << std::fixed << std::setprecision(1)
|
|
<< value.toLong() / 3 << _(" EV");
|
|
os.copyfmt(oss);
|
|
|
|
return os;
|
|
|
|
} // PanasonicMakerNote::print0x0023
|
|
|
|
// Panasonic MakerNote Tag Info
|
|
const TagInfo PanasonicMakerNote::tagInfoRaw_[] = {
|
|
TagInfo(0x0001, "Version", N_("Version"), N_("Panasonic raw version"), panaRawIfdId, panaRaw, undefined, printExifVersion),
|
|
TagInfo(0x0002, "SensorWidth", N_("Sensor Width"), N_("Sensor width"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0003, "SensorHeight", N_("Sensor Height"), N_("Sensor height"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0004, "SensorTopBorder", N_("Sensor Top Border"), N_("Sensor top border"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0005, "SensorLeftBorder", N_("Sensor Left Border"), N_("Sensor left border"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0006, "ImageHeight", N_("Image Height"), N_("Image height"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0007, "ImageWidth", N_("Image Width"), N_("Image width"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0011, "RedBalance", N_("Red Balance"), N_("Red balance (found in Digilux 2 RAW images)"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0012, "BlueBalance", N_("Blue Balance"), N_("Blue balance"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0017, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0024, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0025, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0026, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x002e, "PreviewImage", N_("Preview Image"), N_("Preview image"), panaRawIfdId, panaRaw, undefined, printValue),
|
|
TagInfo(0x010f, "Make", N_("Manufacturer"), N_("The manufacturer of the recording equipment"), panaRawIfdId, panaRaw, asciiString, printValue),
|
|
TagInfo(0x0110, "Model", N_("Model"), N_("The model name or model number of the equipment"), panaRawIfdId, panaRaw, asciiString, printValue),
|
|
TagInfo(0x0111, "StripOffsets", N_("Strip Offsets"), N_("Strip offsets"), panaRawIfdId, panaRaw, unsignedLong, printValue),
|
|
TagInfo(0x0112, "Orientation", N_("Orientation"), N_("Orientation"), panaRawIfdId, panaRaw, unsignedShort, print0x0112),
|
|
TagInfo(0x0116, "RowsPerStrip", N_("Rows Per Strip"), N_("The number of rows per strip"), panaRawIfdId, panaRaw, unsignedShort, printValue),
|
|
TagInfo(0x0117, "StripByteCounts", N_("Strip Byte Counts"), N_("Strip byte counts"), panaRawIfdId, panaRaw, unsignedLong, printValue),
|
|
TagInfo(0x0118, "RawDataOffset", N_("Raw Data Offset"), N_("Raw data offset"), panaRawIfdId, panaRaw, unsignedLong, printValue),
|
|
TagInfo(0x8769, "ExifTag", N_("Exif IFD Pointer"), N_("A pointer to the Exif IFD"), panaRawIfdId, panaRaw, unsignedLong, printValue),
|
|
TagInfo(0x8825, "GPSTag", N_("GPS Info IFD Pointer"), N_("A pointer to the GPS Info IFD"), panaRawIfdId, panaRaw, unsignedLong, printValue),
|
|
// End of list marker
|
|
TagInfo(0xffff, "(UnknownPanasonicRawTag)", "(UnknownPanasonicRawTag)", N_("Unknown PanasonicRaw tag"), panaRawIfdId, panaRaw, invalidTypeId, printValue)
|
|
};
|
|
|
|
const TagInfo* PanasonicMakerNote::tagListRaw()
|
|
{
|
|
return tagInfoRaw_;
|
|
}
|
|
|
|
} // namespace Exiv2
|