2014-01-19 04:14:11 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2015-06-13 03:31:45 +02:00
|
|
|
// Return Codes
|
2014-01-19 04:14:11 +01:00
|
|
|
enum
|
|
|
|
|
{
|
2014-04-04 15:25:38 +02:00
|
|
|
CELL_GIFDEC_ERROR_OPEN_FILE = 0x80611300,
|
2014-01-19 04:14:11 +01:00
|
|
|
CELL_GIFDEC_ERROR_STREAM_FORMAT = 0x80611301,
|
2014-04-04 15:25:38 +02:00
|
|
|
CELL_GIFDEC_ERROR_SEQ = 0x80611302,
|
|
|
|
|
CELL_GIFDEC_ERROR_ARG = 0x80611303,
|
|
|
|
|
CELL_GIFDEC_ERROR_FATAL = 0x80611304,
|
2014-01-19 04:14:11 +01:00
|
|
|
CELL_GIFDEC_ERROR_SPU_UNSUPPORT = 0x80611305,
|
2014-04-04 15:25:38 +02:00
|
|
|
CELL_GIFDEC_ERROR_SPU_ERROR = 0x80611306,
|
|
|
|
|
CELL_GIFDEC_ERROR_CB_PARAM = 0x80611307,
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum CellGifDecStreamSrcSel
|
|
|
|
|
{
|
2014-07-22 17:16:15 +02:00
|
|
|
CELL_GIFDEC_FILE = 0, // Input from a file
|
|
|
|
|
CELL_GIFDEC_BUFFER = 1, // Input from a buffer
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
2015-06-13 03:31:45 +02:00
|
|
|
enum CellGifDecSpuThreadEna
|
2014-01-19 04:14:11 +01:00
|
|
|
{
|
2015-06-13 03:31:45 +02:00
|
|
|
CELL_GIFDEC_SPU_THREAD_DISABLE = 0, // Do not use SPU threads
|
|
|
|
|
CELL_GIFDEC_SPU_THREAD_ENABLE = 1, // Use SPU threads
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum CellGifDecRecordType
|
|
|
|
|
{
|
2014-04-04 15:25:38 +02:00
|
|
|
CELL_GIFDEC_RECORD_TYPE_IMAGE_DESC = 1, // Image data block
|
|
|
|
|
CELL_GIFDEC_RECORD_TYPE_EXTENSION = 2, // Extension block
|
|
|
|
|
CELL_GIFDEC_RECORD_TYPE_TERMINATE = 3, // Trailer block
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
2015-06-13 03:31:45 +02:00
|
|
|
enum CellGifDecColorSpace
|
|
|
|
|
{
|
|
|
|
|
CELL_GIFDEC_RGBA = 10, // RGBA
|
|
|
|
|
CELL_GIFDEC_ARGB = 20, // ARGB
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum CellGifDecCommand
|
|
|
|
|
{
|
|
|
|
|
CELL_GIFDEC_CONTINUE = 0, // Continue decoding
|
|
|
|
|
CELL_GIFDEC_STOP = 1, // Force decoding to stop
|
|
|
|
|
};
|
|
|
|
|
|
2014-01-19 04:14:11 +01:00
|
|
|
enum CellGifDecDecodeStatus
|
|
|
|
|
{
|
2015-06-13 03:31:45 +02:00
|
|
|
CELL_GIFDEC_DEC_STATUS_FINISH = 0, // Decoding finished
|
|
|
|
|
CELL_GIFDEC_DEC_STATUS_STOP = 1, // Decoding was stopped
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecInfo
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> SWidth;
|
|
|
|
|
be_t<u32> SHeight;
|
|
|
|
|
be_t<u32> SGlobalColorTableFlag;
|
|
|
|
|
be_t<u32> SColorResolution;
|
|
|
|
|
be_t<u32> SSortFlag;
|
|
|
|
|
be_t<u32> SSizeOfGlobalColorTable;
|
|
|
|
|
be_t<u32> SBackGroundColor;
|
|
|
|
|
be_t<u32> SPixelAspectRatio;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecSrc
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> srcSelect;
|
2014-09-04 19:32:20 +02:00
|
|
|
vm::bptr<const char> fileName;
|
2014-01-19 04:14:11 +01:00
|
|
|
be_t<s64> fileOffset;
|
|
|
|
|
be_t<u64> fileSize;
|
|
|
|
|
be_t<u32> streamPtr;
|
|
|
|
|
be_t<u32> streamSize;
|
|
|
|
|
be_t<u32> spuThreadEnable;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecInParam
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> commandPtr;
|
|
|
|
|
be_t<u32> colorSpace; // CellGifDecColorSpace
|
2015-06-13 03:31:45 +02:00
|
|
|
u8 outputColorAlpha1;
|
|
|
|
|
u8 outputColorAlpha2;
|
|
|
|
|
u8 reserved[2];
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecOutParam
|
|
|
|
|
{
|
|
|
|
|
be_t<u64> outputWidthByte;
|
|
|
|
|
be_t<u32> outputWidth;
|
|
|
|
|
be_t<u32> outputHeight;
|
|
|
|
|
be_t<u32> outputComponents;
|
|
|
|
|
be_t<u32> outputBitDepth;
|
|
|
|
|
be_t<u32> outputColorSpace; // CellGifDecColorSpace
|
|
|
|
|
be_t<u32> useMemorySpace;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecExtension
|
|
|
|
|
{
|
2015-06-13 03:31:45 +02:00
|
|
|
u8 label;
|
|
|
|
|
vm::ptr<u8> data;
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecDataOutInfo
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> recordType;
|
|
|
|
|
CellGifDecExtension outExtension;
|
|
|
|
|
be_t<u32> status;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecOpnInfo
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> initSpaceAllocated;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CellGifDecDataCtrlParam
|
|
|
|
|
{
|
|
|
|
|
be_t<u64> outputBytesPerLine;
|
|
|
|
|
};
|
|
|
|
|
|
2014-07-22 17:16:15 +02:00
|
|
|
//Custom structs
|
|
|
|
|
struct CellGifDecSubHandle
|
2014-01-19 04:14:11 +01:00
|
|
|
{
|
|
|
|
|
u32 fd;
|
|
|
|
|
u64 fileSize;
|
|
|
|
|
CellGifDecInfo info;
|
|
|
|
|
CellGifDecOutParam outParam;
|
2014-07-22 17:16:15 +02:00
|
|
|
CellGifDecSrc src;
|
2014-01-19 04:14:11 +01:00
|
|
|
};
|