| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- // Copyright 2015 Citra Emulator Project
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #pragma once
- #include "common/common_types.h"
- namespace Service {
- namespace CAM {
- enum class Port : u8 {
- None = 0,
- Cam1 = 1,
- Cam2 = 2,
- Both = Cam1 | Cam2
- };
- enum class CameraSelect : u8 {
- None = 0,
- Out1 = 1,
- In1 = 2,
- Out2 = 4,
- In1Out1 = Out1 | In1,
- Out1Out2 = Out1 | Out2,
- In1Out2 = In1 | Out2,
- All = Out1 | In1 | Out2
- };
- enum class Effect : u8 {
- None = 0,
- Mono = 1,
- Sepia = 2,
- Negative = 3,
- Negafilm = 4,
- Sepia01 = 5
- };
- enum class Context : u8 {
- None = 0,
- A = 1,
- B = 2,
- Both = A | B
- };
- enum class Flip : u8 {
- None = 0,
- Horizontal = 1,
- Vertical = 2,
- Reverse = 3
- };
- enum class Size : u8 {
- VGA = 0,
- QVGA = 1,
- QQVGA = 2,
- CIF = 3,
- QCIF = 4,
- DS_LCD = 5,
- DS_LCDx4 = 6,
- CTR_TOP_LCD = 7,
- CTR_BOTTOM_LCD = QVGA
- };
- enum class FrameRate : u8 {
- Rate_15 = 0,
- Rate_15_To_5 = 1,
- Rate_15_To_2 = 2,
- Rate_10 = 3,
- Rate_8_5 = 4,
- Rate_5 = 5,
- Rate_20 = 6,
- Rate_20_To_5 = 7,
- Rate_30 = 8,
- Rate_30_To_5 = 9,
- Rate_15_To_10 = 10,
- Rate_20_To_10 = 11,
- Rate_30_To_10 = 12
- };
- enum class ShutterSoundType : u8 {
- Normal = 0,
- Movie = 1,
- MovieEnd = 2
- };
- enum class WhiteBalance : u8 {
- BalanceAuto = 0,
- Balance3200K = 1,
- Balance4150K = 2,
- Balance5200K = 3,
- Balance6000K = 4,
- Balance7000K = 5,
- BalanceMax = 6,
- BalanceNormal = BalanceAuto,
- BalanceTungsten = Balance3200K,
- BalanceWhiteFluorescentLight = Balance4150K,
- BalanceDaylight = Balance5200K,
- BalanceCloudy = Balance6000K,
- BalanceHorizon = Balance6000K,
- BalanceShade = Balance7000K
- };
- enum class PhotoMode : u8 {
- Normal = 0,
- Portrait = 1,
- Landscape = 2,
- Nightview = 3,
- Letter0 = 4
- };
- enum class LensCorrection : u8 {
- Off = 0,
- On70 = 1,
- On90 = 2,
- Dark = Off,
- Normal = On70,
- Bright = On90
- };
- enum class Contrast : u8 {
- Pattern01 = 1,
- Pattern02 = 2,
- Pattern03 = 3,
- Pattern04 = 4,
- Pattern05 = 5,
- Pattern06 = 6,
- Pattern07 = 7,
- Pattern08 = 8,
- Pattern09 = 9,
- Pattern10 = 10,
- Pattern11 = 11,
- Low = Pattern05,
- Normal = Pattern06,
- High = Pattern07
- };
- enum class OutputFormat : u8 {
- YUV422 = 0,
- RGB565 = 1
- };
- struct PackageParameterCameraSelect {
- CameraSelect camera;
- s8 exposure;
- WhiteBalance white_balance;
- s8 sharpness;
- bool auto_exposure;
- bool auto_white_balance;
- FrameRate frame_rate;
- PhotoMode photo_mode;
- Contrast contrast;
- LensCorrection lens_correction;
- bool noise_filter;
- u8 padding;
- s16 auto_exposure_window_x;
- s16 auto_exposure_window_y;
- s16 auto_exposure_window_width;
- s16 auto_exposure_window_height;
- s16 auto_white_balance_window_x;
- s16 auto_white_balance_window_y;
- s16 auto_white_balance_window_width;
- s16 auto_white_balance_window_height;
- };
- static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong");
- /// Initialize CAM service(s)
- void Init();
- /// Shutdown CAM service(s)
- void Shutdown();
- } // namespace CAM
- } // namespace Service
|