rpcs3/rpcs3/Emu/Cell/Modules/cellCelp8Enc.h
2020-12-18 12:23:53 +03:00

95 lines
1.8 KiB
C

#pragma once
struct CellSpurs;
// libCelp8Enc = 0x806140a1 - 0x806140bf
// typedef void* CellCelp8EncHandle;
// Return Codes
enum CellCelp8EncError : u32
{
CELL_CELP8ENC_ERROR_FAILED = 0x806140a1,
CELL_CELP8ENC_ERROR_SEQ = 0x806140a2,
CELL_CELP8ENC_ERROR_ARG = 0x806140a3,
CELL_CELP8ENC_ERROR_CORE_FAILED = 0x806140b1,
CELL_CELP8ENC_ERROR_CORE_SEQ = 0x806140b2,
CELL_CELP8ENC_ERROR_CORE_ARG = 0x806140b3,
};
// Definitions
enum CELL_CELP8ENC_MPE_CONFIG
{
CELL_CELP8ENC_MPE_CONFIG_0 = 0,
CELL_CELP8ENC_MPE_CONFIG_2 = 2,
CELL_CELP8ENC_MPE_CONFIG_6 = 6,
CELL_CELP8ENC_MPE_CONFIG_9 = 9,
CELL_CELP8ENC_MPE_CONFIG_12 = 12,
CELL_CELP8ENC_MPE_CONFIG_15 = 15,
CELL_CELP8ENC_MPE_CONFIG_18 = 18,
CELL_CELP8ENC_MPE_CONFIG_21 = 21,
CELL_CELP8ENC_MPE_CONFIG_24 = 24,
CELL_CELP8ENC_MPE_CONFIG_26 = 26,
};
enum CELL_CELP8ENC_SAMPEL_RATE
{
CELL_CELP8ENC_FS_8kHz = 1,
};
enum CELL_CELP8ENC_EXCITATION_MODE
{
CELL_CELP8ENC_EXCITATION_MODE_MPE = 0,
};
enum CELL_CELP8ENC_WORD_SZ
{
CELL_CELP8ENC_WORD_SZ_FLOAT,
};
struct CellCelp8EncAttr
{
be_t<u32> workMemSize;
be_t<u32> celpEncVerUpper;
be_t<u32> celpEncVerLower;
};
struct CellCelp8EncResource
{
be_t<u32> totalMemSize;
vm::bptr<void> startAddr;
be_t<u32> ppuThreadPriority;
be_t<u32> spuThreadPriority;
be_t<u32/*usz*/> ppuThreadStackSize;
};
struct CellCelp8EncParam
{
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 CellCelp8EncAuInfo
{
vm::bptr<void> startAddr;
be_t<u32> size;
};
struct CellCelp8EncPcmInfo
{
vm::bptr<void> startAddr;
be_t<u32> size;
};
struct CellCelp8EncResourceEx
{
be_t<u32> totalMemSize;
vm::bptr<void> startAddr;
vm::bptr<CellSpurs> spurs;
u8 priority[8];
be_t<u32> maxContention;
};