rpcsx/rpcs3/Emu/Cell/Modules/cellCelpEnc.h

91 lines
1.6 KiB
C
Raw Normal View History

2020-12-05 13:08:24 +01:00
#pragma once
2018-02-09 15:49:37 +01:00
2019-11-16 23:31:23 +01:00
struct CellSpurs;
// libCelpEnc = 0x80614001 - 0x806140ff
2019-11-16 23:31:23 +01:00
// typedef void* CellCelpEncHandle;
// Return Codes
2019-11-16 23:31:23 +01:00
enum CellCelpEncError : u32
{
CELL_CELPENC_ERROR_FAILED = 0x80614001,
CELL_CELPENC_ERROR_SEQ = 0x80614002,
CELL_CELPENC_ERROR_ARG = 0x80614003,
CELL_CELPENC_ERROR_CORE_FAILED = 0x80614081,
CELL_CELPENC_ERROR_CORE_SEQ = 0x80614082,
CELL_CELPENC_ERROR_CORE_ARG = 0x80614083,
};
// Definitions
2019-11-16 23:31:23 +01:00
enum CELL_CELPENC_RPE_CONFIG
{
CELL_CELPENC_RPE_CONFIG_0,
CELL_CELPENC_RPE_CONFIG_1,
CELL_CELPENC_RPE_CONFIG_2,
CELL_CELPENC_RPE_CONFIG_3,
2019-11-16 23:31:23 +01:00
};
enum CELL_CELPENC_SAMPEL_RATE
{
CELL_CELPENC_FS_16kHz = 2,
};
enum CELL_CELPENC_EXCITATION_MODE
{
CELL_CELPENC_EXCITATION_MODE_RPE = 1,
};
enum CELL_CELPENC_WORD_SZ
{
CELL_CELPENC_WORD_SZ_INT16_LE,
CELL_CELPENC_WORD_SZ_FLOAT
};
2018-02-09 15:49:37 +01:00
2019-11-16 23:31:23 +01:00
struct CellCelpEncAttr
{
be_t<u32> workMemSize;
be_t<u32> celpEncVerUpper;
be_t<u32> celpEncVerLower;
};
struct CellCelpEncResource
{
be_t<u32> totalMemSize;
vm::bptr<void> startAddr;
be_t<u32> ppuThreadPriority;
be_t<u32> spuThreadPriority;
2020-12-18 08:39:54 +01:00
be_t<u32/*usz*/> ppuThreadStackSize;
2019-11-16 23:31:23 +01:00
};
struct CellCelpEncParam
{
be_t<u32> excitationMode;
be_t<u32> sampleRate;
be_t<u32> configuration;
be_t<u32> wordSize;
vm::bptr<u8> outBuff;
be_t<u32> outSize;
};
struct CellCelpEncAuInfo
{
vm::bptr<void> startAddr;
be_t<u32> size;
};
struct CellCelpEncPcmInfo
{
vm::bptr<void> startAddr;
be_t<u32> size;
};
struct CellCelpEncResourceEx
{
be_t<u32> totalMemSize;
vm::bptr<void> startAddr;
vm::bptr<CellSpurs> spurs;
u8 priority[8];
be_t<u32> maxContention;
};