Camera Services

Camera Services

cam:c (PORT_REG) #

Same as cam:u

cam:s (PORT_CAL) #

Same as cam:u

cam:q (PORT_QTM) #

This was added with New3DS.

Command HeaderDescription
0x00010040StartCapture
0x00020040StopCapture
0x0003004?IsBusy
0x00040040ClearBuffer
0x0005004?GetVsyncInterruptEvent
0x0006004?GetBufferErrorInterruptEvent
0x0007????StartRecieving
0x00080040IsFinishedRecieving
0x00090100SetTransferLines
0x000A008?GetMaxLines
0x000B0100SetTransferBytes
0x000C004?GetTransferBytes
0x000D008?GetMaxBytes
0x000E0080SetTrimming
0x000F004?IsTrimming
0x00100140SetTrimmingParams
0x0011????GetTrimmingParams
0x00120140SetTrimmingParamsCenter
0x00130040Activate
0x00140080SwitchContext
0x00150080SetExposure
0x00160080SetWhiteBalance
0x00170080SetSharpness
0x00180080SetAutoExposure
0x0019004?IsAutoExposure
0x001A0080SetAutoWhiteBalance
0x001B004?IsAutoWhiteBalance
0x001C00C0FlipImage
0x001D020?SetDetailSize
0x001E00C0SetSize
0x001F0080SetFrameRate
0x00200080SetPhotoMode
0x002100C0SetEffect
0x00220080SetContrast
0x00230080SetLensCorrection
0x002400C0SetOutputFormat
0x0025014?SetAutoExposureWindow
0x0026014?SetAutoWhiteBalanceWindow
0x00270080SetNoiseFilter
0x00280080SyncronizeVsyncTiming
0x0029????GetLatestVsyncTiming
0x002A????GetStereoCallibrationData
0x002B????SetPackageParameterWithoutContext
0x002C0080SetPackageParameterWithContext
0x002D????SetPackageParameterWithContextDetail
0x002E???GetSuitableY2RStandardCoeffecient
0x002FPlayShutterSoundWithWave
0x0030????GetShutterSound
0x0031000?DriverInitialize
0x0032000?DriverFinalize
0x0033000?GetActivatedCamera
0x0034000?GetSleepCamera
0x00350040SetSleepCamera
0x00360040SetBrightnessSyncronization
0x0037004????
0x0038000????
0x0039004????
0x003A0080???
0x003B004????
0x003C0080???
0x003D000????
0x003E0000???

Most commands are same as cam:u, although, with different command headers since some commands which are available in cam:u do not exist in cam:q

cam:u (PORT_USER) #

Command HeaderDescription
0x00010040StartCapture
0x00020040StopCapture
0x00030040IsBusy
0x00040040ClearBuffer
0x00050040GetVsyncInterruptEvent
0x00060040GetBufferErrorInterruptEvent
0x00070102SetReceiving
0x00080040IsFinishedReceiving
0x00090100SetTransferLines
0x000A0080GetMaxLines
0x000B0100SetTransferBytes
0x000C0040GetTransferBytes
0x000D0080GetMaxBytes
0x000E0080SetTrimming
0x000F0040IsTrimming
0x00100140SetTrimmingParams
0x00110040GetTrimmingParams
0x00120140SetTrimmingParamsCenter
0x00130040Activate
0x00140080SwitchContext
0x00150080SetExposure
0x00160080SetWhiteBalance
0x00170080SetWhiteBalanceWithoutBaseUp
0x00180080SetSharpness
0x00190080SetAutoExposure
0x001A0040IsAutoExposure
0x001B0080SetAutoWhiteBalance
0x001C0040IsAutoWhiteBalance
0x001D00C0FlipImage
0x001E0200SetDetailSize
0x001F00C0SetSize
0x00200080SetFrameRate
0x00210080SetPhotoMode
0x002200C0SetEffect
0x00230080SetContrast
0x00240080SetLensCorrection
0x002500C0SetOutputFormat
0x00260140SetAutoExposureWindow
0x00270140SetAutoWhiteBalanceWindow
0x00280080SetNoiseFilter
0x00290080SynchronizeVsyncTiming
0x002A0080GetLatestVsyncTiming
0x002B0000GetStereoCameraCalibrationData
0x002C0400SetStereoCameraCalibrationData
0x002D00C0WriteRegisterI2c
0x002E00C0WriteMcuVariableI2c
0x002F0080ReadRegisterI2cExclusive
0x00300080ReadMcuVariableI2cExclusive
0x00310180SetImageQualityCalibrationData
0x00320000GetImageQualityCalibrationData
0x003302C0SetPackageParameterWithoutContext
0x00340140SetPackageParameterWithContext
0x003501C0SetPackageParameterWithContextDetail
0x00360000GetSuitableY2rStandardCoefficient
0x00370202PlayShutterSoundWithWave
0x00380040PlayShutterSound
0x00390000DriverInitialize
0x003A0000DriverFinalize
0x003B0000GetActivatedCamera
0x003C0000GetSleepCamera
0x003D0040SetSleepCamera
0x003E0040SetBrightnessSynchronization
0x003F0040Stubbed, always returns 0
0x004000C0???
0x00410040Stubbed, returns D8A053EA if flag is not 1
0x00420040???
0x00430000Stubbed, returns D8A053EA if flag is not 1
0x00440000Stubbed, returns D8A053EA if flag is not 1

