diff options
| author | Subv <subv2112@gmail.com> | 2015-11-23 17:17:28 -0500 | 
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2015-11-23 17:17:28 -0500 | 
| commit | 434ae89a6a9d6c5ea2d2ba4a5dfb39457e15cb5e (patch) | |
| tree | c3ee81c50fddd9290d044bce322d2b3d8fd39287 | |
| parent | 78b0d9c8b0279cc107c4b82e78e1e6b82a6edcb3 (diff) | |
Services/Cam: Added new log type and camera enums from 3dbrew.
Followup to #1102
Original author @mailwl
| -rw-r--r-- | src/common/logging/backend.cpp | 1 | ||||
| -rw-r--r-- | src/common/logging/log.h | 1 | ||||
| -rw-r--r-- | src/core/hle/service/cam/cam.h | 156 | 
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 {          SUB(Service, LDR) \          SUB(Service, NIM) \          SUB(Service, NWM) \ +        SUB(Service, CAM) \          SUB(Service, CFG) \          SUB(Service, DSP) \          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 {      Service_LDR,                ///< The LDR (3ds dll loader) service      Service_NIM,                ///< The NIM (Network interface manager) service      Service_NWM,                ///< The NWM (Network wlan manager) service +    Service_CAM,                ///< The CAM (Camera) service      Service_CFG,                ///< The CFG (Configuration) service      Service_DSP,                ///< The DSP (DSP control) service      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 @@  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(); | 
