 |
Exiv2
|
Go to the documentation of this file.
27 #ifndef PENTAXMN_INT_HPP_
28 #define PENTAXMN_INT_HPP_
81 static const TagInfo tagInfo_[];
88 template <
int N, const TagDetails (&array)[N],
int count,
int ignoredcount,
int ignoredcountmax>
91 std::ios::fmtflags f( os.flags() );
92 if ((value.
count() != count && (value.
count() < (count + ignoredcount) || value.
count() > (count + ignoredcountmax))) || count > 4) {
96 for (
int c = 0; c < count; ++c) {
100 l += (value.
toLong(c) << ((count - c - 1) * 8));
108 << std::setw(2 * count) << std::setfill(
'0')
109 << std::hex << l << std::dec <<
")";
117 #define EXV_PRINT_COMBITAG(array, count, ignoredcount) printCombiTag<EXV_COUNTOF(array), array, count, ignoredcount, ignoredcount>
118 #define EXV_PRINT_COMBITAG_MULTI(array, count, ignoredcount, ignoredcountmax) printCombiTag<EXV_COUNTOF(array), array, count, ignoredcount, ignoredcountmax>
125 #endif // #ifndef PENTAXMN_INT_HPP_
Pentax MakerNote implemented according to the specification http://www.gvsoft.homedns....
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:188
static const TagInfo * tagList()
Return read-only list of built-in Pentaxfilm tags.
Definition: pentaxmn_int.cpp:1695
static std::ostream & printBracketing(std::ostream &os, const Value &value, const ExifData *)
Print Pentax bracketing.
Definition: pentaxmn_int.cpp:1111
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:581
Common interface for all types of values used with metadata.
Definition: value.hpp:60
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:1399
Type definitions for Exiv2 and related functionality.
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:137
TypeId typeId() const
Return the type identifier (Exif data format type).
Definition: value.hpp:113
static std::ostream & printTemperature(std::ostream &os, const Value &value, const ExifData *)
Print Pentax temperature.
Definition: pentaxmn_int.cpp:1095
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:576
EXIV2API ExifData::const_iterator focalLength(const ExifData &ed)
Return the focal length setting.
Definition: easyaccess.cpp:499
@ asciiString
Exif ASCII type, 8-bit byte.
Definition: types.hpp:132
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:134
static std::ostream & printFlashCompensation(std::ostream &os, const Value &value, const ExifData *)
Print Pentax flash compensation.
Definition: pentaxmn_int.cpp:1101
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:1086
std::ostream &(* PrintFct)(std::ostream &, const Value &, const ExifData *pExifData)
Type for a function pointer for functions interpreting the tag value.
Definition: tags.hpp:57
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:89
static std::ostream & printResolution(std::ostream &os, const Value &value, const ExifData *)
Print Pentax resolution.
Definition: pentaxmn_int.cpp:1026
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:1079
PrintFct fct_
Pretty-print function Comparison operator for find template.
Definition: canonmn_int.cpp:1080
@ unsignedByte
Exif BYTE type, 8-bit unsigned integer.
Definition: types.hpp:131
static std::ostream & printDate(std::ostream &os, const Value &value, const ExifData *)
Print Pentax date.
Definition: pentaxmn_int.cpp:1037
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:1304
std::ostream & printValue(std::ostream &os, const Value &value, const ExifData *)
Default print function, using the Value output operator.
Definition: tags_int.cpp:2162
@ signedByte
Exif SBYTE type, an 8-bit signed (twos-complement) integer.
Definition: types.hpp:136
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:148
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
const TagDetails pentaxWhiteBalance[]
WhiteBalance, tag 0x0019.
MakerNote for Pentaxfilm cameras.
Definition: pentaxmn_int.hpp:49
const char * label_
Translation of the tag value.
Definition: tags_int.hpp:190
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:508
A lens id and a pretty-print function for special treatment of the id.
Definition: canonmn_int.cpp:1078
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:133
std::ostream & resolveLens0x32c(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLens0x32c print lens in human format
Definition: pentaxmn_int.cpp:1218
const TagDetails pentaxLocation[]
Location, tag 0x0022.
const TagDetails pentaxISO[]
ISO, tag 0x0014.
const TagDetails pentaxMeteringMode[]
MeteringMode, tag 0x0017.
Makernote factory and registry, IFD makernote header, and camera vendor specific makernote implementa...
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:1075
Value interface and concrete subclasses.
std::ostream & resolveLensType(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLensType print lens in human format
Definition: pentaxmn_int.cpp:1367
static std::ostream & printFValue(std::ostream &os, const Value &value, const ExifData *)
Print Pentax F value.
Definition: pentaxmn_int.cpp:1066
@ signedLong
Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer.
Definition: types.hpp:139
const TagDetails pentaxSharpness[]
Sharpness, tag 0x0021.
Tag information.
Definition: tags.hpp:82
static std::ostream & printTime(std::ostream &os, const Value &value, const ExifData *)
Print Pentax time.
Definition: pentaxmn_int.cpp:1048
static std::ostream & printVersion(std::ostream &os, const Value &value, const ExifData *)
Print Pentax version.
Definition: pentaxmn_int.cpp:1015
#define EXV_PRINT_COMBITAG(array, count, ignoredcount)
Shortcut for the printCombiTag template which requires typing the array name only once.
Definition: pentaxmn_int.hpp:117
@ time
IPTC time type.
Definition: types.hpp:149
@ date
IPTC date type.
Definition: types.hpp:148
#define EXV_PRINT_COMBITAG_MULTI(array, count, ignoredcount, ignoredcountmax)
Shortcut for the printCombiTag template which requires typing the array name only once.
Definition: pentaxmn_int.hpp:119
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:1245
EXIV2API ExifData::const_iterator model(const ExifData &ed)
Return the camera model.
Definition: easyaccess.cpp:436
@ string
IPTC string type.
Definition: types.hpp:147
std::ostream & resolveLens0x319(std::ostream &os, const Value &value, const ExifData *metadata)
resolveLens0x319 print lens in human format
Definition: pentaxmn_int.cpp:1332
static std::ostream & printCompensation(std::ostream &os, const Value &value, const ExifData *)
Print Pentax compensation.
Definition: pentaxmn_int.cpp:1085
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:1160
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:1060
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434