Port #

EnumValue
PORT_NONE0x0
PORT_CAM10x1 << 0x0
PORT_CAM20x1 << 0x1
PORT_BOTHPORT_CAM1 | PORT_CAM2

CameraSelect #

EnumValue
SELECT_NONE0x0
SELECT_OUT10x1 << 0x0
SELECT_IN10x1 << 0x1
SELECT_OUT20x1 << 0x2
SELECT_IN1_OUT1SELECT_OUT1 | SELECT_IN1
SELECT_OUT1_OUT2SELECT_OUT1 | SELECT_OUT2
SELECT_IN1_OUT2SELECT_IN1 | SELECT_OUT2
SELECT_ALLSELECT_OUT1 | SELECT_IN1 | SELECT_OUT2

Context #

EnumValue
CONTEXT_NONE0x0
CONTEXT_A0x1 << 0x0
CONTEXT_B0x1 << 0x1
CONTEXT_BOTHCONTEXT_A | CONTEXT_B

Flip #

EnumValue
FLIP_NONE0x0
FLIP_HORIZONTAL0x1
FLIP_VERTICAL0x2
FLIP_REVERSE0x3

Size #

EnumValue
SIZE_VGA0x0
SIZE_QVGA0x1
SIZE_QQVGA0x2
SIZE_CIF0x3
SIZE_QCIF0x4
SIZE_DS_LCD0x5
SIZE_DS_LCDx40x6
SIZE_CTR_TOP_LCD0x7
SIZE_CTR_BOTTOM_LCDSIZE_QVGA

FrameRate #

EnumValue
FRAME_RATE_150x0
FRAME_RATE_15_TO_50x1
FRAME_RATE_15_TO_20x2
FRAME_RATE_100x3
FRAME_RATE_8_50x4
FRAME_RATE_50x5
FRAME_RATE_200x6
FRAME_RATE_20_TO_50x7
FRAME_RATE_300x8
FRAME_RATE_30_TO_50x9
FRAME_RATE_15_TO_100xA
FRAME_RATE_20_TO_100xB
FRAME_RATE_30_TO_100xC

WhiteBalance #

EnumValue
WHITE_BALANCE_AUTO0x0
WHITE_BALANCE_3200K0x1
WHITE_BALANCE_4150K0x2
WHITE_BALANCE_5200K0x3
WHITE_BALANCE_6000K0x4
WHITE_BALANCE_7000K0x5
WHITE_BALANCE_MAX0x6
WHITE_BALANCE_NORMALWHITE_BALANCE_AUTO
WHITE_BALANCE_TUNGSTENWHITE_BALANCE_3200K
WHITE_BALANCE_WHITE_FLUORESCENT_LIGHTWHITE_BALANCE_4150K
WHITE_BALANCE_DAYLIGHTWHITE_BALANCE_5200K
WHITE_BALANCE_CLOUDYWHITE_BALANCE_6000K
WHITE_BALANCE_HORIZONWHITE_BALANCE_6000K
WHITE_BALANCE_SHADEWHITE_BALANCE_7000K

