nn::camera::CTR::SetReceiving Function
void SetReceiving(
nn::os::Event * pEvent,
void * pDst,
Port port,
size_t imageSize,
s16 transferUnit
);
| Name | Description | |
|---|---|---|
| out | pEvent | Event to signal at the completion of a transfer. |
| out | pDst | Specifies a buffer that transfers the image data. |
| in | port | Specifies the port that loads image data. |
| in | imageSize | Specifies the total size (frame size) to transfer. This must be an integer multiple of transferUnit. |
| in | transferUnit | Specifies the size (width × number of lines) to transfer per cycle. |
Configures loading of image data. Only a single frame is received, so this must be set once per each camera frame.
The image size specified in imageSize is twice the number of pixels in the image. If you have specified the number of transfer lines by using the nn::camera::CTR::SetTransferLines function, set the transferUnit argument to image width × the number of transfer lines × 2. The doubling is because two bytes are used for each pixel. If have you enabled trimming by using the nn::camera::CTR::SetTrimming function, note that the image's pixel count and width are set to their post-trimming values. If you have specified the number of transfer bytes by using the nn::camera::CTR::SetTransferBytes function, use that value as the transferUnit argument to this function.
The output data formats are as follows.
YUV4:2:2(YCbCr)
| Bits 31-24 | Bits 23-16 | Bits 15-8 | Bits 7-0 |
| V (n) | Y (n+1) | U (n) | Y (n) |
The pEvent value obtained by this function is in the signaled state when transmission is complete. The only way to clear this state is to call Finalize on pEvent or pass pEvent one more time to one of the nn::camera::CTR::SetReceiving functions.
After the application approves and the camera transitions to the sleep state, non-signaled dummy events are returned to pEvent regardless of the load settings.
Make sure that pEvent, obtained by this function, is not finalized during capture.
CONFIDENTIAL