 |
Exiv2
|
20 #ifndef PENTAXMN_INT_HPP_
21 #define PENTAXMN_INT_HPP_
26 #include "tags_int.hpp"
74 static const TagInfo tagInfo_[];
81 template <
int N, const TagDetails (&array)[N],
int count,
int ignoredcount,
int ignoredcountmax>
84 std::ios::fmtflags f( os.flags() );
85 if ((value.
count() != count && (value.
count() < (count + ignoredcount) || value.
count() > (count + ignoredcountmax))) || count > 4) {
89 for (
int c = 0; c < count; ++c) {
93 l += (value.
toLong(c) << ((count - c - 1) * 8));
101 << std::setw(2 * count) << std::setfill(
'0')
102 << std::hex << l << std::dec <<
")";
110 #define EXV_PRINT_COMBITAG(array, count, ignoredcount) printCombiTag<EXV_COUNTOF(array), array, count, ignoredcount, ignoredcount>
111 #define EXV_PRINT_COMBITAG_MULTI(array, count, ignoredcount, ignoredcountmax) printCombiTag<EXV_COUNTOF(array), array, count, ignoredcount, ignoredcountmax>
118 #endif // #ifndef PENTAXMN_INT_HPP_
const TagDetails pentaxFlash[]
Flash, tag 0x000c.
Helper structure for lookup tables for translations of numeric tag values to human readable labels.
Definition: tags_int.hpp:225
static const TagInfo * tagList()
Return read-only list of built-in Pentaxfilm tags.
Definition: pentaxmn_int.cpp:1703
static std::ostream & printBracketing(std::ostream &os, const Value &value, const ExifData *)
Print Pentax bracketing.
Definition: pentaxmn_int.cpp:1110
const TagDetails pentaxFocus[]
Focus, tag 0x000d.
const TagDetails pentaxDynamicRangeExpansion[]
DynamicRangeExpansion, tag 0x0069.
Encoding and decoding of Exif data.
virtual long size() const =0
Return the size of the value in bytes.
iterator findKey(const ExifKey &key)
Find the first Exifdatum with the given key, return an iterator to it.
Definition: exif.cpp:605
Common interface for all types of values used with metadata.
Definition: value.hpp:51
std::ostream & printLensType(std::ostream &os, const Value &value, const ExifData *metadata)
A lens id and a pretty-print function for special treatment of the id.
Definition: pentaxmn_int.cpp:1407
ExifMetadata::const_iterator const_iterator
ExifMetadata const iterator type.
Definition: exif.hpp:439
@ undefined
Exif UNDEFINED type, an 8-bit byte that may contain anything.
Definition: types.hpp:126
TypeId typeId() const
Return the type identifier (Exif data format type).
Definition: value.hpp:104
static std::ostream & printTemperature(std::ostream &os, const Value &value, const ExifData *)
Print Pentax temperature.
Definition: pentaxmn_int.cpp:1094
const TagDetails pentaxContrast[]
Contrast, tag 0x0020.
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
EXIV2API ExifData::const_iterator focalLength(const ExifData &ed)
Return the focal length setting.
Definition: easyaccess.cpp:571
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:121
const TagDetails pentaxSize[]
Size, tag 0x0009.
const TagDetails pentaxWhiteBalanceMode[]
WhiteBalance, tag 0x001a.
const TagDetails pentaxHighISONoiseReduction[]
HighISONoiseReduction, tag 0x0071.
const TagDetails pentaxDriveMode[]
DriveMode, combi-tag 0x0034 (4 bytes)
const TagDetails pentaxSaturation[]
Saturation, tag 0x001f.
virtual long count() const =0
Return the number of components of the value.
iterator end()
End of the metadata.
Definition: exif.hpp:492
const TagDetails pentaxLensType[]
LensType, combi-tag 0x003f (2 unsigned long)
@ unsignedLong
Exif LONG type, 32-bit (4-byte) unsigned integer.
Definition: types.hpp:123
static std::ostream & printFlashCompensation(std::ostream &os, const Value &value, const ExifData *)
Print Pentax flash compensation.
Definition: pentaxmn_int.cpp:1100
Definition: pentaxmn_int.cpp:1217
const TagDetails pentaxImageProcessing[]
ImageProcessing, combi-tag 0x0032 (4 bytes)
const TagDetails pentaxYesNo[]
Generic for Yes/No switches.
const TagDetails pentaxAFPoint[]
AFPoint, tag 0x000e.
const LensIdFct lensIdFct[]
List of lens ids which require special treatment with the medicine.
Definition: canonmn_int.cpp:2092
std::ostream &(* PrintFct)(std::ostream &, const Value &, const ExifData *pExifData)
Type for a function pointer for functions interpreting the tag value.
Definition: tags.hpp:49
const TagDetails pentaxCities[]
City names, tags 0x0023 and 0x0024.
std::ostream & printCombiTag(std::ostream &os, const Value &value, const ExifData *metadata)
Print function to translate Pentax "combi-values" to a description by looking up a reference table.
Definition: pentaxmn_int.hpp:82
static std::ostream & printResolution(std::ostream &os, const Value &value, const ExifData *)
Print Pentax resolution.
Definition: pentaxmn_int.cpp:1025
const TagDetails pentaxModel[]
CameraModel, tag 0x0005.
const TagDetails pentaxQuality[]
Quality, tag 0x0008.
const TagDetails pentaxAFPointFocus[]
AFPointInFocus, tag 0x000f.
long id_
Lens id.
Definition: canonmn_int.cpp:2085
PrintFct fct_
Pretty-print function Comparison operator for find template.
Definition: canonmn_int.cpp:2086
@ unsignedByte
Exif BYTE type, 8-bit unsigned integer.
Definition: types.hpp:120
static std::ostream & printDate(std::ostream &os, const Value &value, const ExifData *)
Print Pentax date.
Definition: pentaxmn_int.cpp:1036
const TagDetails pentaxImageTone[]
ImageTone, tag 0x004f.
std::ostream & resolveLens0x8ff(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLens0x8ff print lens in human format
Definition: pentaxmn_int.cpp:1318
std::ostream & printValue(std::ostream &os, const Value &value, const ExifData *)
Default print function, using the Value output operator.
Definition: tags_int.cpp:2547
@ signedByte
Exif SBYTE type, an 8-bit signed (twos-complement) integer.
Definition: types.hpp:125
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:140
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
const TagDetails pentaxWhiteBalance[]
WhiteBalance, tag 0x0019.
MakerNote for Pentaxfilm cameras.
Definition: pentaxmn_int.hpp:42
const char * label_
Translation of the tag value.
Definition: tags_int.hpp:227
const TagDetails pentaxPictureMode[]
PictureMode, combi-tag 0x0033 (3 bytes)
const T * find(T(&src)[N], const K &key)
Find an element that matches key in the array src.
Definition: types.hpp:497
A lens id and a pretty-print function for special treatment of the id.
Definition: canonmn_int.cpp:2084
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...
@ unsignedShort
Exif SHORT type, 16-bit (2-byte) unsigned integer.
Definition: types.hpp:122
std::ostream & resolveLens0x32c(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLens0x32c print lens in human format
Definition: pentaxmn_int.cpp:1236
const TagDetails pentaxLocation[]
Location, tag 0x0022.
const TagDetails pentaxISO[]
ISO, tag 0x0014.
const TagDetails pentaxMeteringMode[]
MeteringMode, tag 0x0017.
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
static std::ostream & printFocalLength(std::ostream &os, const Value &value, const ExifData *)
Print Pentax focal length.
Definition: pentaxmn_int.cpp:1074
std::ostream & resolveLensType(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLensType print lens in human format
Definition: pentaxmn_int.cpp:1375
static std::ostream & printFValue(std::ostream &os, const Value &value, const ExifData *)
Print Pentax F value.
Definition: pentaxmn_int.cpp:1065
@ signedLong
Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer.
Definition: types.hpp:128
const TagDetails pentaxSharpness[]
Sharpness, tag 0x0021.
Tag information.
Definition: tags.hpp:74
static std::ostream & printTime(std::ostream &os, const Value &value, const ExifData *)
Print Pentax time.
Definition: pentaxmn_int.cpp:1047
static std::ostream & printVersion(std::ostream &os, const Value &value, const ExifData *)
Print Pentax version.
Definition: pentaxmn_int.cpp:1014
@ time
IPTC time type.
Definition: types.hpp:138
@ date
IPTC date type.
Definition: types.hpp:137
std::string readExiv2Config(const std::string §ion, const std::string &value, const std::string &def)
Read value from Exiv2 configuration file.
Definition: makernote_int.cpp:113
const TagDetails pentaxColorSpace[]
ColorSpace, tag 0x0037.
std::ostream & resolveLens0x3ff(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLens0x3ff print lens in human format
Definition: pentaxmn_int.cpp:1263
EXIV2API ExifData::const_iterator model(const ExifData &ed)
Return the camera model.
Definition: easyaccess.cpp:445
std::ostream & resolveLens0x319(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLens0x319 print lens in human format
Definition: pentaxmn_int.cpp:1343
static std::ostream & printCompensation(std::ostream &os, const Value &value, const ExifData *)
Print Pentax compensation.
Definition: pentaxmn_int.cpp:1084
const TagDetails pentaxShootingMode[]
ShootingMode, tag 0x0001.
static std::ostream & printShutterCount(std::ostream &os, const Value &value, const ExifData *)
Print Pentax shutter count.
Definition: pentaxmn_int.cpp:1159
const TagDetails pentaxOffOn[]
Generic for Off/On switches.
static std::ostream & printExposure(std::ostream &os, const Value &value, const ExifData *)
Print Pentax exposure.
Definition: pentaxmn_int.cpp:1059
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434