Camera Services
cam:c (PORT_REG)
cam:s (PORT_CAL)
cam:q (PORT_QTM)
This was added with New3DS.
cam:u (PORT_USER)
Port
| Enum | Value |
|---|---|
| PORT_NONE | 0x0 |
| PORT_CAM1 | 0x1 << 0x0 |
| PORT_CAM2 | 0x1 << 0x1 |
| PORT_BOTH | PORT_CAM1 | PORT_CAM2 |
CameraSelect
| Enum | Value |
|---|---|
| SELECT_NONE | 0x0 |
| SELECT_OUT1 | 0x1 << 0x0 |
| SELECT_IN1 | 0x1 << 0x1 |
| SELECT_OUT2 | 0x1 << 0x2 |
| SELECT_IN1_OUT1 | SELECT_OUT1 | SELECT_IN1 |
| SELECT_OUT1_OUT2 | SELECT_OUT1 | SELECT_OUT2 |
| SELECT_IN1_OUT2 | SELECT_IN1 | SELECT_OUT2 |
| SELECT_ALL | SELECT_OUT1 | SELECT_IN1 | SELECT_OUT2 |
Context
| Enum | Value |
|---|---|
| CONTEXT_NONE | 0x0 |
| CONTEXT_A | 0x1 << 0x0 |
| CONTEXT_B | 0x1 << 0x1 |
| CONTEXT_BOTH | CONTEXT_A | CONTEXT_B |
Flip
| Enum | Value |
|---|---|
| FLIP_NONE | 0x0 |
| FLIP_HORIZONTAL | 0x1 |
| FLIP_VERTICAL | 0x2 |
| FLIP_REVERSE | 0x3 |
Size
| Enum | Value |
|---|---|
| SIZE_VGA | 0x0 |
| SIZE_QVGA | 0x1 |
| SIZE_QQVGA | 0x2 |
| SIZE_CIF | 0x3 |
| SIZE_QCIF | 0x4 |
| SIZE_DS_LCD | 0x5 |
| SIZE_DS_LCDx4 | 0x6 |
| SIZE_CTR_TOP_LCD | 0x7 |
| SIZE_CTR_BOTTOM_LCD | SIZE_QVGA |
FrameRate
| Enum | Value |
|---|---|
| FRAME_RATE_15 | 0x0 |
| FRAME_RATE_15_TO_5 | 0x1 |
| FRAME_RATE_15_TO_2 | 0x2 |
| FRAME_RATE_10 | 0x3 |
| FRAME_RATE_8_5 | 0x4 |
| FRAME_RATE_5 | 0x5 |
| FRAME_RATE_20 | 0x6 |
| FRAME_RATE_20_TO_5 | 0x7 |
| FRAME_RATE_30 | 0x8 |
| FRAME_RATE_30_TO_5 | 0x9 |
| FRAME_RATE_15_TO_10 | 0xA |
| FRAME_RATE_20_TO_10 | 0xB |
| FRAME_RATE_30_TO_10 | 0xC |
WhiteBalance
| Enum | Value |
|---|---|
| WHITE_BALANCE_AUTO | 0x0 |
| WHITE_BALANCE_3200K | 0x1 |
| WHITE_BALANCE_4150K | 0x2 |
| WHITE_BALANCE_5200K | 0x3 |
| WHITE_BALANCE_6000K | 0x4 |
| WHITE_BALANCE_7000K | 0x5 |
| WHITE_BALANCE_MAX | 0x6 |
| WHITE_BALANCE_NORMAL | WHITE_BALANCE_AUTO |
| WHITE_BALANCE_TUNGSTEN | WHITE_BALANCE_3200K |
| WHITE_BALANCE_WHITE_FLUORESCENT_LIGHT | WHITE_BALANCE_4150K |
| WHITE_BALANCE_DAYLIGHT | WHITE_BALANCE_5200K |
| WHITE_BALANCE_CLOUDY | WHITE_BALANCE_6000K |
| WHITE_BALANCE_HORIZON | WHITE_BALANCE_6000K |
| WHITE_BALANCE_SHADE | WHITE_BALANCE_7000K |
PhotoMode
| Enum | Value |
|---|---|
| PHOTO_MODE_NORMAL | 0x0 |
| PHOTO_MODE_PORTRAIT | 0x1 |
| PHOTO_MODE_LANDSCAPE | 0x2 |
| PHOTO_MODE_NIGHTVIEW | 0x3 |
| PHOTO_MODE_LETTER | 0x4 |
Effect
| Enum | Value |
|---|---|
| EFFECT_NONE | 0x0 |
| EFFECT_MONO | 0x1 |
| EFFECT_SEPIA | 0x2 |
| EFFECT_NEGATIVE | 0x3 |
| EFFECT_NEGAFILM | 0x4 |
| EFFECT_SEPIA01 | 0x5 |
Contrast
| Enum | Value |
|---|---|
| CONTRAST_PATTERN_01 | 0x0 |
| CONTRAST_PATTERN_02 | 0x1 |
| CONTRAST_PATTERN_03 | 0x2 |
| CONTRAST_PATTERN_04 | 0x3 |
| CONTRAST_PATTERN_05 | 0x4 |
| CONTRAST_PATTERN_06 | 0x5 |
| CONTRAST_PATTERN_07 | 0x6 |
| CONTRAST_PATTERN_08 | 0x7 |
| CONTRAST_PATTERN_09 | 0x8 |
| CONTRAST_PATTERN_10 | 0x9 |
| CONTRAST_PATTERN_11 | 0xA |
| CONTRAST_LOW | CONTRAST_PATTERN_05 |
| CONTRAST_NORMAL | CONTRAST_PATTERN_06 |
| CONTRAST_HIGH | CONTRAST_PATTERN_07 |
LensCorrection
| Enum | Value |
|---|---|
| LENS_CORRECTION_OFF | 0x0 |
| LENS_CORRECTION_ON_70 | 0x1 |
| LENS_CORRECTION_ON_90 | 0x2 |
| LENS_CORRECTION_DARK | LENS_CORRECTION_OFF |
| LENS_CORRECTION_NORMAL | LENS_CORRECTION_ON_70 |
| LENS_CORRECTION_BRIGHT | LENS_CORRECTION_ON_90 |
OutputFormat
| Enum | Value |
|---|---|
| OUTPUT_YUV_422 | 0x0 |
| OUTPUT_RGB_565 | 0x1 |
ShutterSoundType
| Enum | Value |
|---|---|
| SHUTTER_SOUND_TYPE_NORMAL | 0x0 |
| SHUTTER_SOUND_TYPE_MOVIE | 0x1 |
| SHUTTER_SOUND_TYPE_MOVIE_END | 0x2 |
ImageQualityCalibrationData
| Type | Field |
|---|---|
| s16 | aeBaseTarget |
| s16 | kRL |
| s16 | kGL |
| s16 | kBL |
| s16 | ccmPosition |
| u16 | awbCcmL9Right |
| u16 | awbCcmL9Left |
| u16 | awbCcmL10Right |
| u16 | awbCcmL10Left |
| u16 | awbX0Right |
| u16 | awbX0Left |
StereoCameraCalibrationData
| Type | Field |
|---|---|
| bool | isValidRotationXY |
| bool[3] | reservedFlag |
| float | scale |
| float | rotationZ |
| float | translationX |
| float | translationY |
| float | rotationX |
| float | rotationY |
| float | angleOfViewRight |
| float | angleOfViewLeft |
| float | distanceToChart |
| float | distanceCameras |
| s16 | imageWidth |
| s16 | imageHeight |
| u8[16] | reserved |
PackageParameterCameraSelect
| Type | Field |
|---|---|
| u8 | CameraSelect camera |
| s8 | exposure |
| u8 | WhiteBalance whiteBalance |
| s8 | sharpness |
| bool | autoExposureOn |
| bool | autoWhiteBalanceOn |
| u8 | FrameRate frameRate |
| u8 | PhotoMode photoMode |
| u8 | contrast |
| u8 | LensCorrection lensCorrection |
| bool | noiseFilterOn |
| u8 | padding |
| s16 | autoExposureWindowX |
| s16 | autoExposureWindowY |
| s16 | autoExposureWindowWidth |
| s16 | autoExposureWindowHeight |
| s16 | autoWhiteBalanceWindowX |
| s16 | autoWhiteBalanceWindowY |
| s16 | autoWhiteBalanceWindowWidth |
| s16 | autoWhiteBalanceWindowHeight |
PackageParameterContext
| Type | Field |
|---|---|
| u8 | CameraSelect camera |
| u8 | Context context |
| u8 | Flip flip |
| u8 | Effect effect |
| u8 | Size size |
PackageParameterContextDetail
| Type | Field |
|---|---|
| u8 | CameraSelect camera |
| u8 | Context context |
| u8 | Flip flip |
| u8 | Effect effect |
| s16 | width |
| s16 | height |
| s16 | cropX0 |
| s16 | cropY0 |
| s16 | cropX1 |
| s16 | cropY1 |
y2r:u
| Command Header | Description |
|---|---|
| 0x00010040 | SetInputFormat(InputFormat) |
| 0x00020000 | GetInputFormat() |
| 0x00030040 | SetOutputFormat(OutputFormat) |
| 0x00040000 | GetOutputFormat() |
| 0x00050040 | SetRotation(Rotation) |
| 0x00060000 | GetRotation() |
| 0x00070040 | SetBlockAlignment(BlockAlignment) |
| 0x00080000 | GetBlockAlignment() |
| 0x00090040 | SetSpacialDithering(bool) |
| 0x000A0000 | GetSpacialDithering() |
| 0x000B0040 | SetTemporalDithering(bool) |
| 0x000C0000 | GetTemporalDithering() |
| 0x000D0040 | SetTransferEndInterrupt(bool) |
| 0x000E0000 | GetTransferEndInterrupt() |
| 0x000F0000 | GetTransferEndEvent(Handle*) |
| 0x00100102 | SetSendingY |
| 0x00110102 | SetSendingU |
| 0x00120102 | SetSendingV |
| 0x00130102 | SetSendingYuv |
| 0x00140000 | IsFinishedSendingYuv(bool* state) |
| 0x00150000 | IsFinishedSendingY(bool* state) |
| 0x00160000 | IsFinishedSendingU(bool* state) |
| 0x00170000 | IsFinishedSendingV(bool* state) |
| 0x00180102 | SetReceiving(unsigned int pDst, unsigned int imageSize, short transferUnit, short transferStride, 0, Handle dstProcess). |
| 0x00190000 | IsFinishedReceiving(bool* state) |
| 0x001A0040 | SetInputLineWidth(short) |
| 0x001B0000 | GetInputLineWidth() |
| 0x001C0040 | SetInputLines(short) |
| 0x001D0000 | GetInputLines() |
| 0x001E0100 | SetCoefficientParams(0x10-byte CoefficientParams) |
| 0x001F0000 | GetCoefficientParams() |
| 0x00200040 | SetStandardCoefficient(StandardCoefficient)
This command is equivalent to SetCoefficientParams(GetStandardCoefficientParams(StandardCoefficient)). |
| 0x00210040 | GetStandardCoefficientParams(StandardCoefficient) |
| 0x00220040 | SetAlpha(short) |
| 0x00230000 | GetAlpha() |
| 0x00240200 | SetDitheringWeightParams(0x20 bytes DitheringWeightParams) |
| 0x00250000 | GetDitheringWeightParams |
| 0x00260000 | StartConversion |
| 0x00270000 | StopConversion |
| 0x00280000 | IsBusyConversion(bool * state) |
| 0x002901C0 | SetPackageParameter |
| 0x002A0000 | PingProcess(unsigned char * connectedNumber) |
| 0x002B0000 | DriverInitialize |
| 0x002C0000 | DriverFinalize |
| 0x002D0000 | GetPackageParameter |
InputFormat
| Enum | Value |
|---|---|
| INPUT_YUV422_INDIV_8 | 0x0 |
| INPUT_YUV420_INDIV_8 | 0x1 |
| INPUT_YUV422_INDIV_16 | 0x2 |
| INPUT_YUV420_INDIV_16 | 0x3 |
| INPUT_YUV422_BATCH | 0x4 |
OutputFormat
| Enum | Value |
|---|---|
| OUTPUT_RGB_32 | 0x0 |
| OUTPUT_RGB_24 | 0x1 |
| OUTPUT_RGB_16_555 | 0x2 |
| OUTPUT_RGB_16_565 | 0x3 |
Rotation
| Enum | Value |
|---|---|
| ROTATION_NONE | 0x0 |
| ROTATION_CLOCKWISE_90 | 0x1 |
| ROTATION_CLOCKWISE_180 | 0x2 |
| ROTATION_CLOCKWISE_270 | 0x3 |
BlockAlignment
| Enum | Value | Description |
|---|---|---|
| BLOCK_LINE | 0x0 | Output buffer's pixels are arranged linearly. Used when outputting to the framebuffer. |
| BLOCK_8_BY_8 | 0x1 | Output buffer's pixels are morton swizzled. Used when outputting to a GPU texture. |
CoefficientParams
| Type | Field |
|---|---|
| u16 | Y_A |
| u16 | R_V |
| u16 | G_V |
| u16 | G_U |
| u16 | B_U |
| u16 | R_Offset |
| u16 | G_Offset |
| u16 | B_Offset |
StandardCoefficient
| Enum | Value |
|---|---|
| COEFFICIENT_ITU_R_BT_601 | 0x0 |
| COEFFICIENT_ITU_R_BT_709 | 0x1 |
| COEFFICIENT_ITU_R_BT_601_SCALING | 0x2 |
| COEFFICIENT_ITU_R_BT_709_SCALING | 0x3 |
DitheringWeightParams
| Type | Field |
|---|---|
| u16 | w0_xEven_yEven |
| u16 | w0_xOdd_yEven |
| u16 | w0_xEven_yOdd |
| u16 | w0_xOdd_yOdd |
| u16 | w1_xEven_yEven |
| u16 | w1_xOdd_yEven |
| u16 | w1_xEven_yOdd |
| u16 | w1_xOdd_yOdd |
| u16 | w2_xEven_yEven |
| u16 | w2_xOdd_yEven |
| u16 | w2_xEven_yOdd |
| u16 | w2_xOdd_yOdd |
| u16 | w3_xEven_yEven |
| u16 | w3_xOdd_yEven |
| u16 | w3_xEven_yOdd |
| u16 | w3_xOdd_yOdd |
PackageParameter
| Type | Field |
|---|---|
| u8 | InputFormat inputFormat |
| u8 | OutputFormat outputFormat |
| u8 | Rotation rotation |
| u8 | BlockAlignment blockAlignment |
| s16 | inputLineWidth |
| s16 | inputLines |
| u8 | StandardCoefficient standardCoefficient |
| u8 | padding |
| s16 | alpha |