-
Notifications
You must be signed in to change notification settings - Fork 318
Expand file tree
/
Copy pathsonymn_int.hpp
More file actions
158 lines (147 loc) · 7.47 KB
/
sonymn_int.hpp
File metadata and controls
158 lines (147 loc) · 7.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef SONYMN_INT_HPP_
#define SONYMN_INT_HPP_
// *****************************************************************************
// included header files
#include "tifffwd_int.hpp"
#include "types.hpp"
#include <cstddef>
#include <cstdint>
#include <iosfwd>
// *****************************************************************************
// namespace extensions
namespace Exiv2 {
class ExifData;
class Value;
struct TagInfo;
namespace Internal {
// *****************************************************************************
// class definitions
//! MakerNote for Sony cameras
class SonyMakerNote {
public:
//! Return read-only list of built-in Sony tags
static constexpr auto tagList() {
return tagInfo_;
}
//! Return read-only list of built-in Sony Standard Camera Settings tags
static constexpr auto tagListCs() {
return tagInfoCs_;
}
//! Return read-only list of built-in Sony Standard Camera Settings version 2 tags
static constexpr auto tagListCs2() {
return tagInfoCs2_;
}
//! Return read-only list of built-in Sony FocusPosition tags
static constexpr auto tagListFp() {
return tagInfoFp_;
}
//! Return read-only list of built-in Sony Misc1 tags (Tag 9403)
static constexpr auto tagListSonyMisc1() {
return tagInfoSonyMisc1_;
}
//! Return read-only list of built-in Sony Misc2b tags (Tag 9404)
static constexpr auto tagListSonyMisc2b() {
return tagInfoSonyMisc2b_;
}
//! Return read-only list of built-in Sony Misc3c tags (Tag 9400)
static constexpr auto tagListSonyMisc3c() {
return tagInfoSonyMisc3c_;
}
//! Return read-only list of built-in Sony SInfo1 tags (Tag 3000)
static constexpr auto tagListSonySInfo1() {
return tagInfoSonySInfo1_;
}
//! Return read-only list of built-in Sony 2010e tags (Tag 2010)
static constexpr auto tagList2010e() {
return tagInfo2010e_;
}
//! @name Print functions for Sony %MakerNote tags
//@{
//! Print Sony white balance fine tune values
static std::ostream& printWhiteBalanceFineTune(std::ostream&, const Value&, const ExifData*);
//! Print Sony multi-burst mode values
static std::ostream& printMultiBurstMode(std::ostream&, const Value&, const ExifData*);
//! Print Sony multi-burst size values
static std::ostream& printMultiBurstSize(std::ostream&, const Value&, const ExifData*);
//! Print Sony HDR values
static std::ostream& printAutoHDRStd(std::ostream&, const Value&, const ExifData*);
//! Print Sony white balance shift amber/blue or green/magenta values
static std::ostream& printWBShiftABGM(std::ostream&, const Value&, const ExifData*);
//! Print Sony focus mode 2 values
static std::ostream& printFocusMode2(std::ostream&, const Value&, const ExifData*);
//! Print Sony auto-focus area mode Settings values
static std::ostream& printAFAreaModeSetting(std::ostream&, const Value&, const ExifData*);
//! Print Sony flexible spot position values
static std::ostream& printFlexibleSpotPosition(std::ostream&, const Value&, const ExifData*);
//! Print Sony auto-focus point selected values
static std::ostream& printAFPointSelected(std::ostream&, const Value&, const ExifData*);
//! Print Sony auto-focus points used values
static std::ostream& printAFPointsUsed(std::ostream&, const Value&, const ExifData*);
//! Print Sony auto-focus tracking values
static std::ostream& printAFTracking(std::ostream&, const Value&, const ExifData*);
//! Print Sony focal plane auto-focus points used values
static std::ostream& printFocalPlaneAFPointsUsed(std::ostream&, const Value&, const ExifData*);
//! Print Sony white balance shift amber/blue and green/magenta precise values
static std::ostream& printWBShiftABGMPrecise(std::ostream&, const Value&, const ExifData*);
//! Print Sony variable low pass filter values
static std::ostream& printExposureStandardAdjustment(std::ostream&, const Value&, const ExifData*);
//! Print Sony pixel shift information values
static std::ostream& printPixelShiftInfo(std::ostream&, const Value&, const ExifData*);
//! Print Sony focus frame size values
static std::ostream& printFocusFrameSize(std::ostream&, const Value&, const ExifData*);
//! Print Sony color temperature values
static std::ostream& printColorTemperature(std::ostream&, const Value&, const ExifData*);
//! Print Sony color compensation filter values
static std::ostream& printColorCompensationFilter(std::ostream&, const Value&, const ExifData*);
//! Print Sony lens specification values
static std::ostream& printLensSpec(std::ostream&, const Value&, const ExifData*);
//! Print Sony focus mode values
static std::ostream& printFocusMode(std::ostream&, const Value&, const ExifData*);
//! Print Sony full and preview image size values
static std::ostream& printImageSize(std::ostream&, const Value&, const ExifData*);
//! Print Sony auto-focus area mode values
static std::ostream& printAFMode(std::ostream&, const Value&, const ExifData*);
//! Print Sony focus mode 3 values
static std::ostream& printFocusMode3(std::ostream&, const Value&, const ExifData*);
//! Print Sony high ISO noise reduction 2 values
static std::ostream& printHighISONoiseReduction2(std::ostream&, const Value&, const ExifData*);
//! Print Sony SonyMisc1 CameraTemperature values (in degrees Celsius)
static std::ostream& printSonyMisc1CameraTemperature(std::ostream&, const Value&, const ExifData*);
//! Print Sony2Fp Focus Mode value
static std::ostream& printSony2FpFocusMode(std::ostream&, const Value&, const ExifData*);
//! Print Sony2Fp Focus Position 2 value
static std::ostream& printSony2FpFocusPosition2(std::ostream&, const Value&, const ExifData* metadata);
//! Print Sony 2Fp AmbientTemperature values (in degrees Celsius)
static std::ostream& printSony2FpAmbientTemperature(std::ostream&, const Value&, const ExifData*);
//! Print SonyMisc2b Lens Zoom Position value
static std::ostream& printSonyMisc2bLensZoomPosition(std::ostream&, const Value&, const ExifData* metadata);
//! Print SonyMisc2b Focus Position 2 value
static std::ostream& printSonyMisc2bFocusPosition2(std::ostream&, const Value&, const ExifData* metadata);
//! Print SonyMisc3c shot number since power up value
static std::ostream& printSonyMisc3cShotNumberSincePowerUp(std::ostream&, const Value&, const ExifData*);
//! Print SonyMisc3c sequence number
static std::ostream& printSonyMisc3cSequenceNumber(std::ostream&, const Value&, const ExifData*);
//! Print SonyMisc3c Sony image height value
static std::ostream& printSonyMisc3cSonyImageHeight(std::ostream&, const Value&, const ExifData* metadata);
//! Print SonyMisc3c model release year value
static std::ostream& printSonyMisc3cModelReleaseYear(std::ostream&, const Value&, const ExifData* metadata);
//! Print SonyMisc3c quality 2 value
static std::ostream& printSonyMisc3cQuality2(std::ostream&, const Value&, const ExifData* metadata);
private:
//! Tag information
static const TagInfo tagInfo_[];
static const TagInfo tagInfoCs_[];
static const TagInfo tagInfoCs2_[];
static const TagInfo tagInfoFp_[];
static const TagInfo tagInfoSonyMisc1_[];
static const TagInfo tagInfoSonyMisc2b_[];
static const TagInfo tagInfoSonyMisc3c_[];
static const TagInfo tagInfoSonySInfo1_[];
static const TagInfo tagInfo2010e_[];
}; // class SonyMakerNote
DataBuf sonyTagDecipher(uint16_t, const byte*, size_t, TiffComponent*);
DataBuf sonyTagEncipher(uint16_t, const byte*, size_t, TiffComponent*);
} // namespace Internal
} // namespace Exiv2
#endif // #ifndef SONYMN_INT_HPP_