PhotoMode #

EnumValue
PHOTO_MODE_NORMAL0x0
PHOTO_MODE_PORTRAIT0x1
PHOTO_MODE_LANDSCAPE0x2
PHOTO_MODE_NIGHTVIEW0x3
PHOTO_MODE_LETTER0x4

Effect #

EnumValue
EFFECT_NONE0x0
EFFECT_MONO0x1
EFFECT_SEPIA0x2
EFFECT_NEGATIVE0x3
EFFECT_NEGAFILM0x4
EFFECT_SEPIA010x5

Contrast #

EnumValue
CONTRAST_PATTERN_010x0
CONTRAST_PATTERN_020x1
CONTRAST_PATTERN_030x2
CONTRAST_PATTERN_040x3
CONTRAST_PATTERN_050x4
CONTRAST_PATTERN_060x5
CONTRAST_PATTERN_070x6
CONTRAST_PATTERN_080x7
CONTRAST_PATTERN_090x8
CONTRAST_PATTERN_100x9
CONTRAST_PATTERN_110xA
CONTRAST_LOWCONTRAST_PATTERN_05
CONTRAST_NORMALCONTRAST_PATTERN_06
CONTRAST_HIGHCONTRAST_PATTERN_07

LensCorrection #

EnumValue
LENS_CORRECTION_OFF0x0
LENS_CORRECTION_ON_700x1
LENS_CORRECTION_ON_900x2
LENS_CORRECTION_DARKLENS_CORRECTION_OFF
LENS_CORRECTION_NORMALLENS_CORRECTION_ON_70
LENS_CORRECTION_BRIGHTLENS_CORRECTION_ON_90

OutputFormat #

EnumValue
OUTPUT_YUV_4220x0
OUTPUT_RGB_5650x1

ShutterSoundType #

EnumValue
SHUTTER_SOUND_TYPE_NORMAL0x0
SHUTTER_SOUND_TYPE_MOVIE0x1
SHUTTER_SOUND_TYPE_MOVIE_END0x2

ImageQualityCalibrationData #

TypeField
s16aeBaseTarget
s16kRL
s16kGL
s16kBL
s16ccmPosition
u16awbCcmL9Right
u16awbCcmL9Left
u16awbCcmL10Right
u16awbCcmL10Left
u16awbX0Right
u16awbX0Left

StereoCameraCalibrationData #

TypeField
boolisValidRotationXY
bool[3]reservedFlag
floatscale
floatrotationZ
floattranslationX
floattranslationY
floatrotationX
floatrotationY
floatangleOfViewRight
floatangleOfViewLeft
floatdistanceToChart
floatdistanceCameras
s16imageWidth
s16imageHeight
u8[16]reserved

PackageParameterCameraSelect #

TypeField
u8CameraSelect camera
s8exposure
u8WhiteBalance whiteBalance
s8sharpness
boolautoExposureOn
boolautoWhiteBalanceOn
u8FrameRate frameRate
u8PhotoMode photoMode
u8contrast
u8LensCorrection lensCorrection
boolnoiseFilterOn
u8padding
s16autoExposureWindowX
s16autoExposureWindowY
s16autoExposureWindowWidth
s16autoExposureWindowHeight
s16autoWhiteBalanceWindowX
s16autoWhiteBalanceWindowY
s16autoWhiteBalanceWindowWidth
s16autoWhiteBalanceWindowHeight

PackageParameterContext #

TypeField
u8CameraSelect camera
u8Context context
u8Flip flip
u8Effect effect
u8Size size

PackageParameterContextDetail #

TypeField
u8CameraSelect camera
u8Context context
u8Flip flip
u8Effect effect
s16width
s16height
s16cropX0
s16cropY0
s16cropX1
s16cropY1

