mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 20:42:44 +02:00
38 lines
1.3 KiB
C
38 lines
1.3 KiB
C
/**
|
|
* @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);
|
|
|
|
/**
|
|
* @brief Shrinks a jpeg's dimensions by 2.
|
|
*/
|
|
Result capsdcShrinkJpeg(u32 width, u32 height, const CapsScreenShotDecodeOption *opts, const void* jpeg, size_t jpeg_size, void* out_jpeg, size_t out_jpeg_size, u64 *out_result_size);
|