Exiv2
tags_int.hpp
Go to the documentation of this file.
1 // ***************************************************************** -*- C++ -*-
2 /*
3  * Copyright (C) 2004-2018 Exiv2 authors
4  * This program is part of the Exiv2 distribution.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
19  */
28 #ifndef TAGS_INT_HPP_
29 #define TAGS_INT_HPP_
30 
31 // *****************************************************************************
32 // included header files
33 #include "types.hpp"
34 #include "tags.hpp"
35 #include "value.hpp"
36 
37 // + standard includes
38 #include <string>
39 #include <iostream>
40 #include <memory>
41 
42 // *****************************************************************************
43 // namespace extensions
44 
45 namespace Exiv2 {
46  class ExifData;
47 
48  namespace Internal {
49 
50 // *****************************************************************************
51 // class definitions
52 
54  enum IfdId {
55  ifdIdNotSet,
56  ifd0Id,
57  ifd1Id,
58  ifd2Id,
59  ifd3Id,
60  exifId,
61  gpsId,
62  iopId,
63  mpfId,
64  subImage1Id,
65  subImage2Id,
66  subImage3Id,
67  subImage4Id,
68  subImage5Id,
69  subImage6Id,
70  subImage7Id,
71  subImage8Id,
72  subImage9Id,
73  subThumb1Id,
74  panaRawId,
75  mnId,
76  canonId,
77  canonCsId,
78  canonSiId,
79  canonCfId,
80  canonPiId,
81  canonPaId,
82  canonTiId,
83  canonFiId,
84  canonPrId,
85  casioId,
86  casio2Id,
87  fujiId,
88  minoltaId,
89  minoltaCs5DId,
90  minoltaCs7DId,
91  minoltaCsOldId,
92  minoltaCsNewId,
93  nikon1Id,
94  nikon2Id,
95  nikon3Id,
96  nikonPvId,
97  nikonVrId,
98  nikonPcId,
99  nikonWtId,
100  nikonIiId,
101  nikonAfId,
102  nikonAf21Id,
103  nikonAf22Id,
104  nikonAFTId,
105  nikonFiId,
106  nikonMeId,
107  nikonFl1Id,
108  nikonFl2Id,
109  nikonFl3Id,
110  nikonSi1Id,
111  nikonSi2Id,
112  nikonSi3Id,
113  nikonSi4Id,
114  nikonSi5Id,
115  nikonSi6Id,
116  nikonLd1Id,
117  nikonLd2Id,
118  nikonLd3Id,
119  nikonCb1Id,
120  nikonCb2Id,
121  nikonCb2aId,
122  nikonCb2bId,
123  nikonCb3Id,
124  nikonCb4Id,
125  olympusId,
126  olympus2Id,
127  olympusCsId,
128  olympusEqId,
129  olympusRdId,
130  olympusRd2Id,
131  olympusIpId,
132  olympusFiId,
133  olympusFe1Id,
134  olympusFe2Id,
135  olympusFe3Id,
136  olympusFe4Id,
137  olympusFe5Id,
138  olympusFe6Id,
139  olympusFe7Id,
140  olympusFe8Id,
141  olympusFe9Id,
142  olympusRiId,
143  panasonicId,
144  pentaxId,
145  pentaxDngId,
146  samsung2Id,
147  samsungPvId,
148  samsungPwId,
149  sigmaId,
150  sony1Id,
151  sony2Id,
152  sonyMltId,
153  sony1CsId,
154  sony1Cs2Id,
155  sony2CsId,
156  sony2Cs2Id,
157  sony2FpId,
158  sony2010eId,
159  sony1MltCs7DId,
160  sony1MltCsOldId,
161  sony1MltCsNewId,
162  sony1MltCsA100Id,
163  lastId,
164  ignoreId = lastId
165  };
166 
171  enum SectionId { sectionIdNotSet,
172  imgStruct, recOffset, imgCharacter, otherTags, exifFormat,
173  exifVersion, imgConfig, userInfo, relatedFile, dateTime,
174  captureCond, gpsTags, iopTags, mpfTags, makerTags, dngTags, panaRaw,
175  tiffEp, tiffPm6, adobeOpi,
176  lastSectionId };
177 
179  struct SectionInfo {
181  const char* name_;
182  const char* desc_;
183  };
184 
189  struct TagDetails {
190  int64_t val_;
191  const char* label_;
192 
194  bool operator==(long key) const { return val_ == key; }
195  }; // struct TagDetails
196 
202  uint32_t mask_;
203  const char* label_;
204  }; // struct TagDetailsBitmask
205 
210  struct TagVocabulary {
211  const char* voc_;
212  const char* label_;
213 
221  bool operator==(const std::string& key) const;
222  }; // struct TagDetails
223 
228  template <int N, const TagDetails (&array)[N]>
229  std::ostream& printTag(std::ostream& os, const Value& value, const ExifData*)
230  {
231  const TagDetails* td = find(array, value.toLong());
232  if (td) {
233  os << exvGettext(td->label_);
234  }
235  else {
236  os << "(" << value << ")";
237  }
238  return os;
239  }
240 
242 #define EXV_PRINT_TAG(array) printTag<EXV_COUNTOF(array), array>
243 
248  template <int N, const TagDetailsBitmask (&array)[N]>
249  std::ostream& printTagBitmask(std::ostream& os, const Value& value, const ExifData*)
250  {
251  const uint32_t val = static_cast<uint32_t>(value.toLong());
252  if (val == 0 && N > 0) {
253  const TagDetailsBitmask* td = *(&array);
254  if (td->mask_ == 0) return os << exvGettext(td->label_);
255  }
256  bool sep = false;
257  for (int i = 0; i < N; ++i) {
258  // *& acrobatics is a workaround for a MSVC 7.1 bug
259  const TagDetailsBitmask* td = *(&array) + i;
260 
261  if (val & td->mask_) {
262  if (sep) {
263  os << ", " << exvGettext(td->label_);
264  }
265  else {
266  os << exvGettext(td->label_);
267  sep = true;
268  }
269  }
270  }
271  return os;
272  }
273 
275 #define EXV_PRINT_TAG_BITMASK(array) printTagBitmask<EXV_COUNTOF(array), array>
276 
281  template <int N, const TagVocabulary (&array)[N]>
282  std::ostream& printTagVocabulary(std::ostream& os, const Value& value, const ExifData*)
283  {
284  const TagVocabulary* td = find(array, value.toString());
285  if (td) {
286  os << exvGettext(td->label_);
287  }
288  else {
289  os << "(" << value << ")";
290  }
291  return os;
292  }
293 
295 #define EXV_PRINT_VOCABULARY(array) printTagVocabulary<EXV_COUNTOF(array), array>
296 
297 // *****************************************************************************
298 // free functions
299 
301  const TagInfo* ifdTagList();
303  const TagInfo* exifTagList();
305  const TagInfo* iopTagList();
307  const TagInfo* gpsTagList();
309  const TagInfo* mnTagList();
311  const TagInfo* mpfTagList();
312 
313  const GroupInfo* groupList();
314  const TagInfo* tagList(const std::string& groupName);
315 
319  const char* ifdName(IfdId ifdId);
321  const char* groupName(IfdId ifdId);
322 
324  bool isMakerIfd(IfdId ifdId);
326  bool isExifIfd(IfdId ifdId);
327 
329  void taglist(std::ostream& os, IfdId ifdId);
331  const TagInfo* tagList(IfdId ifdId);
333  const TagInfo* tagInfo(uint16_t tag, IfdId ifdId);
335  const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId);
343  uint16_t tagNumber(const std::string& tagName, IfdId ifdId);
344 
346 
347  std::ostream& printValue(std::ostream& os, const Value& value, const ExifData*);
350  std::ostream& printLong(std::ostream& os, const Value& value, const ExifData*);
352  std::ostream& printFloat(std::ostream& os, const Value& value, const ExifData*);
354  std::ostream& printDegrees(std::ostream& os, const Value& value, const ExifData*);
356  std::ostream& printUcs2(std::ostream& os, const Value& value, const ExifData*);
358  std::ostream& printExifUnit(std::ostream& os, const Value& value, const ExifData*);
360  std::ostream& print0x0000(std::ostream& os, const Value& value, const ExifData*);
362  std::ostream& print0x0005(std::ostream& os, const Value& value, const ExifData*);
364  std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*);
366  std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*);
368  std::ostream& print0x0009(std::ostream& os, const Value& value, const ExifData*);
370  std::ostream& print0x000a(std::ostream& os, const Value& value, const ExifData*);
372  std::ostream& print0x000c(std::ostream& os, const Value& value, const ExifData*);
374  std::ostream& print0x0019(std::ostream& os, const Value& value, const ExifData*);
376  std::ostream& print0x001e(std::ostream& os, const Value& value, const ExifData*);
378  std::ostream& print0x0112(std::ostream& os, const Value& value, const ExifData*);
380  std::ostream& print0x0213(std::ostream& os, const Value& value, const ExifData*);
382  std::ostream& print0x8298(std::ostream& os, const Value& value, const ExifData*);
384  std::ostream& print0x829a(std::ostream& os, const Value& value, const ExifData*);
386  std::ostream& print0x829d(std::ostream& os, const Value& value, const ExifData*);
388  std::ostream& print0x8822(std::ostream& os, const Value& value, const ExifData*);
390  std::ostream& print0x8827(std::ostream& os, const Value& value, const ExifData*);
392  std::ostream& print0x9101(std::ostream& os, const Value& value, const ExifData*);
394  std::ostream& print0x9201(std::ostream& os, const Value& value, const ExifData*);
396  std::ostream& print0x9202(std::ostream& os, const Value& value, const ExifData*);
398  std::ostream& print0x9204(std::ostream& os, const Value& value, const ExifData*);
400  std::ostream& print0x9206(std::ostream& os, const Value& value, const ExifData*);
402  std::ostream& print0x9207(std::ostream& os, const Value& value, const ExifData*);
404  std::ostream& print0x9208(std::ostream& os, const Value& value, const ExifData*);
406  std::ostream& print0x920a(std::ostream& os, const Value& value, const ExifData*);
408  std::ostream& print0xa001(std::ostream& os, const Value& value, const ExifData*);
410  std::ostream& print0xa217(std::ostream& os, const Value& value, const ExifData*);
412  std::ostream& print0xa300(std::ostream& os, const Value& value, const ExifData*);
414  std::ostream& print0xa301(std::ostream& os, const Value& value, const ExifData*);
416  std::ostream& print0xa401(std::ostream& os, const Value& value, const ExifData*);
418  std::ostream& print0xa402(std::ostream& os, const Value& value, const ExifData*);
420  std::ostream& print0xa403(std::ostream& os, const Value& value, const ExifData*);
422  std::ostream& print0xa404(std::ostream& os, const Value& value, const ExifData*);
424  std::ostream& print0xa405(std::ostream& os, const Value& value, const ExifData*);
426  std::ostream& print0xa406(std::ostream& os, const Value& value, const ExifData*);
428  std::ostream& print0xa407(std::ostream& os, const Value& value, const ExifData*);
430  std::ostream& print0xa409(std::ostream& os, const Value& value, const ExifData*);
432  std::ostream& print0xa40c(std::ostream& os, const Value& value, const ExifData*);
434  std::ostream& printGPSDirRef(std::ostream& os, const Value& value, const ExifData*);
436  std::ostream& printNormalSoftHard(std::ostream& os, const Value& value, const ExifData*);
438  std::ostream& printExifVersion(std::ostream& os, const Value& value, const ExifData*);
440  std::ostream& printXmpVersion(std::ostream& os, const Value& value, const ExifData*);
442  std::ostream& printXmpDate(std::ostream& os, const Value& value, const ExifData*);
444  std::ostream& printBitmask(std::ostream& os, const Value& value, const ExifData*);
446 
448  float fnumber(float apertureValue);
449 
451  URational exposureTime(float shutterSpeedValue);
452 
453 }} // namespace Internal, Exiv2
454 
455 #endif // #ifndef TAGS_INT_HPP_
Exiv2::Internal::OlympusMakerNote::tagListRd2
static const TagInfo * tagListRd2()
Return read-only list of built-in Olympus Raw Development 2 tags.
Definition: olympusmn_int.cpp:918
Exiv2::Internal::Nikon3MakerNote::tagListCb2a
static const TagInfo * tagListCb2a()
Return read-only list of built-in Color Balance 2a tags.
Definition: nikonmn_int.cpp:1355
Exiv2::Internal::exifColorSpace
const TagDetails exifColorSpace[]
ColorSpace, tag 0xa001.
pentaxmn_int.hpp
Pentax MakerNote implemented according to the specification http://www.gvsoft.homedns....
Exiv2::Internal::print0x0007
std::ostream & print0x0007(std::ostream &os, const Value &value, const ExifData *)
Print GPS timestamp.
Definition: tags_int.cpp:2326
Exiv2::Internal::SectionInfo::name_
const char * name_
Section name (one word)
Definition: tags_int.hpp:181
Exiv2::Internal::TagDetails
Helper structure for lookup tables for translations of numeric tag values to human readable labels.
Definition: tags_int.hpp:189
Exiv2::Internal::print0x8827
std::ostream & print0x8827(std::ostream &os, const Value &value, const ExifData *)
Print ISO speed ratings.
Definition: tags_int.cpp:2481
Exiv2::Internal::exifInkSet
const TagDetails exifInkSet[]
InkSet, tag 0x014c.
Exiv2::Internal::CanonMakerNote::tagListCf
static const TagInfo * tagListCf()
Return read-only list of built-in Canon Custom Function tags.
Definition: canonmn_int.cpp:1592
Exiv2::Internal::exifSubfileType
const TagDetails exifSubfileType[]
SubfileType, TIFF tag 0x00ff.
Exiv2::Internal::print0x0009
std::ostream & print0x0009(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS status.
Definition: tags_int.cpp:2362
Exiv2::Internal::OlympusMakerNote::tagListFe
static const TagInfo * tagListFe()
Return read-only list of built-in Olympus FE tags.
Definition: olympusmn_int.cpp:1045
Exiv2::Internal::PentaxMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Pentaxfilm tags.
Definition: pentaxmn_int.cpp:1697
Exiv2::Internal::printXmpVersion
std::ostream & printXmpVersion(std::ostream &os, const Value &value, const ExifData *)
Print any version encoded in the ASCII string majormajorminorminor.
Definition: tags_int.cpp:2851
olympusmn_int.hpp
Olympus makernote tags. References: [1] Exif file format, Appendix 1: MakerNote of Olympus Digicams ...
Exiv2::DataBuf::pData_
byte * pData_
Pointer to the buffer, 0 if none has been allocated.
Definition: types.hpp:269
nikonmn_int.hpp
Nikon makernote tags. References: [1] MakerNote EXIF Tag of the Nikon 990 by Max Lyons [2] Exif fil...
Exiv2::Internal::exifSceneType
const TagDetails exifSceneType[]
SceneType, tag 0xa301.
Exiv2::tiffFloat
@ tiffFloat
TIFF FLOAT type, single precision (4-byte) IEEE format.
Definition: types.hpp:141
Exiv2::Internal::print0x9208
std::ostream & print0x9208(std::ostream &os, const Value &value, const ExifData *metadata)
Print light source.
Definition: tags_int.cpp:2621
Exiv2::Internal::taglist
void taglist(std::ostream &os, IfdId ifdId)
Print the list of tags for ifdId to the output stream os.
Definition: tags_int.cpp:2101
Exiv2::Internal::print0x829a
std::ostream & print0x829a(std::ostream &os, const Value &value, const ExifData *)
Print the exposure time.
Definition: tags_int.cpp:2422
Exiv2::Internal::SonyMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Sony tags.
Definition: sonymn_int.cpp:496
Exiv2::Internal::exifSampleFormat
const TagDetails exifSampleFormat[]
SampleFormat, tag 0x0153.
Exiv2::GroupInfo::tagList_
TagListFct tagList_
Tag list.
Definition: tags.hpp:72
Exiv2::Internal::printBitmask
std::ostream & printBitmask(std::ostream &os, const Value &value, const ExifData *metadata)
Print a bitmask as (none) | n | n,m... where: (none) = no bits set | n = bit n from left (0=left-most...
Definition: tags_int.cpp:2170
Exiv2::Internal::Nikon3MakerNote::tagListSi1
static const TagInfo * tagListSi1()
Return read-only list of built-in Shot Info D80 tags.
Definition: nikonmn_int.cpp:1147
Exiv2::Value::toRational
virtual Rational toRational(long n=0) const =0
Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined ...
Exiv2::Value::size
virtual long size() const =0
Return the size of the value in bytes.
Exiv2::Value
Common interface for all types of values used with metadata.
Definition: value.hpp:60
Exiv2::Internal::exifPhotometricInterpretation
const TagDetails exifPhotometricInterpretation[]
PhotometricInterpretation, tag 0x0106.
Exiv2::Internal::CanonMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Canon tags.
Definition: canonmn_int.cpp:508
Safe::abs
Internal::enable_if< Internal::is_signed< T >::VALUE, T >::type abs(T num)
Calculates the absolute value of a number without producing negative values.
Definition: safe_op.hpp:327
Exiv2::GroupInfo::ifdId_
int ifdId_
IFD id.
Definition: tags.hpp:69
Exiv2::Internal::exposureTime
URational exposureTime(float shutterSpeedValue)
Calculate the exposure time from an APEX shutter speed value.
Definition: tags_int.cpp:2201
Exiv2::Internal::Nikon3MakerNote::tagListFl1
static const TagInfo * tagListFl1()
Return read-only list of built-in Flash Info 1 tags.
Definition: nikonmn_int.cpp:1094
Exiv2::Internal::exifUnit
const TagDetails exifUnit[]
Units for measuring X and Y resolution, tags 0x0128, 0xa210.
Exiv2::Internal::exifExposureProgram
const TagDetails exifExposureProgram[]
ExposureProgram, tag 0x8822.
Exiv2::Internal::Casio2MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Casio2 tags.
Definition: casiomn_int.cpp:538
Exiv2::Internal::print0xa40c
std::ostream & print0xa40c(std::ostream &os, const Value &value, const ExifData *metadata)
Print subject distance range.
Definition: tags_int.cpp:2808
Exiv2::GroupInfo::ifdName_
const char * ifdName_
IFD name.
Definition: tags.hpp:70
Exiv2::Internal::IfdId
IfdId
Type to specify the IFD to which a metadata belongs.
Definition: tags_int.hpp:54
Exiv2::Internal::exifGPSDirRef
const TagDetails exifGPSDirRef[]
GPS direction ref, tags 0x000e, 0x0010, 0x0017.
types.hpp
Type definitions for Exiv2 and related functionality.
sigmamn_int.hpp
Sigma and Foveon MakerNote implemented according to the specification SIGMA and FOVEON EXIF MakerNote...
Exiv2::Internal::MinoltaMakerNote::tagListCsStd
static const TagInfo * tagListCsStd()
Return read-only list of built-in Minolta Standard Camera Settings tags.
Definition: minoltamn_int.cpp:646
Exiv2::undefined
@ undefined
Exif UNDEFINED type, an 8-bit byte that may contain anything.
Definition: types.hpp:137
Exiv2::Value::typeId
TypeId typeId() const
Return the type identifier (Exif data format type).
Definition: value.hpp:113
Exiv2::GroupInfo
The details of an Exif group. Groups include IFDs and binary arrays.
Definition: tags.hpp:65
Exiv2::Internal::Nikon3MakerNote::tagListAf22
static const TagInfo * tagListAf22()
Return read-only list of built-in Auto Focus 2 tags.
Definition: nikonmn_int.cpp:935
Exiv2::Internal::printNormalSoftHard
std::ostream & printNormalSoftHard(std::ostream &os, const Value &value, const ExifData *metadata)
Print contrast, sharpness (normal, soft, hard)
Definition: tags_int.cpp:2831
Exiv2::Internal::Samsung2MakerNote::tagListPw
static const TagInfo * tagListPw()
Return read-only list of built-in PictureWizard tags.
Definition: samsungmn_int.cpp:200
minoltamn_int.hpp
Minolta MakerNote implemented using the following references: Minolta Makernote Format Specification...
Exiv2::Internal::printLong
std::ostream & printLong(std::ostream &os, const Value &value, const ExifData *)
Print the value converted to a long.
Definition: tags_int.cpp:2225
Exiv2::Internal::exifGPSStatus
const TagDetails exifGPSStatus[]
GPS status, tag 0x0009.
Exiv2::Internal::exifGPSDestDistanceRef
const TagDetails exifGPSDestDistanceRef[]
GPS Destination distance ref, tag 0x0019.
Exiv2::Internal::exifSensingMethod
const TagDetails exifSensingMethod[]
SensingMethod, tag 0xa217.
Exiv2::Internal::Nikon3MakerNote::tagListCb1
static const TagInfo * tagListCb1()
Return read-only list of built-in Color Balance 1 tags.
Definition: nikonmn_int.cpp:1329
Exiv2::Internal::MinoltaMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Minolta tags.
Definition: minoltamn_int.cpp:192
Exiv2::signedShort
@ signedShort
Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer.
Definition: types.hpp:138
Exiv2::comment
@ comment
Exiv2 type for the Exif user comment.
Definition: types.hpp:150
Exiv2::Internal::tagList
const TagInfo * tagList(IfdId ifdId)
Return the tag list for ifdId.
Definition: tags_int.cpp:2111
Exiv2::exvGettext
EXIV2API const char * exvGettext(const char *str)
Translate a string using the gettext framework. This wrapper hides all the implementation details fro...
Definition: types.cpp:576
Exiv2::Internal::PanasonicMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Panasonic tags.
Definition: panasonicmn_int.cpp:541
Exiv2::asciiString
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:132
Exiv2::Internal::MinoltaMakerNote::tagListCs7D
static const TagInfo * tagListCs7D()
Return read-only list of built-in Minolta 7D Camera Settings tags.
Definition: minoltamn_int.cpp:826
Exiv2::Internal::print0x9202
std::ostream & print0x9202(std::ostream &os, const Value &value, const ExifData *)
Print f-number converted from APEX aperture value.
Definition: tags_int.cpp:2517
Exiv2::GroupInfo::groupName_
const char * groupName_
Group name, unique for each group.
Definition: tags.hpp:71
Exiv2::Internal::exifSceneCaptureType
const TagDetails exifSceneCaptureType[]
SceneCaptureType, tag 0xa406.
Exiv2::Internal::OlympusMakerNote::tagListEq
static const TagInfo * tagListEq()
Return read-only list of built-in Olympus Equipment tags.
Definition: olympusmn_int.cpp:780
Exiv2::Internal::mnTagList
const TagInfo * mnTagList()
Return read-only list of built-in Exiv2 Makernote info tags.
Definition: tags_int.cpp:2056
Exiv2::Internal::TagVocabulary
Helper structure for lookup tables for translations of controlled vocabulary strings to their descrip...
Definition: tags_int.hpp:210
Exiv2::Internal::print0x8822
std::ostream & print0x8822(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure program.
Definition: tags_int.cpp:2476
Exiv2::Internal::Nikon3MakerNote::tagListSi4
static const TagInfo * tagListSi4()
Return read-only list of built-in Shot Info D300 (b) tags.
Definition: nikonmn_int.cpp:1281
Exiv2::isHex
EXIV2API bool isHex(const std::string &str, size_t size=0, const std::string &prefix="")
Return true if str is a hex number starting with prefix followed by size hex digits,...
Definition: types.cpp:543
Exiv2::Internal::iopTagList
const TagInfo * iopTagList()
Return read-only list of built-in IOP tags.
Definition: tags_int.cpp:2037
Exiv2::Value::count
virtual long count() const =0
Return the number of components of the value.
Exiv2::Internal::printFloat
std::ostream & printFloat(std::ostream &os, const Value &value, const ExifData *)
Print a Rational or URational value in floating point format.
Definition: tags_int.cpp:2232
Exiv2::Internal::Samsung2MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Samsung tags.
Definition: samsungmn_int.cpp:145
Exiv2::Internal::TagDetails::val_
int64_t val_
Tag value.
Definition: tags_int.hpp:190
Exiv2::Internal::printDegrees
std::ostream & printDegrees(std::ostream &os, const Value &value, const ExifData *)
Print a longitude or latitude value.
Definition: tags_int.cpp:2243
Exiv2::Internal::print0x0019
std::ostream & print0x0019(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS destination distance ref.
Definition: tags_int.cpp:2377
Exiv2::unsignedLong
@ unsignedLong
Exif LONG type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:134
Exiv2::tiffDouble
@ tiffDouble
TIFF DOUBLE type, double precision (8-byte) IEEE format.
Definition: types.hpp:142
Exiv2::Internal::exifPredictor
const TagDetails exifPredictor[]
Predictor, tag 0x013d.
Exiv2::Internal::print0xa404
std::ostream & print0xa404(std::ostream &os, const Value &value, const ExifData *)
Print digital zoom ratio.
Definition: tags_int.cpp:2729
samsungmn_int.hpp
Samsung makernote tags. References: [1] ExifTool by Phil Harvey.
Exiv2::Internal::exifLightSource
const TagDetails exifLightSource[]
LightSource, tag 0x9208.
Exiv2::Internal::printTag
std::ostream & printTag(std::ostream &os, const Value &value, const ExifData *)
Generic pretty-print function to translate a long value to a description by looking up a reference ta...
Definition: tags_int.hpp:229
Exiv2::Internal::printXmpDate
std::ostream & printXmpDate(std::ostream &os, const Value &value, const ExifData *)
Print a date following the format YYYY-MM-DDTHH:MM:SSZ.
Definition: tags_int.cpp:2860
Exiv2::Internal::OlympusMakerNote::tagListCs
static const TagInfo * tagListCs()
Return read-only list of built-in Olympus Camera Settings tags.
Definition: olympusmn_int.cpp:723
Exiv2::Internal::exifMeteringMode
const TagDetails exifMeteringMode[]
MeteringMode, tag 0x9207.
Exiv2::Internal::Nikon3MakerNote::tagListAFT
static const TagInfo * tagListAFT()
Return read-only list of built-in AF Fine Tune tags.
Definition: nikonmn_int.cpp:763
Exiv2::Internal::Nikon1MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Nikon1 tags.
Definition: nikonmn_int.cpp:264
Exiv2::Internal::exifYCbCrPositioning
const TagDetails exifYCbCrPositioning[]
YCbCrPositioning, tag 0x0213.
Exiv2::Internal::groupName
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition: tags_int.cpp:2158
canonmn_int.hpp
Canon makernote tags. References: [1] EXIF MakerNote of Canon by David Burren [2] Canon makernote t...
Exiv2::Internal::TagDetails::operator==
bool operator==(long key) const
Comparison operator for use with the find template.
Definition: tags_int.hpp:194
Exiv2::Internal::SectionId
SectionId
Section identifiers to logically group tags. A section consists of nothing more than a name,...
Definition: tags_int.hpp:171
Exiv2::Internal::TagDetailsBitmask
Helper structure for lookup tables for translations of bitmask values to human readable labels.
Definition: tags_int.hpp:201
Exiv2::Internal::print0x001e
std::ostream & print0x001e(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS differential correction.
Definition: tags_int.cpp:2382
Exiv2::Value::toFloat
virtual float toFloat(long n=0) const =0
Convert the n-th component of the value to a float. The behaviour of this method may be undefined if ...
Exiv2::Internal::print0x0006
std::ostream & print0x0006(std::ostream &os, const Value &value, const ExifData *)
Print GPS altitude.
Definition: tags_int.cpp:2311
Exiv2::Internal::Nikon2MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Nikon2 tags.
Definition: nikonmn_int.cpp:526
Exiv2::unsignedRational
@ unsignedRational
Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction.
Definition: types.hpp:135
Exiv2::Internal::TagVocabulary::operator==
bool operator==(const std::string &key) const
Comparison operator for use with the find template.
Definition: tags.cpp:97
EXV_PRINT_TAG
#define EXV_PRINT_TAG(array)
Shortcut for the printTag template which requires typing the array name only once.
Definition: tags_int.hpp:242
Exiv2::convertStringCharset
EXIV2API bool convertStringCharset(std::string &str, const char *from, const char *to)
Convert character encoding of str from from to to. If the function succeeds, str contains the result ...
Definition: convert.cpp:1348
Exiv2::Internal::SigmaMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Sigma tags.
Definition: sigmamn_int.cpp:125
Exiv2::Internal::printGPSDirRef
std::ostream & printGPSDirRef(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS direction ref.
Definition: tags_int.cpp:2819
Exiv2::Internal::print0xa402
std::ostream & print0xa402(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure mode.
Definition: tags_int.cpp:2713
Exiv2::Internal::print0xa407
std::ostream & print0xa407(std::ostream &os, const Value &value, const ExifData *metadata)
Print gain control.
Definition: tags_int.cpp:2782
Exiv2::Internal::exifGPSLongitudeRef
const TagDetails exifGPSLongitudeRef[]
GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015.
Exiv2::Internal::Nikon3MakerNote::tagListMe
static const TagInfo * tagListMe()
Return read-only list of built-in Multi Exposure tags.
Definition: nikonmn_int.cpp:972
Exiv2::Internal::Nikon3MakerNote::tagListCb4
static const TagInfo * tagListCb4()
Return read-only list of built-in Color Balance 4 tags.
Definition: nikonmn_int.cpp:1394
Exiv2::Internal::SonyMakerNote::tagListCs2
static const TagInfo * tagListCs2()
Return read-only list of built-in Sony Standard Camera Settings version 2 tags.
Definition: sonymn_int.cpp:794
Exiv2::Internal::Nikon3MakerNote::tagListFi
static const TagInfo * tagListFi()
Return read-only list of built-in File Info tags.
Definition: nikonmn_int.cpp:950
Exiv2::Internal::print0x0112
std::ostream & print0x0112(std::ostream &os, const Value &value, const ExifData *metadata)
Print orientation.
Definition: tags_int.cpp:2387
Exiv2::Internal::OlympusMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Olympus tags.
Definition: olympusmn_int.cpp:469
Exiv2::Internal::print0x0000
std::ostream & print0x0000(std::ostream &os, const Value &value, const ExifData *)
Print GPS version.
Definition: tags_int.cpp:2291
Exiv2::Internal::MinoltaMakerNote::tagListCsA100
static const TagInfo * tagListCsA100()
Return read-only list of built-in Sony A100 Camera Settings tags.
Definition: minoltamn_int.cpp:1596
Exiv2::Internal::CanonMakerNote::tagListPr
static const TagInfo * tagListPr()
Return read-only list of built-in Canon Processing Info tags.
Definition: canonmn_int.cpp:1791
Exiv2::Internal::OlympusMakerNote::tagListRd
static const TagInfo * tagListRd()
Return read-only list of built-in Olympus Raw Development tags.
Definition: olympusmn_int.cpp:839
Exiv2::Internal::Nikon3MakerNote::tagListFl2
static const TagInfo * tagListFl2()
Return read-only list of built-in Flash Info 2 tags.
Definition: nikonmn_int.cpp:1114
Exiv2::DataBuf
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:204
Exiv2::unsignedByte
@ unsignedByte
Exif BYTE type, 8-bit unsigned integer.
Definition: types.hpp:131
Exiv2::Internal::SectionInfo
The details of a section.
Definition: tags_int.hpp:179
Exiv2::Internal::printValue
std::ostream & printValue(std::ostream &os, const Value &value, const ExifData *)
Default print function, using the Value output operator.
Definition: tags_int.cpp:2165
Exiv2::Internal::FujiMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Fujifilm tags.
Definition: fujimn_int.cpp:339
Exiv2::Value::toString
std::string toString() const
Return the value as a string. Implemented in terms of write(std::ostream& os) const of the concrete c...
Definition: value.cpp:175
Exiv2::Internal::print0x9206
std::ostream & print0x9206(std::ostream &os, const Value &value, const ExifData *)
Print the subject distance.
Definition: tags_int.cpp:2553
Exiv2::Internal::print0x000c
std::ostream & print0x000c(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS speed ref.
Definition: tags_int.cpp:2372
Exiv2::Internal::CanonMakerNote::tagListTi
static const TagInfo * tagListTi()
Return read-only list of built-in Canon Time Info tags.
Definition: canonmn_int.cpp:1846
Exiv2::Internal::printTagVocabulary
std::ostream & printTagVocabulary(std::ostream &os, const Value &value, const ExifData *)
Generic pretty-print function to translate a controlled vocabulary value (string) to a description by...
Definition: tags_int.hpp:282
Exiv2::DataBuf::size_
long size_
The current size of the buffer.
Definition: types.hpp:271
Exiv2::Internal::TagDetails::label_
const char * label_
Translation of the tag value.
Definition: tags_int.hpp:191
Exiv2::Internal::Nikon3MakerNote::tagListCb3
static const TagInfo * tagListCb3()
Return read-only list of built-in Color Balance 3 tags.
Definition: nikonmn_int.cpp:1381
Exiv2::find
const T * find(T(&src)[N], const K &key)
Find an element that matches key in the array src.
Definition: types.hpp:508
Exiv2::Internal::exifSaturation
const TagDetails exifSaturation[]
Saturation, tag 0xa409.
Exiv2::Internal::print0x000a
std::ostream & print0x000a(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS measurement mode.
Definition: tags_int.cpp:2367
Exiv2::Internal::ifdName
const char * ifdName(IfdId ifdId)
Return the name of the IFD.
Definition: tags_int.cpp:2151
Exiv2::Internal::CanonMakerNote::tagListSi
static const TagInfo * tagListSi()
Return read-only list of built-in Canon Shot Info tags.
Definition: canonmn_int.cpp:1544
Exiv2::Internal::print0x9204
std::ostream & print0x9204(std::ostream &os, const Value &value, const ExifData *)
Print the exposure bias value.
Definition: tags_int.cpp:2532
Exiv2::Value::toLong
virtual long toLong(long n=0) const =0
Convert the n-th component of the value to a long. The behaviour of this method may be undefined if t...
Exiv2::Internal::Nikon3MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Nikon3 tags.
Definition: nikonmn_int.cpp:654
Exiv2::unsignedShort
@ unsignedShort
Exif SHORT type, 16-bit (2-byte) unsigned integer.
Definition: types.hpp:133
Exiv2::Internal::OlympusMakerNote::tagListIp
static const TagInfo * tagListIp()
Return read-only list of built-in Olympus Image Processing tags.
Definition: olympusmn_int.cpp:999
Exiv2::Value::copy
virtual long copy(byte *buf, ByteOrder byteOrder) const =0
Write value to a data buffer.
Exiv2::Internal::isMakerIfd
bool isMakerIfd(IfdId ifdId)
Return true if ifdId is a makernote IFD id. (Note: returns false for makerIfd)
Definition: tags_int.cpp:2063
Exiv2::Internal::Nikon3MakerNote::tagListCb2b
static const TagInfo * tagListCb2b()
Return read-only list of built-in Color Balance 2b tags.
Definition: nikonmn_int.cpp:1368
Exiv2::Internal::tagNumber
uint16_t tagNumber(const std::string &tagName, IfdId ifdId)
Return the tag number for one combination of IFD id and tagName. If the tagName is not known,...
Definition: tags_int.cpp:2214
Exiv2
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
Exiv2::Internal::mpfTagList
const TagInfo * mpfTagList()
Return read-only list of built-in mfp Tags http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/MPF....
Definition: tags_int.cpp:2004
Exiv2::Internal::TagVocabulary::voc_
const char * voc_
Vocabulary string.
Definition: tags_int.hpp:211
Exiv2::Rational
std::pair< int32_t, int32_t > Rational
8 byte signed rational type.
Definition: types.hpp:110
Exiv2::Internal::TagDetailsBitmask::mask_
uint32_t mask_
Bitmask value.
Definition: tags_int.hpp:202
Exiv2::Internal::Nikon3MakerNote::tagListAf
static const TagInfo * tagListAf()
Return read-only list of built-in Auto Focus tags.
Definition: nikonmn_int.cpp:875
value.hpp
Value interface and concrete subclasses.
convert.hpp
Exif and IPTC conversions to and from XMP.
Exiv2::Internal::Nikon3MakerNote::tagListSi5
static const TagInfo * tagListSi5()
Return read-only list of built-in Shot Info tags.
Definition: nikonmn_int.cpp:1316
Exiv2::Internal::exifWhiteBalance
const TagDetails exifWhiteBalance[]
WhiteBalance, tag 0xa403.
Exiv2::Internal::exifGPSMeasureMode
const TagDetails exifGPSMeasureMode[]
GPS measurement mode, tag 0x000a.
Exiv2::Internal::Nikon3MakerNote::tagListFl3
static const TagInfo * tagListFl3()
Return read-only list of built-in Flash Info 3 tags.
Definition: nikonmn_int.cpp:1134
Exiv2::signedRational
@ signedRational
Exif SRATIONAL type, two SLONGs: numerator and denumerator of a fraction.
Definition: types.hpp:140
Exiv2::Internal::Nikon3MakerNote::tagListSi2
static const TagInfo * tagListSi2()
Return read-only list of built-in Shot Info D40 tags.
Definition: nikonmn_int.cpp:1161
Exiv2::Internal::exifIndexed
const TagDetails exifIndexed[]
Indexed, tag 0x015a.
Exiv2::TagInfo
Tag information.
Definition: tags.hpp:82
Exiv2::Internal::Nikon3MakerNote::tagListPc
static const TagInfo * tagListPc()
Return read-only list of built-in Picture Control tags.
Definition: nikonmn_int.cpp:742
Exiv2::Internal::exifNormalSoftHard
const TagDetails exifNormalSoftHard[]
Contrast, tag 0xa408 and Sharpness, tag 0xa40a.
Exiv2::Internal::exifTagList
const TagInfo * exifTagList()
Return read-only list of built-in Exif IFD tags.
Definition: tags_int.cpp:1761
Exiv2::Internal::exifCustomRendered
const TagDetails exifCustomRendered[]
CustomRendered, tag 0xa401.
Exiv2::Internal::groupInfo
const GroupInfo groupInfo[]
List of all known Exif groups. Important: Group name (3rd column) must be unique!
Exiv2::Internal::Nikon3MakerNote::tagListVr
static const TagInfo * tagListVr()
Return read-only list of built-in Vibration Reduction tags.
Definition: nikonmn_int.cpp:686
Exiv2::Internal::print0x9201
std::ostream & print0x9201(std::ostream &os, const Value &value, const ExifData *)
Print exposure time converted from APEX shutter speed value.
Definition: tags_int.cpp:2504
Exiv2::Internal::exifCompression
const TagDetails exifCompression[]
Compression, tag 0x0103.
Exiv2::Internal::exifGPSLatitudeRef
const TagDetails exifGPSLatitudeRef[]
GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013.
Exiv2::Internal::gpsTagList
const TagInfo * gpsTagList()
Return read-only list of built-in GPS tags.
Definition: tags_int.cpp:1934
Exiv2::Internal::exifJpegLosslessPredictor
const TagDetails exifJpegLosslessPredictor[]
exifJpegLosslessPredictor, tag 0x0205
Exiv2::Internal::exifOrientation
const TagDetails exifOrientation[]
Orientation, tag 0x0112.
sonymn_int.hpp
Sony MakerNote implemented using the following references: Sony Makernote list by Phil Harvey Email...
Exiv2::Internal::print0xa406
std::ostream & print0xa406(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene capture type.
Definition: tags_int.cpp:2768
Exiv2::Internal::print0x9101
std::ostream & print0x9101(std::ostream &os, const Value &value, const ExifData *)
Print components configuration specific to compressed data.
Definition: tags_int.cpp:2486
Exiv2::Internal::CanonMakerNote::tagListFi
static const TagInfo * tagListFi()
Return read-only list of built-in Canon File Info tags.
Definition: canonmn_int.cpp:1725
Exiv2::Internal::SonyMakerNote::tagListCs
static const TagInfo * tagListCs()
Return read-only list of built-in Sony Standard Camera Settings tags.
Definition: sonymn_int.cpp:730
Exiv2::Internal::print0x8298
std::ostream & print0x8298(std::ostream &os, const Value &value, const ExifData *)
Print the copyright.
Definition: tags_int.cpp:2402
Exiv2::Internal::print0xa217
std::ostream & print0xa217(std::ostream &os, const Value &value, const ExifData *metadata)
Print sensing method.
Definition: tags_int.cpp:2668
Exiv2::Internal::PanasonicMakerNote::tagListRaw
static const TagInfo * tagListRaw()
Return read-only list of built-in Panasonic RAW image tags (IFD0)
Definition: panasonicmn_int.cpp:764
Exiv2::Internal::ifdTagList
const TagInfo * ifdTagList()
Return read-only list of built-in IFD0/1 tags.
Definition: tags_int.cpp:1429
Exiv2::Internal::print0xa401
std::ostream & print0xa401(std::ostream &os, const Value &value, const ExifData *metadata)
Print custom rendered.
Definition: tags_int.cpp:2701
Exiv2::Internal::print0xa409
std::ostream & print0xa409(std::ostream &os, const Value &value, const ExifData *metadata)
Print saturation.
Definition: tags_int.cpp:2794
Exiv2::Internal::exifGPSAltitudeRef
const TagDetails exifGPSAltitudeRef[]
GPS altitude reference, tag 0x0005.
Exiv2::Internal::print0x0213
std::ostream & print0x0213(std::ostream &os, const Value &value, const ExifData *metadata)
Print YCbCrPositioning.
Definition: tags_int.cpp:2397
Exiv2::Internal::printTagBitmask
std::ostream & printTagBitmask(std::ostream &os, const Value &value, const ExifData *)
Generic print function to translate a long value to a description by looking up bitmasks in a referen...
Definition: tags_int.hpp:249
Exiv2::Internal::exifGPSDifferential
const TagDetails exifGPSDifferential[]
GPS Differential, tag 0x001e.
Exiv2::Internal::print0x829d
std::ostream & print0x829d(std::ostream &os, const Value &value, const ExifData *)
Print the f-number.
Definition: tags_int.cpp:2445
Exiv2::gcd
IntType gcd(IntType n, IntType m)
Return the greatest common denominator of n and m. (Implementation from Boost rational....
Definition: types.hpp:570
Exiv2::Internal::MinoltaMakerNote::tagListCs5D
static const TagInfo * tagListCs5D()
Return read-only list of built-in Minolta 5D Camera Settings tags.
Definition: minoltamn_int.cpp:1091
Exiv2::Internal::tagInfo
const TagInfo * tagInfo(uint16_t tag, IfdId ifdId)
Return the tag info for tag and ifdId.
Definition: tags_int.cpp:2118
tags_int.hpp
Internal Exif tag and type information.
Exiv2::URational
std::pair< uint32_t, uint32_t > URational
8 byte unsigned rational type.
Definition: types.hpp:108
Exiv2::Internal::exifFileSource
const TagDetails exifFileSource[]
FileSource, tag 0xa300.
Exiv2::Internal::exifGainControl
const TagDetails exifGainControl[]
GainControl, tag 0xa407.
Exiv2::Internal::CanonMakerNote::tagListCs
static const TagInfo * tagListCs()
Return read-only list of built-in Canon Camera Settings tags.
Definition: canonmn_int.cpp:1427
Exiv2::Error
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:323
Exiv2::Internal::exifThresholding
const TagDetails exifThresholding[]
Thresholding, tag 0x0107.
Exiv2::Internal::CanonMakerNote::tagListPa
static const TagInfo * tagListPa()
Return read-only list of built-in Canon Panorama tags.
Definition: canonmn_int.cpp:1566
Exiv2::Internal::CanonMakerNote::tagListPi
static const TagInfo * tagListPi()
Return read-only list of built-in Canon Picture Info tags.
Definition: canonmn_int.cpp:1633
Exiv2::Internal::print0x0005
std::ostream & print0x0005(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS altitude ref.
Definition: tags_int.cpp:2306
Exiv2::Internal::exifExposureMode
const TagDetails exifExposureMode[]
ExposureMode, tag 0xa402.
Exiv2::xmpText
@ xmpText
XMP text type.
Definition: types.hpp:152
Exiv2::Internal::Nikon3MakerNote::tagListCb2
static const TagInfo * tagListCb2()
Return read-only list of built-in Color Balance 2 tags.
Definition: nikonmn_int.cpp:1342
panasonicmn_int.hpp
Panasonic MakerNote implemented using the following references: Panasonic MakerNote Information by To...
Exiv2::Internal::Nikon3MakerNote::tagListAf21
static const TagInfo * tagListAf21()
Return read-only list of built-in Auto Focus 2 tags.
Definition: nikonmn_int.cpp:911
tags.hpp
Exif tag and type information.
Exiv2::Internal::exifFlash
const TagDetails exifFlash[]
Flash, Exif tag 0x9209.
Exiv2::Internal::CasioMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Casio tags.
Definition: casiomn_int.cpp:208
Exiv2::TagInfo::tag_
uint16_t tag_
Tag.
Definition: tags.hpp:95
Exiv2::Internal::TagVocabulary::label_
const char * label_
Description of the vocabulary string.
Definition: tags_int.hpp:212
Exiv2::Internal::printExifUnit
std::ostream & printExifUnit(std::ostream &os, const Value &value, const ExifData *metadata)
Print function for Exif units.
Definition: tags_int.cpp:2286
Exiv2::string
@ string
IPTC string type.
Definition: types.hpp:147
Exiv2::Internal::print0xa300
std::ostream & print0xa300(std::ostream &os, const Value &value, const ExifData *metadata)
Print file source.
Definition: tags_int.cpp:2680
Exiv2::Internal::exifCfaLayout
const TagDetails exifCfaLayout[]
CFALayout, tag 0xc617.
Exiv2::Internal::print0x9207
std::ostream & print0x9207(std::ostream &os, const Value &value, const ExifData *metadata)
Print metering mode.
Definition: tags_int.cpp:2591
Exiv2::Internal::Nikon3MakerNote::tagListWt
static const TagInfo * tagListWt()
Return read-only list of built-in World time tags.
Definition: nikonmn_int.cpp:777
Exiv2::Internal::print0xa403
std::ostream & print0xa403(std::ostream &os, const Value &value, const ExifData *metadata)
Print white balance.
Definition: tags_int.cpp:2724
Exiv2::Internal::SectionInfo::desc_
const char * desc_
Section description.
Definition: tags_int.hpp:182
Exiv2::Internal::print0x920a
std::ostream & print0x920a(std::ostream &os, const Value &value, const ExifData *)
Print the actual focal length of the lens.
Definition: tags_int.cpp:2626
Exiv2::Internal::SonyMakerNote::tagListFp
static const TagInfo * tagListFp()
Return read-only list of built-in Sony FocusPosition tags.
Definition: sonymn_int.cpp:809
Exiv2::Internal::TagDetailsBitmask::label_
const char * label_
Description of the tag value.
Definition: tags_int.hpp:203
casiomn_int.hpp
Casio MakerNote implemented using the following references: Casio MakerNote Information by GVsoft,...
Exiv2::Value::ok
bool ok() const
Check the ok status indicator. After a to<Type> conversion, this indicator shows whether the conversi...
Definition: value.hpp:197
Exiv2::Internal::exifNewSubfileType
const TagDetails exifNewSubfileType[]
NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask.
Exiv2::Internal::print0xa001
std::ostream & print0xa001(std::ostream &os, const Value &value, const ExifData *metadata)
Print color space.
Definition: tags_int.cpp:2652
Exiv2::Internal::OlympusMakerNote::tagListRi
static const TagInfo * tagListRi()
Return read-only list of built-in Olympus Raw Info tags.
Definition: olympusmn_int.cpp:1107
fujimn_int.hpp
Fujifilm MakerNote implemented according to the specification in Appendix 4: Makernote of Fujifilm of...
Exiv2::Internal::exifGPSSpeedRef
const TagDetails exifGPSSpeedRef[]
GPS speed reference, tag 0x000c.
Exiv2::Internal::groupId
IfdId groupId(const std::string &groupName)
Return the group id for a group name.
Definition: tags_int.cpp:2143
Exiv2::Internal::print0xa405
std::ostream & print0xa405(std::ostream &os, const Value &value, const ExifData *)
Print 35mm equivalent focal length.
Definition: tags_int.cpp:2747
Exiv2::Internal::printExifVersion
std::ostream & printExifVersion(std::ostream &os, const Value &value, const ExifData *)
Print any version packed in 4 Bytes format : major major minor minor.
Definition: tags_int.cpp:2836
Exiv2::Internal::Nikon3MakerNote::tagListLd2
static const TagInfo * tagListLd2()
Return read-only list of built-in Lens Data 2 tags.
Definition: nikonmn_int.cpp:1438
Exiv2::Internal::print0xa301
std::ostream & print0xa301(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene type.
Definition: tags_int.cpp:2690
Exiv2::Internal::isExifIfd
bool isExifIfd(IfdId ifdId)
Return true if ifdId is an Exif IFD id.
Definition: tags_int.cpp:2073
Exiv2::Internal::Nikon3MakerNote::tagListLd1
static const TagInfo * tagListLd1()
Return read-only list of built-in Lens Data 1 tags.
Definition: nikonmn_int.cpp:1413
Exiv2::Internal::SectionInfo::sectionId_
SectionId sectionId_
Section id.
Definition: tags_int.hpp:180
Exiv2::Internal::printUcs2
std::ostream & printUcs2(std::ostream &os, const Value &value, const ExifData *)
Print function converting from UCS-2LE to UTF-8.
Definition: tags_int.cpp:2260
error.hpp
Error class for exceptions, log message class.
Exiv2::Internal::exifSubjectDistanceRange
const TagDetails exifSubjectDistanceRange[]
SubjectDistanceRange, tag 0xa40c.
Exiv2::ExifData
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434
Exiv2::Internal::OlympusMakerNote::tagListFi
static const TagInfo * tagListFi()
Return read-only list of built-in Olympus Focus Info tags.
Definition: olympusmn_int.cpp:1034
Exiv2::Internal::Nikon3MakerNote::tagListIi
static const TagInfo * tagListIi()
Return read-only list of built-in ISO info tags.
Definition: nikonmn_int.cpp:821
Exiv2::Internal::Nikon3MakerNote::tagListLd3
static const TagInfo * tagListLd3()
Return read-only list of built-in Lens Data 3 tags.
Definition: nikonmn_int.cpp:1463
Exiv2::Internal::fnumber
float fnumber(float apertureValue)
Calculate F number from an APEX aperture value.
Definition: tags_int.cpp:2196
Exiv2::Internal::Nikon3MakerNote::tagListSi3
static const TagInfo * tagListSi3()
Return read-only list of built-in Shot Info D300 (a) tags.
Definition: nikonmn_int.cpp:1221