y2r:u #

Command HeaderDescription
0x00010040SetInputFormat
0x00020000GetInputFormat
0x00030040SetOutputFormat
0x00040000GetOutputFormat
0x00050040SetRotation
0x00060000GetRotation
0x00070040SetBlockAlignment
0x00080000GetBlockAlignment
0x00090040SetSpacialDithering
0x000A0000GetSpacialDithering
0x000B0040SetTemporalDithering
0x000C0000GetTemporalDithering
0x000D0040SetTransferEndInterrupt
0x000E0000GetTransferEndInterrupt
0x000F0000GetTransferEndEvent
0x00100102SetSendingY
0x00110102SetSendingU
0x00120102SetSendingV
0x00130102SetSendingYuv
0x00140000IsFinishedSendingYuv
0x00150000IsFinishedSendingY
0x00160000IsFinishedSendingU
0x00170000IsFinishedSendingV
0x00180102SetReceiving
0x00190000IsFinishedReceiving
0x001A0040SetInputLineWidth
0x001B0000GetInputLineWidth
0x001C0040SetInputLines
0x001D0000GetInputLines
0x001E0100SetCoefficientParams
0x001F0000GetCoefficientParams
0x00200040SetStandardCoefficient
0x00210040GetStandardCoefficientParams
0x00220040SetAlpha
0x00230000GetAlpha
0x00240200SetDitheringWeightParams
0x00250000GetDitheringWeightParams
0x00260000StartConversion
0x00270000StopConversion
0x00280000IsBusyConversion
0x002901C0SetPackageParameter
0x002A0000PingProcess
0x002B0000DriverInitialize
0x002C0000DriverFinalize
0x002D0000GetPackageParameter

InputFormat #

EnumValue
INPUT_YUV422_INDIV_80x0
INPUT_YUV420_INDIV_80x1
INPUT_YUV422_INDIV_160x2
INPUT_YUV420_INDIV_160x3
INPUT_YUV422_BATCH0x4

OutputFormat #

EnumValue
OUTPUT_RGB_320x0
OUTPUT_RGB_240x1
OUTPUT_RGB_16_5550x2
OUTPUT_RGB_16_5650x3

Rotation #

EnumValue
ROTATION_NONE0x0
ROTATION_CLOCKWISE_900x1
ROTATION_CLOCKWISE_1800x2
ROTATION_CLOCKWISE_2700x3

BlockAlignment #

EnumValueDescription
BLOCK_LINE0x0Output buffer’s pixels are arranged linearly. Used when outputting to the framebuffer.
BLOCK_8_BY_80x1Output buffer’s pixels are morton swizzled. Used when outputting to a GPU texture.

CoefficientParams #

TypeField
u16Y_A
u16R_V
u16G_V
u16G_U
u16B_U
u16R_Offset
u16G_Offset
u16B_Offset

StandardCoefficient #

EnumValue
COEFFICIENT_ITU_R_BT_6010x0
COEFFICIENT_ITU_R_BT_7090x1
COEFFICIENT_ITU_R_BT_601_SCALING0x2
COEFFICIENT_ITU_R_BT_709_SCALING0x3

DitheringWeightParams #

TypeField
u16w0_xEven_yEven
u16w0_xOdd_yEven
u16w0_xEven_yOdd
u16w0_xOdd_yOdd
u16w1_xEven_yEven
u16w1_xOdd_yEven
u16w1_xEven_yOdd
u16w1_xOdd_yOdd
u16w2_xEven_yEven
u16w2_xOdd_yEven
u16w2_xEven_yOdd
u16w2_xOdd_yOdd
u16w3_xEven_yEven
u16w3_xOdd_yEven
u16w3_xEven_yOdd
u16w3_xOdd_yOdd

PackageParameter #

TypeField
u8InputFormat inputFormat
u8OutputFormat outputFormat
u8Rotation rotation
u8BlockAlignment blockAlignment
s16inputLineWidth
s16inputLines
u8StandardCoefficient standardCoefficient
u8padding
s16alpha

Category:Services