diff --git a/core/libs/SceTypes.hpp b/core/libs/SceTypes.hpp index 66416b803..50971c093 100644 --- a/core/libs/SceTypes.hpp +++ b/core/libs/SceTypes.hpp @@ -1512,6 +1512,32 @@ struct PngDecImageInfo { std::uint32_t image_flag; }; +struct JpegEncCreateParam { + std::uint32_t size; + std::uint32_t attr; +}; + +struct JpegEncEncodeParam { + const void* image; + void* jpeg; + std::uint32_t image_size; + std::uint32_t jpeg_size; + std::uint32_t image_width; + std::uint32_t image_height; + std::uint32_t image_pitch; + std::uint16_t pixel_format; + std::uint16_t encode_mode; + std::uint16_t color_space; + std::uint8_t sampling_type; + std::uint8_t compression_ratio; + std::int32_t restart_interval; +}; + +struct JpegEncOutputInfo { + std::uint32_t size; + std::uint32_t height; +}; + struct PlayGoInitParams { const void* buf_addr; std::uint32_t buf_size; diff --git a/core/libs/prx/libSceJpegEnc/Export.cpp b/core/libs/prx/libSceJpegEnc/Export.cpp index 8f4b5a78f..dc3f929b0 100644 --- a/core/libs/prx/libSceJpegEnc/Export.cpp +++ b/core/libs/prx/libSceJpegEnc/Export.cpp @@ -3,24 +3,37 @@ #include "SceTypes.hpp" #include "prx/libc/include/General.hpp" +static_assert(sizeof(JpegEncCreateParam) == 0x8); +static_assert(sizeof(JpegEncEncodeParam) == 0x30); +static_assert(sizeof(JpegEncOutputInfo) == 0x8); + extern "C" { -int APS5_VABI sceJpegEncCreate() { +int32_t APS5_VABI sceJpegEncCreate(const JpegEncCreateParam* param, void* memory, uint32_t memory_size, void** handle) { + (void)param; + (void)memory; + (void)memory_size; + (void)handle; NotImplemented_nid_no_patch(__func__); return 0; } -int APS5_VABI sceJpegEncDelete() { +int32_t APS5_VABI sceJpegEncDelete(void* handle) { + (void)handle; NotImplemented_nid_no_patch(__func__); return 0; } -int APS5_VABI sceJpegEncEncode() { +int32_t APS5_VABI sceJpegEncEncode(void* handle, const JpegEncEncodeParam* param, JpegEncOutputInfo* output_info) { + (void)handle; + (void)param; + (void)output_info; NotImplemented_nid_no_patch(__func__); return 0; } -int APS5_VABI sceJpegEncQueryMemorySize() { +int32_t APS5_VABI sceJpegEncQueryMemorySize(const JpegEncCreateParam* param) { + (void)param; NotImplemented_nid_no_patch(__func__); return 0; }