summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/logging/backend.cpp1
-rw-r--r--src/common/logging/log.h1
-rw-r--r--src/core/hle/service/cam/cam.h156
3 files changed, 158 insertions, 0 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index 21a9ae8d0..d186ba8f8 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -44,6 +44,7 @@ namespace Log {
44 SUB(Service, LDR) \ 44 SUB(Service, LDR) \
45 SUB(Service, NIM) \ 45 SUB(Service, NIM) \
46 SUB(Service, NWM) \ 46 SUB(Service, NWM) \
47 SUB(Service, CAM) \
47 SUB(Service, CFG) \ 48 SUB(Service, CFG) \
48 SUB(Service, DSP) \ 49 SUB(Service, DSP) \
49 SUB(Service, HID) \ 50 SUB(Service, HID) \
diff --git a/src/common/logging/log.h b/src/common/logging/log.h
index 43f0c59e4..2d9323a7b 100644
--- a/src/common/logging/log.h
+++ b/src/common/logging/log.h
@@ -59,6 +59,7 @@ enum class Class : ClassType {
59 Service_LDR, ///< The LDR (3ds dll loader) service 59 Service_LDR, ///< The LDR (3ds dll loader) service
60 Service_NIM, ///< The NIM (Network interface manager) service 60 Service_NIM, ///< The NIM (Network interface manager) service
61 Service_NWM, ///< The NWM (Network wlan manager) service 61 Service_NWM, ///< The NWM (Network wlan manager) service
62 Service_CAM, ///< The CAM (Camera) service
62 Service_CFG, ///< The CFG (Configuration) service 63 Service_CFG, ///< The CFG (Configuration) service
63 Service_DSP, ///< The DSP (DSP control) service 64 Service_DSP, ///< The DSP (DSP control) service
64 Service_HID, ///< The HID (Human interface device) service 65 Service_HID, ///< The HID (Human interface device) service
diff --git a/src/core/hle/service/cam/cam.h b/src/core/hle/service/cam/cam.h
index edd524841..e9abdcb1f 100644
--- a/src/core/hle/service/cam/cam.h
+++ b/src/core/hle/service/cam/cam.h
@@ -10,6 +10,162 @@
10namespace Service { 10namespace Service {
11namespace CAM { 11namespace CAM {
12 12
13enum class Port : u8 {
14 None = 0,
15 Cam1 = 1,
16 Cam2 = 2,
17 Both = Cam1 | Cam2
18};
19
20enum class CameraSelect : u8 {
21 None = 0,
22 Out1 = 1,
23 In1 = 2,
24 Out2 = 4,
25 In1Out1 = Out1 | In1,
26 Out1Out2 = Out1 | Out2,
27 In1Out2 = In1 | Out2,
28 All = Out1 | In1 | Out2
29};
30
31enum class Effect : u8 {
32 None = 0,
33 Mono = 1,
34 Sepia = 2,
35 Negative = 3,
36 Negafilm = 4,
37 Sepia01 = 5
38};
39
40enum class Context : u8 {
41 None = 0,
42 A = 1,
43 B = 2,
44 Both = A | B
45};
46
47enum class Flip : u8 {
48 None = 0,
49 Horizontal = 1,
50 Vertical = 2,
51 Reverse = 3
52};
53
54enum class Size : u8 {
55 VGA = 0,
56 QVGA = 1,
57 QQVGA = 2,
58 CIF = 3,
59 QCIF = 4,
60 DS_LCD = 5,
61 DS_LCDx4 = 6,
62 CTR_TOP_LCD = 7,
63 CTR_BOTTOM_LCD = QVGA
64};
65
66enum class FrameRate : u8 {
67 Rate_15 = 0,
68 Rate_15_To_5 = 1,
69 Rate_15_To_2 = 2,
70 Rate_10 = 3,
71 Rate_8_5 = 4,
72 Rate_5 = 5,
73 Rate_20 = 6,
74 Rate_20_To_5 = 7,
75 Rate_30 = 8,
76 Rate_30_To_5 = 9,
77 Rate_15_To_10 = 10,
78 Rate_20_To_10 = 11,
79 Rate_30_To_10 = 12
80};
81
82enum class ShutterSoundType : u8 {
83 Normal = 0,
84 Movie = 1,
85 MovieEnd = 2
86};
87
88enum class WhiteBalance : u8 {
89 BalanceAuto = 0,
90 Balance3200K = 1,
91 Balance4150K = 2,
92 Balance5200K = 3,
93 Balance6000K = 4,
94 Balance7000K = 5,
95 BalanceMax = 6,
96 BalanceNormal = BalanceAuto,
97 BalanceTungsten = Balance3200K,
98 BalanceWhiteFluorescentLight = Balance4150K,
99 BalanceDaylight = Balance5200K,
100 BalanceCloudy = Balance6000K,
101 BalanceHorizon = Balance6000K,
102 BalanceShade = Balance7000K
103};
104
105enum class PhotoMode : u8 {
106 Normal = 0,
107 Portrait = 1,
108 Landscape = 2,
109 Nightview = 3,
110 Letter0 = 4
111};
112
113enum class LensCorrection : u8 {
114 Off = 0,
115 On70 = 1,
116 On90 = 2,
117 Dark = Off,
118 Normal = On70,
119 Bright = On90
120};
121
122enum class Contrast : u8 {
123 Pattern01 = 1,
124 Pattern02 = 2,
125 Pattern03 = 3,
126 Pattern04 = 4,
127 Pattern05 = 5,
128 Pattern06 = 6,
129 Pattern07 = 7,
130 Pattern08 = 8,
131 Pattern09 = 9,
132 Pattern10 = 10,
133 Pattern11 = 11,
134 Low = Pattern05,
135 Normal = Pattern06,
136 High = Pattern07
137};
138
139enum class OutputFormat : u8 {
140 YUV422 = 0,
141 RGB565 = 1
142};
143
144struct PackageParameterCameraSelect {
145 CameraSelect camera;
146 s8 exposure;
147 WhiteBalance white_balance;
148 s8 sharpness;
149 bool auto_exposure;
150 bool auto_white_balance;
151 FrameRate frame_rate;
152 PhotoMode photo_mode;
153 Contrast contrast;
154 LensCorrection lens_correction;
155 bool noise_filter;
156 u8 padding;
157 s16 auto_exposure_window_x;
158 s16 auto_exposure_window_y;
159 s16 auto_exposure_window_width;
160 s16 auto_exposure_window_height;
161 s16 auto_white_balance_window_x;
162 s16 auto_white_balance_window_y;
163 s16 auto_white_balance_window_width;
164 s16 auto_white_balance_window_height;
165};
166
167static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong");
168
13/// Initialize CAM service(s) 169/// Initialize CAM service(s)
14void Init(); 170void Init();
15 171