Exiv2
tags_int.hpp
1 // ***************************************************************** -*- C++ -*-
2 /*
3  * Copyright (C) 2004-2021 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  */
20 #ifndef TAGS_INT_HPP_
21 #define TAGS_INT_HPP_
22 
23 // *****************************************************************************
24 // included header files
25 #include "types.hpp"
26 #include "tags.hpp"
27 #include "value.hpp"
28 
29 // + standard includes
30 #include <string>
31 #include <iostream>
32 #include <memory>
33 
34 // *****************************************************************************
35 // namespace extensions
36 
37 namespace Exiv2 {
38  class ExifData;
39 
40  namespace Internal {
41 
42 // *****************************************************************************
43 // class definitions
44 
46  enum IfdId {
47  ifdIdNotSet,
48  ifd0Id,
49  ifd1Id,
50  ifd2Id,
51  ifd3Id,
52  exifId,
53  gpsId,
54  iopId,
55  mpfId,
56  subImage1Id,
57  subImage2Id,
58  subImage3Id,
59  subImage4Id,
60  subImage5Id,
61  subImage6Id,
62  subImage7Id,
63  subImage8Id,
64  subImage9Id,
65  subThumb1Id,
66  panaRawId,
67  mnId,
68  canonId,
69  canonAf2Id,
70  canonAf3Id,
71  canonAfCId,
72  canonAfMiAdjId,
73  canonAmId,
74  canonAsId,
75  canonCbId,
76  canonCiId,
77  canonCsId,
78  canonFilId,
79  canonFlId,
80  canonHdrId,
81  canonLeId,
82  canonMeId,
83  canonMoID,
84  canonMvId,
85  canonRawBId,
86  canonSiId,
87  canonCfId,
88  canonContrastId,
89  canonFcd1Id,
90  canonFcd2Id,
91  canonFcd3Id,
92  canonLiOpId,
93  canonMyColorID,
94  canonPiId,
95  canonPaId,
96  canonTiId,
97  canonFiId,
98  canonPrId,
99  canonPreID,
100  canonVigCorId,
101  canonVigCor2Id,
102  canonWbId,
103  casioId,
104  casio2Id,
105  fujiId,
106  minoltaId,
107  minoltaCs5DId,
108  minoltaCs7DId,
109  minoltaCsOldId,
110  minoltaCsNewId,
111  nikon1Id,
112  nikon2Id,
113  nikon3Id,
114  nikonPvId,
115  nikonVrId,
116  nikonPcId,
117  nikonWtId,
118  nikonIiId,
119  nikonAfId,
120  nikonAf21Id,
121  nikonAf22Id,
122  nikonAFTId,
123  nikonFiId,
124  nikonMeId,
125  nikonFl1Id,
126  nikonFl2Id,
127  nikonFl3Id,
128  nikonSi1Id,
129  nikonSi2Id,
130  nikonSi3Id,
131  nikonSi4Id,
132  nikonSi5Id,
133  nikonSi6Id,
134  nikonLd1Id,
135  nikonLd2Id,
136  nikonLd3Id,
137  nikonLd4Id,
138  nikonCb1Id,
139  nikonCb2Id,
140  nikonCb2aId,
141  nikonCb2bId,
142  nikonCb3Id,
143  nikonCb4Id,
144  olympusId,
145  olympus2Id,
146  olympusCsId,
147  olympusEqId,
148  olympusRdId,
149  olympusRd2Id,
150  olympusIpId,
151  olympusFiId,
152  olympusFe1Id,
153  olympusFe2Id,
154  olympusFe3Id,
155  olympusFe4Id,
156  olympusFe5Id,
157  olympusFe6Id,
158  olympusFe7Id,
159  olympusFe8Id,
160  olympusFe9Id,
161  olympusRiId,
162  panasonicId,
163  pentaxId,
164  pentaxDngId,
165  samsung2Id,
166  samsungPvId,
167  samsungPwId,
168  sigmaId,
169  sony1Id,
170  sony2Id,
171  sonyMltId,
172  sony1CsId,
173  sony1Cs2Id,
174  sony2CsId,
175  sony2Cs2Id,
176  sony2FpId,
177  sony2010eId,
178  sony1MltCs7DId,
179  sony1MltCsOldId,
180  sony1MltCsNewId,
181  sony1MltCsA100Id,
182  tagInfoMvId,
183  lastId,
184  ignoreId = lastId
185  };
186 
191  enum SectionId { sectionIdNotSet,
192  imgStruct, // 4.6.4 A
193  recOffset, // 4.6.4 B
194  imgCharacter, // 4.6.4 C
195  otherTags, // 4.6.4 D
196  exifFormat, // 4.6.3
197  exifVersion, // 4.6.5 A
198  imgConfig, // 4.6.5 C
199  userInfo, // 4.6.5 D
200  relatedFile, // 4.6.5 E
201  dateTime, // 4.6.5 F
202  captureCond, // 4.6.5 G
203  gpsTags, // 4.6.6
204  iopTags, // 4.6.7
205  mpfTags,
206  makerTags, // MakerNote
207  dngTags, // DNG Spec
208  panaRaw,
209  tiffEp, // TIFF-EP Spec
210  tiffPm6,
211  adobeOpi,
212  lastSectionId };
213 
215  struct SectionInfo {
217  const char* name_;
218  const char* desc_;
219  };
220 
225  struct TagDetails {
226  int64_t val_;
227  const char* label_;
228 
230  bool operator==(long key) const { return val_ == key; }
231  }; // struct TagDetails
232 
238  uint32_t mask_;
239  const char* label_;
240  }; // struct TagDetailsBitmask
241 
246  struct TagVocabulary {
247  const char* voc_;
248  const char* label_;
249 
257  bool operator==(const std::string& key) const;
258  }; // struct TagDetails
259 
264  template <int N, const TagDetails (&array)[N]>
265  std::ostream& printTag(std::ostream& os, const Value& value, const ExifData*)
266  {
267  const TagDetails* td = find(array, value.toLong());
268  if (td) {
269  os << exvGettext(td->label_);
270  }
271  else {
272  os << "(" << value << ")";
273  }
274  return os;
275  }
276 
278 #define EXV_PRINT_TAG(array) printTag<EXV_COUNTOF(array), array>
279 
284  template <int N, const TagDetailsBitmask (&array)[N]>
285  std::ostream& printTagBitmask(std::ostream& os, const Value& value, const ExifData*)
286  {
287  const uint32_t val = static_cast<uint32_t>(value.toLong());
288  if (val == 0 && N > 0) {
289  const TagDetailsBitmask* td = *(&array);
290  if (td->mask_ == 0) return os << exvGettext(td->label_);
291  }
292  bool sep = false;
293  for (int i = 0; i < N; ++i) {
294  // *& acrobatics is a workaround for a MSVC 7.1 bug
295  const TagDetailsBitmask* td = *(&array) + i;
296 
297  if (val & td->mask_) {
298  if (sep) {
299  os << ", " << exvGettext(td->label_);
300  }
301  else {
302  os << exvGettext(td->label_);
303  sep = true;
304  }
305  }
306  }
307  return os;
308  }
309 
311 #define EXV_PRINT_TAG_BITMASK(array) printTagBitmask<EXV_COUNTOF(array), array>
312 
317  template <int N, const TagVocabulary (&array)[N]>
318  std::ostream& printTagVocabulary(std::ostream& os, const Value& value, const ExifData*)
319  {
320  const TagVocabulary* td = find(array, value.toString());
321  if (td) {
322  os << exvGettext(td->label_);
323  }
324  else {
325  os << "(" << value << ")";
326  }
327  return os;
328  }
329 
331 #define EXV_PRINT_VOCABULARY(array) printTagVocabulary<EXV_COUNTOF(array), array>
332 
333 // *****************************************************************************
334 // free functions
335 
337  const TagInfo* ifdTagList();
339  const TagInfo* exifTagList();
341  const TagInfo* iopTagList();
343  const TagInfo* gpsTagList();
345  const TagInfo* mnTagList();
347  const TagInfo* mpfTagList();
348 
349  const GroupInfo* groupList();
350  const TagInfo* tagList(const std::string& groupName);
351 
353  IfdId groupId(const std::string& groupName);
355  const char* ifdName(IfdId ifdId);
357  const char* groupName(IfdId ifdId);
358 
360  bool isMakerIfd(IfdId ifdId);
362  bool isExifIfd(IfdId ifdId);
363 
365  void taglist(std::ostream& os, IfdId ifdId);
367  const TagInfo* tagList(IfdId ifdId);
369  const TagInfo* tagInfo(uint16_t tag, IfdId ifdId);
371  const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId);
379  uint16_t tagNumber(const std::string& tagName, IfdId ifdId);
380 
382 
383  std::ostream& printValue(std::ostream& os, const Value& value, const ExifData*);
386  std::ostream& printLong(std::ostream& os, const Value& value, const ExifData*);
388  std::ostream& printFloat(std::ostream& os, const Value& value, const ExifData*);
390  std::ostream& printDegrees(std::ostream& os, const Value& value, const ExifData*);
392  std::ostream& printUcs2(std::ostream& os, const Value& value, const ExifData*);
394  std::ostream& printExifUnit(std::ostream& os, const Value& value, const ExifData*);
396  std::ostream& print0x0000(std::ostream& os, const Value& value, const ExifData*);
398  std::ostream& print0x0005(std::ostream& os, const Value& value, const ExifData*);
400  std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*);
402  std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*);
404  std::ostream& print0x0009(std::ostream& os, const Value& value, const ExifData*);
406  std::ostream& print0x000a(std::ostream& os, const Value& value, const ExifData*);
408  std::ostream& print0x000c(std::ostream& os, const Value& value, const ExifData*);
410  std::ostream& print0x0019(std::ostream& os, const Value& value, const ExifData*);
412  std::ostream& print0x001e(std::ostream& os, const Value& value, const ExifData*);
414  std::ostream& print0x0112(std::ostream& os, const Value& value, const ExifData*);
416  std::ostream& print0x0213(std::ostream& os, const Value& value, const ExifData*);
418  std::ostream& print0x8298(std::ostream& os, const Value& value, const ExifData*);
420  std::ostream& print0x829a(std::ostream& os, const Value& value, const ExifData*);
422  std::ostream& print0x829d(std::ostream& os, const Value& value, const ExifData*);
424  std::ostream& print0x8822(std::ostream& os, const Value& value, const ExifData*);
426  std::ostream& print0x8827(std::ostream& os, const Value& value, const ExifData*);
428  std::ostream& print0x9101(std::ostream& os, const Value& value, const ExifData*);
430  std::ostream& print0x9201(std::ostream& os, const Value& value, const ExifData*);
432  std::ostream& print0x9202(std::ostream& os, const Value& value, const ExifData*);
434  std::ostream& print0x9204(std::ostream& os, const Value& value, const ExifData*);
436  std::ostream& print0x9206(std::ostream& os, const Value& value, const ExifData*);
438  std::ostream& print0x9207(std::ostream& os, const Value& value, const ExifData*);
440  std::ostream& print0x9208(std::ostream& os, const Value& value, const ExifData*);
442  std::ostream& print0x920a(std::ostream& os, const Value& value, const ExifData*);
444  std::ostream& print0xa001(std::ostream& os, const Value& value, const ExifData*);
446  std::ostream& print0xa217(std::ostream& os, const Value& value, const ExifData*);
448  std::ostream& print0xa300(std::ostream& os, const Value& value, const ExifData*);
450  std::ostream& print0xa301(std::ostream& os, const Value& value, const ExifData*);
452  std::ostream& print0xa401(std::ostream& os, const Value& value, const ExifData*);
454  std::ostream& print0xa402(std::ostream& os, const Value& value, const ExifData*);
456  std::ostream& print0xa403(std::ostream& os, const Value& value, const ExifData*);
458  std::ostream& print0xa404(std::ostream& os, const Value& value, const ExifData*);
460  std::ostream& print0xa405(std::ostream& os, const Value& value, const ExifData*);
462  std::ostream& print0xa406(std::ostream& os, const Value& value, const ExifData*);
464  std::ostream& print0xa407(std::ostream& os, const Value& value, const ExifData*);
466  std::ostream& print0xa409(std::ostream& os, const Value& value, const ExifData*);
468  std::ostream& print0xa40c(std::ostream& os, const Value& value, const ExifData*);
470  std::ostream& printGPSDirRef(std::ostream& os, const Value& value, const ExifData*);
472  std::ostream& printNormalSoftHard(std::ostream& os, const Value& value, const ExifData*);
474  std::ostream& printExifVersion(std::ostream& os, const Value& value, const ExifData*);
476  std::ostream& printXmpVersion(std::ostream& os, const Value& value, const ExifData*);
478  std::ostream& printXmpDate(std::ostream& os, const Value& value, const ExifData*);
480  std::ostream& printBitmask(std::ostream& os, const Value& value, const ExifData*);
482 
484  float fnumber(float apertureValue);
485 
488 
489 }} // namespace Internal, Exiv2
490 
491 #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:909
Exiv2::Internal::Nikon3MakerNote::tagListCb2a
static const TagInfo * tagListCb2a()
Return read-only list of built-in Color Balance 2a tags.
Definition: nikonmn_int.cpp:1359
Exiv2::Internal::exifColorSpace
const TagDetails exifColorSpace[]
ColorSpace, tag 0xa001.
Exiv2::Internal::print0x0007
std::ostream & print0x0007(std::ostream &os, const Value &value, const ExifData *)
Print GPS timestamp.
Definition: tags_int.cpp:2720
Exiv2::Internal::dngProfileEncoding
const TagDetails dngProfileEncoding[]
ProfileEncoding, DNG 1.4 tags 0xc7a3, 0xc7a4.
Exiv2::Internal::SectionInfo::name_
const char * name_
Section name (one word)
Definition: tags_int.hpp:217
Exiv2::Internal::TagDetails
Helper structure for lookup tables for translations of numeric tag values to human readable labels.
Definition: tags_int.hpp:225
Exiv2::Internal::print0x8827
std::ostream & print0x8827(std::ostream &os, const Value &value, const ExifData *)
Print ISO speed ratings.
Definition: tags_int.cpp:2875
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:2420
Exiv2::Internal::exifSubfileType
const TagDetails exifSubfileType[]
SubfileType, TIFF tag 0x00ff.
Exiv2::Internal::dngDepthFormat
const TagDetails dngDepthFormat[]
DepthFormat, DNG 1.5 tag 0xc7e9.
Exiv2::Internal::print0x0009
std::ostream & print0x0009(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS status.
Definition: tags_int.cpp:2756
Exiv2::Internal::OlympusMakerNote::tagListFe
static const TagInfo * tagListFe()
Return read-only list of built-in Olympus FE tags.
Definition: olympusmn_int.cpp:1036
Exiv2::Internal::PentaxMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Pentaxfilm tags.
Definition: pentaxmn_int.cpp:1703
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:3214
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:258
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:130
Exiv2::Internal::print0x9208
std::ostream & print0x9208(std::ostream &os, const Value &value, const ExifData *metadata)
Print light source.
Definition: tags_int.cpp:2990
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:2483
Exiv2::Internal::print0x829a
std::ostream & print0x829a(std::ostream &os, const Value &value, const ExifData *)
Print the exposure time.
Definition: tags_int.cpp:2816
Exiv2::Internal::SonyMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Sony tags.
Definition: sonymn_int.cpp:491
Exiv2::Internal::exifSampleFormat
const TagDetails exifSampleFormat[]
SampleFormat, tag 0x0153.
Exiv2::GroupInfo::tagList_
TagListFct tagList_
Tag list.
Definition: tags.hpp:64
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:2552
Exiv2::Internal::Nikon3MakerNote::tagListSi1
static const TagInfo * tagListSi1()
Return read-only list of built-in Shot Info D80 tags.
Definition: nikonmn_int.cpp:1151
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:51
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:645
Exiv2::Internal::dngColorimetricReference
const TagDetails dngColorimetricReference[]
ColorimetricReference, DNG 1.2 tag 0xc6bf.
Exiv2::GroupInfo::ifdId_
int ifdId_
IFD id.
Definition: tags.hpp:61
Exiv2::Internal::exposureTime
URational exposureTime(float shutterSpeedValue)
Calculate the exposure time from an APEX shutter speed value.
Definition: tags_int.cpp:2585
Exiv2::Internal::dngProfileEmbedPolicy
const TagDetails dngProfileEmbedPolicy[]
ProfileEmbedPolicy, DNG 1.2 tag 0xc6fd.
Exiv2::Internal::Nikon3MakerNote::tagListFl1
static const TagInfo * tagListFl1()
Return read-only list of built-in Flash Info 1 tags.
Definition: nikonmn_int.cpp:1098
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:3177
Exiv2::GroupInfo::ifdName_
const char * ifdName_
IFD name.
Definition: tags.hpp:62
Exiv2::Internal::IfdId
IfdId
Type to specify the IFD to which a metadata belongs.
Definition: tags_int.hpp:46
Exiv2::Internal::exifGPSDirRef
const TagDetails exifGPSDirRef[]
GPS direction ref, tags 0x000e, 0x0010, 0x0017.
Exiv2::Internal::dngDefaultBlackRender
const TagDetails dngDefaultBlackRender[]
DefaultBlackRender, DNG 1.4 tag 0xc7a6.
Exiv2::Internal::MinoltaMakerNote::tagListCsStd
static const TagInfo * tagListCsStd()
Return read-only list of built-in Minolta Standard Camera Settings tags.
Definition: minoltamn_int.cpp:639
Exiv2::undefined
@ undefined
Exif UNDEFINED type, an 8-bit byte that may contain anything.
Definition: types.hpp:126
Exiv2::Value::typeId
TypeId typeId() const
Return the type identifier (Exif data format type).
Definition: value.hpp:104
Exiv2::GroupInfo
The details of an Exif group. Groups include IFDs and binary arrays.
Definition: tags.hpp:57
Exiv2::Internal::Nikon3MakerNote::tagListAf22
static const TagInfo * tagListAf22()
Return read-only list of built-in Auto Focus 2 tags.
Definition: nikonmn_int.cpp:939
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:3194
Exiv2::Internal::Samsung2MakerNote::tagListPw
static const TagInfo * tagListPw()
Return read-only list of built-in PictureWizard tags.
Definition: samsungmn_int.cpp:195
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:2619
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:1333
Exiv2::Internal::MinoltaMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Minolta tags.
Definition: minoltamn_int.cpp:185
Exiv2::signedShort
@ signedShort
Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer.
Definition: types.hpp:127
Exiv2::comment
@ comment
Exiv2 type for the Exif user comment.
Definition: types.hpp:139
Exiv2::Internal::tagList
const TagInfo * tagList(IfdId ifdId)
Return the tag list for ifdId.
Definition: tags_int.cpp:2493
Exiv2::exvGettext
const EXIV2API char * exvGettext(const char *str)
Translate a string using the gettext framework. This wrapper hides all the implementation details fro...
Definition: types.cpp:571
Exiv2::Internal::PanasonicMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Panasonic tags.
Definition: panasonicmn_int.cpp:534
Exiv2::asciiString
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:121
Exiv2::Internal::MinoltaMakerNote::tagListCs7D
static const TagInfo * tagListCs7D()
Return read-only list of built-in Minolta 7D Camera Settings tags.
Definition: minoltamn_int.cpp:819
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:2911
Exiv2::GroupInfo::groupName_
const char * groupName_
Group name, unique for each group.
Definition: tags.hpp:63
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:771
Exiv2::apertureValue
EXIV2API ExifData::const_iterator apertureValue(const ExifData &ed)
Return the aperture value.
Definition: easyaccess.cpp:482
Exiv2::Internal::mnTagList
const TagInfo * mnTagList()
Return read-only list of built-in Exiv2 Makernote info tags.
Definition: tags_int.cpp:2438
Exiv2::Internal::TagVocabulary
Helper structure for lookup tables for translations of controlled vocabulary strings to their descrip...
Definition: tags_int.hpp:246
Exiv2::Internal::print0x8822
std::ostream & print0x8822(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure program.
Definition: tags_int.cpp:2870
Exiv2::Internal::Nikon3MakerNote::tagListSi4
static const TagInfo * tagListSi4()
Return read-only list of built-in Shot Info D300 (b) tags.
Definition: nikonmn_int.cpp:1285
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:538
Exiv2::Internal::iopTagList
const TagInfo * iopTagList()
Return read-only list of built-in IOP tags.
Definition: tags_int.cpp:2419
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:2626
Exiv2::Internal::Samsung2MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Samsung tags.
Definition: samsungmn_int.cpp:140
Exiv2::Internal::TagDetails::val_
int64_t val_
Tag value.
Definition: tags_int.hpp:226
Exiv2::Internal::printDegrees
std::ostream & printDegrees(std::ostream &os, const Value &value, const ExifData *)
Print a longitude or latitude value.
Definition: tags_int.cpp:2637
Exiv2::Internal::print0x0019
std::ostream & print0x0019(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS destination distance ref.
Definition: tags_int.cpp:2771
Exiv2::unsignedLong
@ unsignedLong
Exif LONG type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:123
Exiv2::tiffDouble
@ tiffDouble
TIFF DOUBLE type, double precision (8-byte) IEEE format.
Definition: types.hpp:131
Exiv2::Internal::exifPredictor
const TagDetails exifPredictor[]
Predictor, tag 0x013d.
Exiv2::Internal::dngDepthMeasureType
const TagDetails dngDepthMeasureType[]
DepthMeasureType, DNG 1.5 tag 0xc7ed.
Exiv2::Internal::print0xa404
std::ostream & print0xa404(std::ostream &os, const Value &value, const ExifData *)
Print digital zoom ratio.
Definition: tags_int.cpp:3098
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:265
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:3223
Exiv2::Internal::OlympusMakerNote::tagListCs
static const TagInfo * tagListCs()
Return read-only list of built-in Olympus Camera Settings tags.
Definition: olympusmn_int.cpp:714
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:767
Exiv2::Internal::Nikon1MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Nikon1 tags.
Definition: nikonmn_int.cpp:266
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:2540
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:230
Exiv2::Internal::SectionId
SectionId
Section identifiers to logically group tags. A section consists of nothing more than a name,...
Definition: tags_int.hpp:191
Exiv2::Internal::TagDetailsBitmask
Helper structure for lookup tables for translations of bitmask values to human readable labels.
Definition: tags_int.hpp:237
Exiv2::Internal::print0x001e
std::ostream & print0x001e(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS differential correction.
Definition: tags_int.cpp:2776
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:2705
Exiv2::Internal::Nikon2MakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Nikon2 tags.
Definition: nikonmn_int.cpp:528
Exiv2::unsignedRational
@ unsignedRational
Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction.
Definition: types.hpp:124
Exiv2::Internal::TagVocabulary::operator==
bool operator==(const std::string &key) const
Comparison operator for use with the find template.
Definition: tags.cpp:90
Exiv2::Internal::dngCfaLayout
const TagDetails dngCfaLayout[]
CFALayout, DNG tag 0xc617.
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:1351
Exiv2::Internal::SigmaMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Sigma tags.
Definition: sigmamn_int.cpp:117
Exiv2::Internal::printGPSDirRef
std::ostream & printGPSDirRef(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS direction ref.
Definition: tags_int.cpp:3182
Exiv2::Internal::print0xa402
std::ostream & print0xa402(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure mode.
Definition: tags_int.cpp:3082
Exiv2::Internal::print0xa407
std::ostream & print0xa407(std::ostream &os, const Value &value, const ExifData *metadata)
Print gain control.
Definition: tags_int.cpp:3151
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:976
Exiv2::Internal::tiffSensingMethod
const TagDetails tiffSensingMethod[]
SensingMethod, TIFF/EP tag 0x9217.
Exiv2::Internal::Nikon3MakerNote::tagListCb4
static const TagInfo * tagListCb4()
Return read-only list of built-in Color Balance 4 tags.
Definition: nikonmn_int.cpp:1398
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:789
Exiv2::Internal::Nikon3MakerNote::tagListFi
static const TagInfo * tagListFi()
Return read-only list of built-in File Info tags.
Definition: nikonmn_int.cpp:954
Exiv2::Internal::print0x0112
std::ostream & print0x0112(std::ostream &os, const Value &value, const ExifData *metadata)
Print orientation.
Definition: tags_int.cpp:2781
Exiv2::Internal::OlympusMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Olympus tags.
Definition: olympusmn_int.cpp:460
Exiv2::Internal::print0x0000
std::ostream & print0x0000(std::ostream &os, const Value &value, const ExifData *)
Print GPS version.
Definition: tags_int.cpp:2685
Exiv2::Internal::MinoltaMakerNote::tagListCsA100
static const TagInfo * tagListCsA100()
Return read-only list of built-in Sony A100 Camera Settings tags.
Definition: minoltamn_int.cpp:1589
Exiv2::Internal::CanonMakerNote::tagListPr
static const TagInfo * tagListPr()
Return read-only list of built-in Canon Processing Info tags.
Definition: canonmn_int.cpp:2623
Exiv2::Internal::OlympusMakerNote::tagListRd
static const TagInfo * tagListRd()
Return read-only list of built-in Olympus Raw Development tags.
Definition: olympusmn_int.cpp:830
Exiv2::Internal::Nikon3MakerNote::tagListFl2
static const TagInfo * tagListFl2()
Return read-only list of built-in Flash Info 2 tags.
Definition: nikonmn_int.cpp:1118
Exiv2::DataBuf
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:193
Exiv2::unsignedByte
@ unsignedByte
Exif BYTE type, 8-bit unsigned integer.
Definition: types.hpp:120
Exiv2::Internal::SectionInfo
The details of a section.
Definition: tags_int.hpp:215
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:2547
Exiv2::Internal::FujiMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Fujifilm tags.
Definition: fujimn_int.cpp:390
Exiv2::Internal::dngPreviewColorSpace
const TagDetails dngPreviewColorSpace[]
PreviewColorSpace, DNG 1.2 tag 0xc71a.
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:168
Exiv2::Internal::print0x9206
std::ostream & print0x9206(std::ostream &os, const Value &value, const ExifData *)
Print the subject distance.
Definition: tags_int.cpp:2947
Exiv2::Internal::Nikon3MakerNote::tagListLd4
static const TagInfo * tagListLd4()
Return read-only list of built-in Lens Data 4 tags.
Definition: nikonmn_int.cpp:1498
Exiv2::Internal::print0x000c
std::ostream & print0x000c(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS speed ref.
Definition: tags_int.cpp:2766
Exiv2::Internal::CanonMakerNote::tagListTi
static const TagInfo * tagListTi()
Return read-only list of built-in Canon Time Info tags.
Definition: canonmn_int.cpp:2675
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:318
Exiv2::DataBuf::size_
long size_
The current size of the buffer.
Definition: types.hpp:260
Exiv2::Internal::TagDetails::label_
const char * label_
Translation of the tag value.
Definition: tags_int.hpp:227
Exiv2::Internal::Nikon3MakerNote::tagListCb3
static const TagInfo * tagListCb3()
Return read-only list of built-in Color Balance 3 tags.
Definition: nikonmn_int.cpp:1385
Exiv2::find
const T * find(T(&src)[N], const K &key)
Find an element that matches key in the array src.
Definition: types.hpp:497
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:2761
Exiv2::Internal::ifdName
const char * ifdName(IfdId ifdId)
Return the name of the IFD.
Definition: tags_int.cpp:2533
Exiv2::Internal::dngDepthUnits
const TagDetails dngDepthUnits[]
DepthUnits, DNG 1.5 tag 0xc7ec.
Exiv2::Internal::CanonMakerNote::tagListSi
static const TagInfo * tagListSi()
Return read-only list of built-in Canon Shot Info tags.
Definition: canonmn_int.cpp:2372
Exiv2::Internal::print0x9204
std::ostream & print0x9204(std::ostream &os, const Value &value, const ExifData *)
Print the exposure bias value.
Definition: tags_int.cpp:2926
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:658
Exiv2::unsignedShort
@ unsignedShort
Exif SHORT type, 16-bit (2-byte) unsigned integer.
Definition: types.hpp:122
Exiv2::Internal::OlympusMakerNote::tagListIp
static const TagInfo * tagListIp()
Return read-only list of built-in Olympus Image Processing tags.
Definition: olympusmn_int.cpp:990
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:2445
Exiv2::Internal::Nikon3MakerNote::tagListCb2b
static const TagInfo * tagListCb2b()
Return read-only list of built-in Color Balance 2b tags.
Definition: nikonmn_int.cpp:1372
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:2608
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:2386
Exiv2::Internal::TagVocabulary::voc_
const char * voc_
Vocabulary string.
Definition: tags_int.hpp:247
Exiv2::Rational
std::pair< int32_t, int32_t > Rational
8 byte signed rational type.
Definition: types.hpp:99
Exiv2::Internal::TagDetailsBitmask::mask_
uint32_t mask_
Bitmask value.
Definition: tags_int.hpp:238
Exiv2::Internal::Nikon3MakerNote::tagListAf
static const TagInfo * tagListAf()
Return read-only list of built-in Auto Focus tags.
Definition: nikonmn_int.cpp:879
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:1320
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:1138
Exiv2::signedRational
@ signedRational
Exif SRATIONAL type, two SLONGs: numerator and denumerator of a fraction.
Definition: types.hpp:129
Exiv2::Internal::Nikon3MakerNote::tagListSi2
static const TagInfo * tagListSi2()
Return read-only list of built-in Shot Info D40 tags.
Definition: nikonmn_int.cpp:1165
Exiv2::Internal::exifIndexed
const TagDetails exifIndexed[]
Indexed, tag 0x015a.
Exiv2::TagInfo
Tag information.
Definition: tags.hpp:74
Exiv2::Internal::Nikon3MakerNote::tagListPc
static const TagInfo * tagListPc()
Return read-only list of built-in Picture Control tags.
Definition: nikonmn_int.cpp:746
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:2096
Exiv2::Internal::exifPlanarConfiguration
const TagDetails exifPlanarConfiguration[]
PlanarConfiguration, tag 0x011c.
Exiv2::Internal::exifCompositeImage
const TagDetails exifCompositeImage[]
CompositeImage, tag 0xa460.
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:690
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:2898
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:2316
Exiv2::Internal::exifJpegLosslessPredictor
const TagDetails exifJpegLosslessPredictor[]
exifJpegLosslessPredictor, tag 0x0205
Exiv2::Internal::exifOrientation
const TagDetails exifOrientation[]
Orientation, tag 0x0112.
Exiv2::Internal::print0xa406
std::ostream & print0xa406(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene capture type.
Definition: tags_int.cpp:3137
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:2880
Exiv2::Internal::CanonMakerNote::tagListFi
static const TagInfo * tagListFi()
Return read-only list of built-in Canon File Info tags.
Definition: canonmn_int.cpp:2582
Exiv2::Internal::tiffFocalPlaneResolutionUnit
const TagDetails tiffFocalPlaneResolutionUnit[]
FocalPlaneResolutionUnit, TIFF/EP tag 0x9210.
Exiv2::Internal::SonyMakerNote::tagListCs
static const TagInfo * tagListCs()
Return read-only list of built-in Sony Standard Camera Settings tags.
Definition: sonymn_int.cpp:725
Exiv2::Internal::print0x8298
std::ostream & print0x8298(std::ostream &os, const Value &value, const ExifData *)
Print the copyright.
Definition: tags_int.cpp:2796
Exiv2::shutterSpeedValue
EXIV2API ExifData::const_iterator shutterSpeedValue(const ExifData &ed)
Return the shutter speed value.
Definition: easyaccess.cpp:473
Exiv2::Internal::print0xa217
std::ostream & print0xa217(std::ostream &os, const Value &value, const ExifData *metadata)
Print sensing method.
Definition: tags_int.cpp:3037
Exiv2::Internal::PanasonicMakerNote::tagListRaw
static const TagInfo * tagListRaw()
Return read-only list of built-in Panasonic RAW image tags (IFD0)
Definition: panasonicmn_int.cpp:757
Exiv2::Internal::ifdTagList
const TagInfo * ifdTagList()
Return read-only list of built-in IFD0/1 tags.
Definition: tags_int.cpp:1709
Exiv2::Internal::print0xa401
std::ostream & print0xa401(std::ostream &os, const Value &value, const ExifData *metadata)
Print custom rendered.
Definition: tags_int.cpp:3070
Exiv2::Internal::print0xa409
std::ostream & print0xa409(std::ostream &os, const Value &value, const ExifData *metadata)
Print saturation.
Definition: tags_int.cpp:3163
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:2791
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:285
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:2839
Exiv2::gcd
IntType gcd(IntType n, IntType m)
Return the greatest common denominator of n and m. (Implementation from Boost rational....
Definition: types.hpp:559
Exiv2::Internal::MinoltaMakerNote::tagListCs5D
static const TagInfo * tagListCs5D()
Return read-only list of built-in Minolta 5D Camera Settings tags.
Definition: minoltamn_int.cpp:1084
Exiv2::Internal::tagInfo
const TagInfo * tagInfo(uint16_t tag, IfdId ifdId)
Return the tag info for tag and ifdId.
Definition: tags_int.cpp:2500
Exiv2::URational
std::pair< uint32_t, uint32_t > URational
8 byte unsigned rational type.
Definition: types.hpp:97
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:2280
Exiv2::Error
BasicError< char > Error
Error class used for exceptions (std::string based)
Definition: error.hpp:324
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:2394
Exiv2::Internal::CanonMakerNote::tagListPi
static const TagInfo * tagListPi()
Return read-only list of built-in Canon Picture Info tags.
Definition: canonmn_int.cpp:2461
Exiv2::Internal::print0x0005
std::ostream & print0x0005(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS altitude ref.
Definition: tags_int.cpp:2700
Exiv2::Internal::exifExposureMode
const TagDetails exifExposureMode[]
ExposureMode, tag 0xa402.
Exiv2::xmpText
@ xmpText
XMP text type.
Definition: types.hpp:141
Exiv2::Internal::Nikon3MakerNote::tagListCb2
static const TagInfo * tagListCb2()
Return read-only list of built-in Color Balance 2 tags.
Definition: nikonmn_int.cpp:1346
Exiv2::Internal::Nikon3MakerNote::tagListAf21
static const TagInfo * tagListAf21()
Return read-only list of built-in Auto Focus 2 tags.
Definition: nikonmn_int.cpp:915
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:87
Exiv2::Internal::TagVocabulary::label_
const char * label_
Description of the vocabulary string.
Definition: tags_int.hpp:248
Exiv2::Internal::printExifUnit
std::ostream & printExifUnit(std::ostream &os, const Value &value, const ExifData *metadata)
Print function for Exif units.
Definition: tags_int.cpp:2680
Exiv2::Internal::print0xa300
std::ostream & print0xa300(std::ostream &os, const Value &value, const ExifData *metadata)
Print file source.
Definition: tags_int.cpp:3049
Exiv2::Internal::print0x9207
std::ostream & print0x9207(std::ostream &os, const Value &value, const ExifData *metadata)
Print metering mode.
Definition: tags_int.cpp:2985
Exiv2::Internal::Nikon3MakerNote::tagListWt
static const TagInfo * tagListWt()
Return read-only list of built-in World time tags.
Definition: nikonmn_int.cpp:781
Exiv2::Internal::print0xa403
std::ostream & print0xa403(std::ostream &os, const Value &value, const ExifData *metadata)
Print white balance.
Definition: tags_int.cpp:3093
Exiv2::Internal::SectionInfo::desc_
const char * desc_
Section description.
Definition: tags_int.hpp:218
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:2995
Exiv2::Internal::dngMakerNoteSafety
const TagDetails dngMakerNoteSafety[]
MakerNoteSafety, DNG tag 0xc635.
Exiv2::Internal::SonyMakerNote::tagListFp
static const TagInfo * tagListFp()
Return read-only list of built-in Sony FocusPosition tags.
Definition: sonymn_int.cpp:804
Exiv2::Internal::TagDetailsBitmask::label_
const char * label_
Description of the tag value.
Definition: tags_int.hpp:239
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:188
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:3021
Exiv2::Internal::OlympusMakerNote::tagListRi
static const TagInfo * tagListRi()
Return read-only list of built-in Olympus Raw Info tags.
Definition: olympusmn_int.cpp:1098
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:2525
Exiv2::Internal::print0xa405
std::ostream & print0xa405(std::ostream &os, const Value &value, const ExifData *)
Print 35mm equivalent focal length.
Definition: tags_int.cpp:3116
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:3199
Exiv2::Internal::Nikon3MakerNote::tagListLd2
static const TagInfo * tagListLd2()
Return read-only list of built-in Lens Data 2 tags.
Definition: nikonmn_int.cpp:1442
Exiv2::Internal::print0xa301
std::ostream & print0xa301(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene type.
Definition: tags_int.cpp:3059
Exiv2::Internal::isExifIfd
bool isExifIfd(IfdId ifdId)
Return true if ifdId is an Exif IFD id.
Definition: tags_int.cpp:2455
Exiv2::Internal::Nikon3MakerNote::tagListLd1
static const TagInfo * tagListLd1()
Return read-only list of built-in Lens Data 1 tags.
Definition: nikonmn_int.cpp:1417
Exiv2::Internal::SectionInfo::sectionId_
SectionId sectionId_
Section id.
Definition: tags_int.hpp:216
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:2654
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:1025
Exiv2::Internal::Nikon3MakerNote::tagListIi
static const TagInfo * tagListIi()
Return read-only list of built-in ISO info tags.
Definition: nikonmn_int.cpp:825
Exiv2::Internal::Nikon3MakerNote::tagListLd3
static const TagInfo * tagListLd3()
Return read-only list of built-in Lens Data 3 tags.
Definition: nikonmn_int.cpp:1467
Exiv2::Internal::fnumber
float fnumber(float apertureValue)
Calculate F number from an APEX aperture value.
Definition: tags_int.cpp:2580
Exiv2::Internal::Nikon3MakerNote::tagListSi3
static const TagInfo * tagListSi3()
Return read-only list of built-in Shot Info D300 (a) tags.
Definition: nikonmn_int.cpp:1225