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  sony1MltCs7DId,
159  sony1MltCsOldId,
160  sony1MltCsNewId,
161  sony1MltCsA100Id,
162  lastId,
163  ignoreId = lastId
164  };
165 
170  enum SectionId { sectionIdNotSet,
171  imgStruct, recOffset, imgCharacter, otherTags, exifFormat,
172  exifVersion, imgConfig, userInfo, relatedFile, dateTime,
173  captureCond, gpsTags, iopTags, mpfTags, makerTags, dngTags, panaRaw,
174  tiffEp, tiffPm6, adobeOpi,
175  lastSectionId };
176 
178  struct SectionInfo {
180  const char* name_;
181  const char* desc_;
182  };
183 
188  struct TagDetails {
189  int64_t val_;
190  const char* label_;
191 
193  bool operator==(long key) const { return val_ == key; }
194  }; // struct TagDetails
195 
201  uint32_t mask_;
202  const char* label_;
203  }; // struct TagDetailsBitmask
204 
209  struct TagVocabulary {
210  const char* voc_;
211  const char* label_;
212 
220  bool operator==(const std::string& key) const;
221  }; // struct TagDetails
222 
227  template <int N, const TagDetails (&array)[N]>
228  std::ostream& printTag(std::ostream& os, const Value& value, const ExifData*)
229  {
230  const TagDetails* td = find(array, value.toLong());
231  if (td) {
232  os << exvGettext(td->label_);
233  }
234  else {
235  os << "(" << value << ")";
236  }
237  return os;
238  }
239 
241 #define EXV_PRINT_TAG(array) printTag<EXV_COUNTOF(array), array>
242 
247  template <int N, const TagDetailsBitmask (&array)[N]>
248  std::ostream& printTagBitmask(std::ostream& os, const Value& value, const ExifData*)
249  {
250  const uint32_t val = static_cast<uint32_t>(value.toLong());
251  if (val == 0 && N > 0) {
252  const TagDetailsBitmask* td = *(&array);
253  if (td->mask_ == 0) return os << exvGettext(td->label_);
254  }
255  bool sep = false;
256  for (int i = 0; i < N; ++i) {
257  // *& acrobatics is a workaround for a MSVC 7.1 bug
258  const TagDetailsBitmask* td = *(&array) + i;
259 
260  if (val & td->mask_) {
261  if (sep) {
262  os << ", " << exvGettext(td->label_);
263  }
264  else {
265  os << exvGettext(td->label_);
266  sep = true;
267  }
268  }
269  }
270  return os;
271  }
272 
274 #define EXV_PRINT_TAG_BITMASK(array) printTagBitmask<EXV_COUNTOF(array), array>
275 
280  template <int N, const TagVocabulary (&array)[N]>
281  std::ostream& printTagVocabulary(std::ostream& os, const Value& value, const ExifData*)
282  {
283  const TagVocabulary* td = find(array, value.toString());
284  if (td) {
285  os << exvGettext(td->label_);
286  }
287  else {
288  os << "(" << value << ")";
289  }
290  return os;
291  }
292 
294 #define EXV_PRINT_VOCABULARY(array) printTagVocabulary<EXV_COUNTOF(array), array>
295 
296 // *****************************************************************************
297 // free functions
298 
300  const TagInfo* ifdTagList();
302  const TagInfo* exifTagList();
304  const TagInfo* iopTagList();
306  const TagInfo* gpsTagList();
308  const TagInfo* mnTagList();
310  const TagInfo* mpfTagList();
311 
312  const GroupInfo* groupList();
313  const TagInfo* tagList(const std::string& groupName);
314 
318  const char* ifdName(IfdId ifdId);
320  const char* groupName(IfdId ifdId);
321 
323  bool isMakerIfd(IfdId ifdId);
325  bool isExifIfd(IfdId ifdId);
326 
328  void taglist(std::ostream& os, IfdId ifdId);
330  const TagInfo* tagList(IfdId ifdId);
332  const TagInfo* tagInfo(uint16_t tag, IfdId ifdId);
334  const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId);
342  uint16_t tagNumber(const std::string& tagName, IfdId ifdId);
343 
345 
346  std::ostream& printValue(std::ostream& os, const Value& value, const ExifData*);
349  std::ostream& printLong(std::ostream& os, const Value& value, const ExifData*);
351  std::ostream& printFloat(std::ostream& os, const Value& value, const ExifData*);
353  std::ostream& printDegrees(std::ostream& os, const Value& value, const ExifData*);
355  std::ostream& printUcs2(std::ostream& os, const Value& value, const ExifData*);
357  std::ostream& printExifUnit(std::ostream& os, const Value& value, const ExifData*);
359  std::ostream& print0x0000(std::ostream& os, const Value& value, const ExifData*);
361  std::ostream& print0x0005(std::ostream& os, const Value& value, const ExifData*);
363  std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*);
365  std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*);
367  std::ostream& print0x0009(std::ostream& os, const Value& value, const ExifData*);
369  std::ostream& print0x000a(std::ostream& os, const Value& value, const ExifData*);
371  std::ostream& print0x000c(std::ostream& os, const Value& value, const ExifData*);
373  std::ostream& print0x0019(std::ostream& os, const Value& value, const ExifData*);
375  std::ostream& print0x001e(std::ostream& os, const Value& value, const ExifData*);
377  std::ostream& print0x0112(std::ostream& os, const Value& value, const ExifData*);
379  std::ostream& print0x0213(std::ostream& os, const Value& value, const ExifData*);
381  std::ostream& print0x8298(std::ostream& os, const Value& value, const ExifData*);
383  std::ostream& print0x829a(std::ostream& os, const Value& value, const ExifData*);
385  std::ostream& print0x829d(std::ostream& os, const Value& value, const ExifData*);
387  std::ostream& print0x8822(std::ostream& os, const Value& value, const ExifData*);
389  std::ostream& print0x8827(std::ostream& os, const Value& value, const ExifData*);
391  std::ostream& print0x9101(std::ostream& os, const Value& value, const ExifData*);
393  std::ostream& print0x9201(std::ostream& os, const Value& value, const ExifData*);
395  std::ostream& print0x9202(std::ostream& os, const Value& value, const ExifData*);
397  std::ostream& print0x9204(std::ostream& os, const Value& value, const ExifData*);
399  std::ostream& print0x9206(std::ostream& os, const Value& value, const ExifData*);
401  std::ostream& print0x9207(std::ostream& os, const Value& value, const ExifData*);
403  std::ostream& print0x9208(std::ostream& os, const Value& value, const ExifData*);
405  std::ostream& print0x920a(std::ostream& os, const Value& value, const ExifData*);
407  std::ostream& print0x9286(std::ostream& os, const Value& value, const ExifData*);
409  std::ostream& print0xa001(std::ostream& os, const Value& value, const ExifData*);
411  std::ostream& print0xa217(std::ostream& os, const Value& value, const ExifData*);
413  std::ostream& print0xa300(std::ostream& os, const Value& value, const ExifData*);
415  std::ostream& print0xa301(std::ostream& os, const Value& value, const ExifData*);
417  std::ostream& print0xa401(std::ostream& os, const Value& value, const ExifData*);
419  std::ostream& print0xa402(std::ostream& os, const Value& value, const ExifData*);
421  std::ostream& print0xa403(std::ostream& os, const Value& value, const ExifData*);
423  std::ostream& print0xa404(std::ostream& os, const Value& value, const ExifData*);
425  std::ostream& print0xa405(std::ostream& os, const Value& value, const ExifData*);
427  std::ostream& print0xa406(std::ostream& os, const Value& value, const ExifData*);
429  std::ostream& print0xa407(std::ostream& os, const Value& value, const ExifData*);
431  std::ostream& print0xa409(std::ostream& os, const Value& value, const ExifData*);
433  std::ostream& print0xa40c(std::ostream& os, const Value& value, const ExifData*);
435  std::ostream& printGPSDirRef(std::ostream& os, const Value& value, const ExifData*);
437  std::ostream& printNormalSoftHard(std::ostream& os, const Value& value, const ExifData*);
439  std::ostream& printExifVersion(std::ostream& os, const Value& value, const ExifData*);
441  std::ostream& printXmpVersion(std::ostream& os, const Value& value, const ExifData*);
443  std::ostream& printXmpDate(std::ostream& os, const Value& value, const ExifData*);
445 
447  float fnumber(float apertureValue);
448 
450  URational exposureTime(float shutterSpeedValue);
451 
452 }} // namespace Internal, Exiv2
453 
454 #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:1354
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:2312
Exiv2::Internal::SectionInfo::name_
const char * name_
Section name (one word)
Definition: tags_int.hpp:180
Exiv2::Internal::TagDetails
Helper structure for lookup tables for translations of numeric tag values to human readable labels.
Definition: tags_int.hpp:188
Exiv2::Internal::print0x8827
std::ostream & print0x8827(std::ostream &os, const Value &value, const ExifData *)
Print ISO speed ratings.
Definition: tags_int.cpp:2467
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:1410
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:2348
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:1704
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:2849
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:2607
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:2098
Exiv2::Internal::print0x829a
std::ostream & print0x829a(std::ostream &os, const Value &value, const ExifData *)
Print the exposure time.
Definition: tags_int.cpp:2408
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::Nikon3MakerNote::tagListSi1
static const TagInfo * tagListSi1()
Return read-only list of built-in Shot Info D80 tags.
Definition: nikonmn_int.cpp:1146
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:450
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:2172
Exiv2::Internal::Nikon3MakerNote::tagListFl1
static const TagInfo * tagListFl1()
Return read-only list of built-in Flash Info 1 tags.
Definition: nikonmn_int.cpp:1093
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:2806
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:934
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:2829
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:2196
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:1328
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:2108
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: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:2503
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:2053
Exiv2::Internal::TagVocabulary
Helper structure for lookup tables for translations of controlled vocabulary strings to their descrip...
Definition: tags_int.hpp:209
Exiv2::Internal::print0x8822
std::ostream & print0x8822(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure program.
Definition: tags_int.cpp:2462
Exiv2::Internal::Nikon3MakerNote::tagListSi4
static const TagInfo * tagListSi4()
Return read-only list of built-in Shot Info D300 (b) tags.
Definition: nikonmn_int.cpp:1280
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:2034
Exiv2::Internal::print0x9286
std::ostream & print0x9286(std::ostream &os, const Value &value, const ExifData *)
Print the user comment.
Definition: tags_int.cpp:2631
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:2203
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:189
Exiv2::Internal::printDegrees
std::ostream & printDegrees(std::ostream &os, const Value &value, const ExifData *)
Print a longitude or latitude value.
Definition: tags_int.cpp:2210
Exiv2::Internal::print0x0019
std::ostream & print0x0019(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS destination distance ref.
Definition: tags_int.cpp:2363
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:2727
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:228
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:2858
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:2155
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:193
Exiv2::Internal::SectionId
SectionId
Section identifiers to logically group tags. A section consists of nothing more than a name,...
Definition: tags_int.hpp:170
Exiv2::Internal::TagDetailsBitmask
Helper structure for lookup tables for translations of bitmask values to human readable labels.
Definition: tags_int.hpp:200
Exiv2::Internal::print0x001e
std::ostream & print0x001e(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS differential correction.
Definition: tags_int.cpp:2368
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:2297
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:98
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:241
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:125
Exiv2::Internal::printGPSDirRef
std::ostream & printGPSDirRef(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS direction ref.
Definition: tags_int.cpp:2817
Exiv2::Internal::print0xa402
std::ostream & print0xa402(std::ostream &os, const Value &value, const ExifData *metadata)
Print exposure mode.
Definition: tags_int.cpp:2711
Exiv2::Internal::print0xa407
std::ostream & print0xa407(std::ostream &os, const Value &value, const ExifData *metadata)
Print gain control.
Definition: tags_int.cpp:2780
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:971
Exiv2::Internal::Nikon3MakerNote::tagListCb4
static const TagInfo * tagListCb4()
Return read-only list of built-in Color Balance 4 tags.
Definition: nikonmn_int.cpp:1393
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:949
Exiv2::Internal::print0x0112
std::ostream & print0x0112(std::ostream &os, const Value &value, const ExifData *metadata)
Print orientation.
Definition: tags_int.cpp:2373
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:2277
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:1609
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:1113
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:178
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:2162
Exiv2::Internal::FujiMakerNote::tagList
static const TagInfo * tagList()
Return read-only list of built-in Fujifilm tags.
Definition: fujimn_int.cpp:291
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:2539
Exiv2::Internal::print0x000c
std::ostream & print0x000c(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS speed ref.
Definition: tags_int.cpp:2358
Exiv2::Internal::CanonMakerNote::tagListTi
static const TagInfo * tagListTi()
Return read-only list of built-in Canon Time Info tags.
Definition: canonmn_int.cpp:1664
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:281
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:190
Exiv2::Internal::Nikon3MakerNote::tagListCb3
static const TagInfo * tagListCb3()
Return read-only list of built-in Color Balance 3 tags.
Definition: nikonmn_int.cpp:1380
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:2353
Exiv2::Internal::ifdName
const char * ifdName(IfdId ifdId)
Return the name of the IFD.
Definition: tags_int.cpp:2148
Exiv2::Internal::CanonMakerNote::tagListSi
static const TagInfo * tagListSi()
Return read-only list of built-in Canon Shot Info tags.
Definition: canonmn_int.cpp:1362
Exiv2::CommentValue::comment
std::string comment(const char *encoding=0) const
Return the comment (without a charset="..." prefix)
Definition: value.cpp:560
Exiv2::Internal::print0x9204
std::ostream & print0x9204(std::ostream &os, const Value &value, const ExifData *)
Print the exposure bias value.
Definition: tags_int.cpp:2518
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::CommentValue
Value for an Exif comment.
Definition: value.hpp:509
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:2060
Exiv2::Internal::Nikon3MakerNote::tagListCb2b
static const TagInfo * tagListCb2b()
Return read-only list of built-in Color Balance 2b tags.
Definition: nikonmn_int.cpp:1367
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:2185
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:2001
Exiv2::Internal::TagVocabulary::voc_
const char * voc_
Vocabulary string.
Definition: tags_int.hpp:210
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:201
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:1315
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:1133
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:1160
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:1757
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:2490
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:1931
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:2766
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:2472
Exiv2::Internal::CanonMakerNote::tagListFi
static const TagInfo * tagListFi()
Return read-only list of built-in Canon File Info tags.
Definition: canonmn_int.cpp:1543
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:2388
Exiv2::Internal::print0xa217
std::ostream & print0xa217(std::ostream &os, const Value &value, const ExifData *metadata)
Print sensing method.
Definition: tags_int.cpp:2666
Exiv2::Internal::PanasonicMakerNote::tagListRaw
static const TagInfo * tagListRaw()
Return read-only list of built-in Panasonic RAW image tags (IFD0)
Definition: panasonicmn_int.cpp:761
Exiv2::Internal::ifdTagList
const TagInfo * ifdTagList()
Return read-only list of built-in IFD0/1 tags.
Definition: tags_int.cpp:1428
Exiv2::Internal::print0xa401
std::ostream & print0xa401(std::ostream &os, const Value &value, const ExifData *metadata)
Print custom rendered.
Definition: tags_int.cpp:2699
Exiv2::Internal::print0xa409
std::ostream & print0xa409(std::ostream &os, const Value &value, const ExifData *metadata)
Print saturation.
Definition: tags_int.cpp:2792
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:2383
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:248
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:2431
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:2115
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:1271
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:1384
Exiv2::Internal::CanonMakerNote::tagListPi
static const TagInfo * tagListPi()
Return read-only list of built-in Canon Picture Info tags.
Definition: canonmn_int.cpp:1451
Exiv2::Internal::print0x0005
std::ostream & print0x0005(std::ostream &os, const Value &value, const ExifData *metadata)
Print GPS altitude ref.
Definition: tags_int.cpp:2292
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:1341
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:910
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:211
Exiv2::Internal::printExifUnit
std::ostream & printExifUnit(std::ostream &os, const Value &value, const ExifData *metadata)
Print function for Exif units.
Definition: tags_int.cpp:2272
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:2678
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:2577
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:2722
Exiv2::Internal::SectionInfo::desc_
const char * desc_
Section description.
Definition: tags_int.hpp:181
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:2612
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:202
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:2650
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:2140
Exiv2::Internal::print0xa405
std::ostream & print0xa405(std::ostream &os, const Value &value, const ExifData *)
Print 35mm equivalent focal length.
Definition: tags_int.cpp:2745
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:2834
Exiv2::Internal::Nikon3MakerNote::tagListLd2
static const TagInfo * tagListLd2()
Return read-only list of built-in Lens Data 2 tags.
Definition: nikonmn_int.cpp:1437
Exiv2::Internal::print0xa301
std::ostream & print0xa301(std::ostream &os, const Value &value, const ExifData *metadata)
Print scene type.
Definition: tags_int.cpp:2688
Exiv2::Internal::isExifIfd
bool isExifIfd(IfdId ifdId)
Return true if ifdId is an Exif IFD id.
Definition: tags_int.cpp:2070
Exiv2::Internal::Nikon3MakerNote::tagListLd1
static const TagInfo * tagListLd1()
Return read-only list of built-in Lens Data 1 tags.
Definition: nikonmn_int.cpp:1412
Exiv2::Internal::SectionInfo::sectionId_
SectionId sectionId_
Section id.
Definition: tags_int.hpp:179
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:2246
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:1462
Exiv2::Internal::fnumber
float fnumber(float apertureValue)
Calculate F number from an APEX aperture value.
Definition: tags_int.cpp:2167
Exiv2::Internal::Nikon3MakerNote::tagListSi3
static const TagInfo * tagListSi3()
Return read-only list of built-in Shot Info D300 (a) tags.
Definition: nikonmn_int.cpp:1220