2015-01-29 16:48:05 +01:00
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "Emu/System.h"
|
2016-05-13 12:17:26 +02:00
|
|
|
#include "Emu/PSP2/ARMv7Module.h"
|
2015-01-29 16:48:05 +01:00
|
|
|
|
2015-06-21 01:04:01 +02:00
|
|
|
#include "sceJpeg.h"
|
2015-01-30 00:58:53 +01:00
|
|
|
|
2017-05-13 20:30:37 +02:00
|
|
|
logs::channel sceJpeg("sceJpeg");
|
2016-02-01 22:53:16 +01:00
|
|
|
|
2015-01-30 00:58:53 +01:00
|
|
|
s32 sceJpegInitMJpeg(s32 maxSplitDecoder)
|
|
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s32 sceJpegFinishMJpeg()
|
|
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s32 sceJpegDecodeMJpeg(
|
2015-06-22 00:27:58 +02:00
|
|
|
vm::cptr<u8> pJpeg,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 isize,
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<void> pRGBA,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 osize,
|
|
|
|
|
s32 decodeMode,
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<void> pTempBuffer,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 tempBufferSize,
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<void> pCoefBuffer,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 coefBufferSize)
|
|
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s32 sceJpegDecodeMJpegYCbCr(
|
2015-06-22 00:27:58 +02:00
|
|
|
vm::cptr<u8> pJpeg,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 isize,
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<u8> pYCbCr,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 osize,
|
|
|
|
|
s32 decodeMode,
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<void> pCoefBuffer,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 coefBufferSize)
|
|
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s32 sceJpegMJpegCsc(
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<void> pRGBA,
|
2015-06-22 00:27:58 +02:00
|
|
|
vm::cptr<u8> pYCbCr,
|
2015-01-30 00:58:53 +01:00
|
|
|
s32 xysize,
|
|
|
|
|
s32 iFrameWidth,
|
|
|
|
|
s32 colorOption,
|
|
|
|
|
s32 sampling)
|
|
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s32 sceJpegGetOutputInfo(
|
2015-06-22 00:27:58 +02:00
|
|
|
vm::cptr<u8> pJpeg,
|
2015-01-30 00:58:53 +01:00
|
|
|
u32 isize,
|
|
|
|
|
s32 outputFormat,
|
|
|
|
|
s32 decodeMode,
|
2015-06-21 01:04:01 +02:00
|
|
|
vm::ptr<SceJpegOutputInfo> pOutputInfo)
|
2015-01-30 00:58:53 +01:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
2015-06-21 01:04:01 +02:00
|
|
|
s32 sceJpegCreateSplitDecoder(vm::ptr<SceJpegSplitDecodeCtrl> pCtrl)
|
2015-01-30 00:58:53 +01:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
2015-06-21 01:04:01 +02:00
|
|
|
s32 sceJpegDeleteSplitDecoder(vm::ptr<SceJpegSplitDecodeCtrl> pCtrl)
|
2015-01-30 00:58:53 +01:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
2015-06-21 01:04:01 +02:00
|
|
|
s32 sceJpegSplitDecodeMJpeg(vm::ptr<SceJpegSplitDecodeCtrl> pCtrl)
|
2015-01-30 00:58:53 +01:00
|
|
|
{
|
2016-08-08 18:01:06 +02:00
|
|
|
fmt::throw_exception("Unimplemented" HERE);
|
2015-01-30 00:58:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2016-02-01 22:53:16 +01:00
|
|
|
#define REG_FUNC(nid, name) REG_FNID(SceJpegUser, nid, name)
|
2015-01-29 16:48:05 +01:00
|
|
|
|
2016-02-01 22:53:16 +01:00
|
|
|
DECLARE(arm_module_manager::SceJpeg)("SceJpegUser", []()
|
2015-01-29 16:48:05 +01:00
|
|
|
{
|
2015-01-30 00:58:53 +01:00
|
|
|
REG_FUNC(0xB030773B, sceJpegInitMJpeg);
|
|
|
|
|
REG_FUNC(0x62842598, sceJpegFinishMJpeg);
|
|
|
|
|
REG_FUNC(0x6215B095, sceJpegDecodeMJpeg);
|
|
|
|
|
REG_FUNC(0x2A769BD8, sceJpegDecodeMJpegYCbCr);
|
|
|
|
|
REG_FUNC(0xC2380E3A, sceJpegMJpegCsc);
|
|
|
|
|
REG_FUNC(0x353BA9B0, sceJpegGetOutputInfo);
|
|
|
|
|
REG_FUNC(0x123B4734, sceJpegCreateSplitDecoder);
|
|
|
|
|
REG_FUNC(0xDE8D5FA1, sceJpegDeleteSplitDecoder);
|
|
|
|
|
REG_FUNC(0x4598EC9C, sceJpegSplitDecodeMJpeg);
|
2015-01-29 16:48:05 +01:00
|
|
|
});
|