Difference between revisions of "Camera Services"
Jump to navigation
Jump to search
(→y2r:u) |
|||
Line 37: | Line 37: | ||
| 0x0008... | | 0x0008... | ||
| GetBlockAlignment() | | GetBlockAlignment() | ||
+ | |- | ||
+ | | 0x0009... | ||
+ | | SetCntBit16(Value) | ||
+ | |- | ||
+ | | 0x000A... | ||
+ | | GetCntBit16() | ||
+ | |- | ||
+ | | 0x000B... | ||
+ | | SetCntBit17(Value) | ||
+ | |- | ||
+ | | 0x000C... | ||
+ | | GetCntBit17() | ||
|- | |- | ||
| 0x000D0040 | | 0x000D0040 | ||
Line 58: | Line 70: | ||
| 0x00130102 | | 0x00130102 | ||
| This DMAs from 0x1EE02180 into your buf. | | This DMAs from 0x1EE02180 into your buf. | ||
+ | |- | ||
+ | | 0x0014.... | ||
+ | | WaitForDma0? | ||
+ | |- | ||
+ | | 0x0015.... | ||
+ | | WaitForDma1? | ||
+ | |- | ||
+ | | 0x0016.... | ||
+ | | WaitForDma2? | ||
+ | |- | ||
+ | | 0x0017.... | ||
+ | | WaitForDma3? | ||
|- | |- | ||
| 0x00180102 | | 0x00180102 | ||
Line 73: | Line 97: | ||
| 0x001D... | | 0x001D... | ||
| GetInputLines() | | GetInputLines() | ||
+ | |- | ||
+ | | 0x001E.... | ||
+ | | SetCoefficient(0x10-byte CoefficientStruct) | ||
+ | |- | ||
+ | | 0x001F.... | ||
+ | | GetCoefficient() | ||
|- | |- | ||
| 0x00200040 | | 0x00200040 | ||
| SetStandardCoefficient(StandardCoefficient) | | SetStandardCoefficient(StandardCoefficient) | ||
+ | |- | ||
+ | | 0x0021.... | ||
+ | | GenerateStandardCoefficient(StandardCoefficient) | ||
|- | |- | ||
| 0x00220040 | | 0x00220040 | ||
| SetAlpha(short) | | SetAlpha(short) | ||
|- | |- | ||
− | | 0x0023... | + | | 0x0023.... |
| GetAlpha() | | GetAlpha() | ||
+ | |- | ||
+ | | 0x0024.... | ||
+ | | SetUnknownParams(0x24 bytes UnknownParamBlock) | ||
+ | |- | ||
+ | | 0x0025.... | ||
+ | | GetUnknownParams | ||
|- | |- | ||
| 0x00260000 | | 0x00260000 |
Revision as of 00:22, 4 June 2015
cam:c (PORT_REG)
cam:s (PORT_CAL)
cam:q (PORT_QTM)
This was added with New3DS.
cam:u (PORT_USER)
y2r:u
Command Header | Description |
---|---|
0x00010040 | SetInputFormat(InputFormat) |
0x0002... | GetInputFormat() |
0x00030040 | SetOutputFormat(OutputFormat) |
0x0004... | GetOutputFormat() |
0x00050040 | SetRotation(Rotation) |
0x0006... | GetRotation() |
0x00070040 | SetBlockAlignment(BlockAlignment) |
0x0008... | GetBlockAlignment() |
0x0009... | SetCntBit16(Value) |
0x000A... | GetCntBit16() |
0x000B... | SetCntBit17(Value) |
0x000C... | GetCntBit17() |
0x000D0040 | SetTransferEndInterrupt(bool) |
0x000E... | GetTransferEndInterrupt() |
0x000F0000 | GetTransferEndEvent(Handle*) |
0x00100102 | SetSendingY(unsigned int pSrc, unsigned int imageSize, short transferUnit, short transferStride, 0, Handle srcProcess). This DMAs from 0x1EE02000 into your buf. |
0x00110102 | SetSendingU(unsigned int pSrc, unsigned int imageSize, short transferUnit, short transferStride, 0, Handle srcProcess). This DMAs from 0x1EE02080 into your buf. |
0x00120102 | SetSendingV(unsigned int pSrc, unsigned int imageSize, short transferUnit, short transferStride, 0, Handle srcProcess). This DMAs from 0x1EE02100 into your buf. |
0x00130102 | This DMAs from 0x1EE02180 into your buf. |
0x0014.... | WaitForDma0? |
0x0015.... | WaitForDma1? |
0x0016.... | WaitForDma2? |
0x0017.... | WaitForDma3? |
0x00180102 | SetReceiving(unsigned int pDst, unsigned int imageSize, short transferUnit, short transferStride, 0, Handle dstProcess). This DMAs from 0x1EE02200 into your buf. |
0x001A0040 | SetInputLineWidth(short) |
0x001B... | GetInputLineWidth() |
0x001C0040 | SetInputLines(short) |
0x001D... | GetInputLines() |
0x001E.... | SetCoefficient(0x10-byte CoefficientStruct) |
0x001F.... | GetCoefficient() |
0x00200040 | SetStandardCoefficient(StandardCoefficient) |
0x0021.... | GenerateStandardCoefficient(StandardCoefficient) |
0x00220040 | SetAlpha(short) |
0x0023.... | GetAlpha() |
0x0024.... | SetUnknownParams(0x24 bytes UnknownParamBlock) |
0x0025.... | GetUnknownParams |
0x00260000 | StartConversion |
0x00270000 | StopConversion |
0x00280000 | IsBusyConversion(bool * state) |
0x002901C0 | SetConversionParams(ConversionParams conversion_params). The struct is memcpy'd to &cmd_buff[1]. |
0x002A0000 | PingProcess(unsigned char * connectedNumber) |
0x002B0000 | DriverInitialize |
0x002C0000 | DriverFinalize |
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. |
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 |
COEFFICIENT_MAX | 0x4 |
ConversionParams
Offset | Name | Type |
---|---|---|
0x0 | input_format | InputFormat (u8) |
0x1 | output_format | OutputFormat (u8) |
0x2 | rotation | Rotation (u8) |
0x3 | block_alignment | BlockAlignment(u8) |
0x4 | input_line_width | u16 |
0x6 | input_lines | u16 |
0x8 | standard_coefficient | StandardCoefficient (u8) |
0x9 | reserved | u8 |
0xA | alpha | u16 |