Camera Services: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				|||
| 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 |