/** * @file capsdc.h * @brief Jpeg Decoder (caps:dc) service IPC wrapper. Only available on [4.0.0+]. * @note Only holds one session that is occupied by capsrv. * @author Behemoth * @copyright libnx Authors */ #pragma once #include "../types.h" #include "../sf/service.h" #include "../services/caps.h" /// Initialize caps:dc Result capsdcInitialize(void); /// Exit caps:dc. void capsdcExit(void); /// Gets the Service for caps:dc. Service* capsdcGetServiceSession(void); /** * @brief Decodes a jpeg buffer into RGBX. * @param[in] width Image width. * @param[in] height Image height. * @param[in] opts \ref CapsScreenShotDecodeOption. * @param[in] jpeg Jpeg image input buffer. * @param[in] jpeg_size Input image buffer size. * @param[out] out_image RGBA8 image output buffer. * @param[in] out_image_size Output image buffer size, should be at least large enough for RGBA8 width x height. */ Result capsdcDecodeJpeg(u32 width, u32 height, const CapsScreenShotDecodeOption *opts, const void* jpeg, size_t jpeg_size, void* out_image, size_t out_image_size);