mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-21 03:55:32 +00:00
cellSail improvements
This commit is contained in:
parent
ff3bfa1ca2
commit
c9f3871c68
2 changed files with 339 additions and 141 deletions
|
@ -77,7 +77,8 @@ s32 cellSailDescriptorSetAutoSelection(vm::ptr<CellSailDescriptor> pSelf, b8 aut
|
|||
{
|
||||
cellSail.Warning("cellSailDescriptorSetAutoSelection(pSelf=*0x%x, autoSelection=%d)", pSelf, autoSelection);
|
||||
|
||||
if (pSelf) {
|
||||
if (pSelf)
|
||||
{
|
||||
pSelf->autoSelection = autoSelection;
|
||||
return autoSelection;
|
||||
}
|
||||
|
@ -90,19 +91,22 @@ s32 cellSailDescriptorIsAutoSelection(vm::ptr<CellSailDescriptor> pSelf)
|
|||
cellSail.Warning("cellSailDescriptorIsAutoSelection(pSelf=*0x%x)", pSelf);
|
||||
|
||||
if (pSelf)
|
||||
{
|
||||
return pSelf->autoSelection;
|
||||
}
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailDescriptorCreateDatabase(vm::ptr<CellSailDescriptor> pSelf, vm::ptr<void> pDatabase, u32 size, u64 arg)
|
||||
{
|
||||
cellSail.Warning("cellSailDescriptorCreateDatabase(pSelf=*0x%x, pDatabase=*0x%x, size=0x%x, arg=0x%x", pSelf, pDatabase, size, arg);
|
||||
cellSail.Warning("cellSailDescriptorCreateDatabase(pSelf=*0x%x, pDatabase=*0x%x, size=0x%x, arg=0x%llx)", pSelf, pDatabase, size, arg);
|
||||
|
||||
switch ((s32)pSelf->streamType) {
|
||||
switch ((s32)pSelf->streamType)
|
||||
{
|
||||
case CELL_SAIL_STREAM_PAMF:
|
||||
{
|
||||
u32 addr = pSelf->internalData[1];
|
||||
u32 addr = pSelf->sp_;
|
||||
auto ptr = vm::ptr<CellPamfReader>::make(addr);
|
||||
memcpy(pDatabase.get_ptr(), ptr.get_ptr(), sizeof(CellPamfReader));
|
||||
break;
|
||||
|
@ -162,33 +166,84 @@ s32 cellSailDescriptorSetParameter()
|
|||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailSoundAdapterInitialize()
|
||||
s32 cellSailSoundAdapterInitialize(vm::ptr<CellSailSoundAdapter> pSelf, vm::cptr<CellSailSoundAdapterFuncs> pCallbacks, vm::ptr<void> pArg)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailSoundAdapterInitialize(pSelf=*0x%x, pCallbacks=*0x%x, pArg=*0x%x)", pSelf, pCallbacks, pArg);
|
||||
|
||||
if (pSelf->initialized)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
if (pSelf->registered)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
pSelf->pMakeup = pCallbacks->pMakeup;
|
||||
pSelf->pCleanup = pCallbacks->pCleanup;
|
||||
pSelf->pFormatChanged = pCallbacks->pFormatChanged;
|
||||
pSelf->arg = pArg;
|
||||
pSelf->initialized = true;
|
||||
pSelf->registered = false;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailSoundAdapterFinalize()
|
||||
s32 cellSailSoundAdapterFinalize(vm::ptr<CellSailSoundAdapter> pSelf)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailSoundAdapterFinalize(pSelf=*0x%x)", pSelf);
|
||||
|
||||
if (!pSelf->initialized)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
if (pSelf->registered)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailSoundAdapterSetPreferredFormat()
|
||||
s32 cellSailSoundAdapterSetPreferredFormat(vm::ptr<CellSailSoundAdapter> pSelf, vm::cptr<CellSailAudioFormat> pFormat)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailSoundAdapterSetPreferredFormat(pSelf=*0x%x, pFormat=*0x%x)", pSelf, pFormat);
|
||||
|
||||
pSelf->format = *pFormat;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailSoundAdapterGetFrame()
|
||||
s32 cellSailSoundAdapterGetFrame(vm::ptr<CellSailSoundAdapter> pSelf, u32 samples, vm::ptr<CellSailSoundFrameInfo> pInfo)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Todo("cellSailSoundAdapterGetFrame(pSelf=*0x%x, samples=%d, pInfo=*0x%x)", pSelf, samples, pInfo);
|
||||
|
||||
if (!pSelf->initialized)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
if (pSelf->registered)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
if (samples > 2048)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_ARG;
|
||||
}
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailSoundAdapterGetFormat()
|
||||
s32 cellSailSoundAdapterGetFormat(vm::ptr<CellSailSoundAdapter> pSelf, vm::ptr<CellSailAudioFormat> pFormat)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailSoundAdapterGetFormat(pSelf=*0x%x, pFormat=*0x%x)", pSelf, pFormat);
|
||||
|
||||
*pFormat = pSelf->format;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
@ -204,39 +259,76 @@ s32 cellSailSoundAdapterPtsToTimePosition()
|
|||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailGraphicsAdapterInitialize()
|
||||
s32 cellSailGraphicsAdapterInitialize(vm::ptr<CellSailGraphicsAdapter> pSelf, vm::cptr<CellSailGraphicsAdapterFuncs> pCallbacks, vm::ptr<void> pArg)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailGraphicsAdapterInitialize(pSelf=*0x%x, pCallbacks=*0x%x, pArg=*0x%x)", pSelf, pCallbacks, pArg);
|
||||
|
||||
if (pSelf->initialized)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
if (pSelf->registered)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
pSelf->pMakeup = pCallbacks->pMakeup;
|
||||
pSelf->pCleanup = pCallbacks->pCleanup;
|
||||
pSelf->pFormatChanged = pCallbacks->pFormatChanged;
|
||||
pSelf->pAlloc = pCallbacks->pAlloc;
|
||||
pSelf->pFree = pCallbacks->pFree;
|
||||
pSelf->arg = pArg;
|
||||
pSelf->initialized = true;
|
||||
pSelf->registered = true;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailGraphicsAdapterFinalize()
|
||||
s32 cellSailGraphicsAdapterFinalize(vm::ptr<CellSailGraphicsAdapter> pSelf)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Todo("cellSailGraphicsAdapterFinalize(pSelf=*0x%x)", pSelf);
|
||||
|
||||
if (!pSelf->initialized)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
if (pSelf->registered)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_STATE;
|
||||
}
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailGraphicsAdapterSetPreferredFormat()
|
||||
s32 cellSailGraphicsAdapterSetPreferredFormat(vm::ptr<CellSailGraphicsAdapter> pSelf, vm::cptr<CellSailVideoFormat> pFormat)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailGraphicsAdapterSetPreferredFormat(pSelf=*0x%x, pFormat=*0x%x)", pSelf, pFormat);
|
||||
|
||||
pSelf->format = *pFormat;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailGraphicsAdapterGetFrame()
|
||||
s32 cellSailGraphicsAdapterGetFrame(vm::ptr<CellSailGraphicsAdapter> pSelf, vm::ptr<CellSailGraphicsFrameInfo> pInfo)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Todo("cellSailGraphicsAdapterGetFrame(pSelf=*0x%x, pInfo=*0x%x)", pSelf, pInfo);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailGraphicsAdapterGetFrame2()
|
||||
s32 cellSailGraphicsAdapterGetFrame2(vm::ptr<CellSailGraphicsAdapter> pSelf, vm::ptr<CellSailGraphicsFrameInfo> pInfo, vm::ptr<CellSailGraphicsFrameInfo> pPrevInfo, vm::ptr<u64> pFlipTime, u64 flags)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Todo("cellSailGraphicsAdapterGetFrame2(pSelf=*0x%x, pInfo=*0x%x, pPrevInfo=*0x%x, flipTime=*0x%x, flags=0x%llx)", pSelf, pInfo, pPrevInfo, pFlipTime, flags);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailGraphicsAdapterGetFormat()
|
||||
s32 cellSailGraphicsAdapterGetFormat(vm::ptr<CellSailGraphicsAdapter> pSelf, vm::ptr<CellSailVideoFormat> pFormat)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailGraphicsAdapterGetFormat(pSelf=*0x%x, pFormat=*0x%x)", pSelf, pFormat);
|
||||
|
||||
*pFormat = pSelf->format;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
@ -520,9 +612,20 @@ s32 cellSailPlayerInitialize2(
|
|||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailPlayerFinalize()
|
||||
s32 cellSailPlayerFinalize(vm::ptr<CellSailPlayer> pSelf)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Todo("cellSailPlayerFinalize(pSelf=*0x%x)", pSelf);
|
||||
|
||||
if (pSelf->sAdapter)
|
||||
{
|
||||
pSelf->sAdapter->registered = false;
|
||||
}
|
||||
|
||||
if (pSelf->gAdapter)
|
||||
{
|
||||
pSelf->gAdapter->registered = false;
|
||||
}
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
@ -538,15 +641,35 @@ s32 cellSailPlayerGetRegisteredProtocols()
|
|||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailPlayerSetSoundAdapter()
|
||||
s32 cellSailPlayerSetSoundAdapter(vm::ptr<CellSailPlayer> pSelf, u32 index, vm::ptr<CellSailSoundAdapter> pAdapter)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailPlayerSetSoundAdapter(pSelf=*0x%x, index=%d, pAdapter=*0x%x)", pSelf, index, pAdapter);
|
||||
|
||||
if (index > pSelf->attribute.maxAudioStreamNum)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_ARG;
|
||||
}
|
||||
|
||||
pSelf->sAdapter = pAdapter;
|
||||
pAdapter->index = index;
|
||||
pAdapter->registered = true;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailPlayerSetGraphicsAdapter()
|
||||
s32 cellSailPlayerSetGraphicsAdapter(vm::ptr<CellSailPlayer> pSelf, u32 index, vm::ptr<CellSailGraphicsAdapter> pAdapter)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Warning("cellSailPlayerSetGraphicsAdapter(pSelf=*0x%x, index=%d, pAdapter=*0x%x)", pSelf, index, pAdapter);
|
||||
|
||||
if (index > pSelf->attribute.maxVideoStreamNum)
|
||||
{
|
||||
return CELL_SAIL_ERROR_INVALID_ARG;
|
||||
}
|
||||
|
||||
pSelf->gAdapter = pAdapter;
|
||||
pAdapter->index = index;
|
||||
pAdapter->registered = true;
|
||||
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
@ -568,9 +691,9 @@ s32 cellSailPlayerSetRendererVideo()
|
|||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailPlayerSetParameter()
|
||||
s32 cellSailPlayerSetParameter(vm::ptr<CellSailPlayer> pSelf, s32 parameterType, u64 param0, u64 param1)
|
||||
{
|
||||
UNIMPLEMENTED_FUNC(cellSail);
|
||||
cellSail.Todo("cellSailPlayerSetParameter(pSelf=*0x%x, parameterType=0x%x (%s), param0=0x%llx, param1=0x%llx)", pSelf, parameterType, ParameterCodeToName(parameterType), param0, param1);
|
||||
return CELL_OK;
|
||||
}
|
||||
|
||||
|
@ -622,9 +745,9 @@ s32 cellSailPlayerAddDescriptor(vm::ptr<CellSailPlayer> pSelf, vm::ptr<CellSailD
|
|||
return CELL_OK;
|
||||
}
|
||||
|
||||
s32 cellSailPlayerCreateDescriptor(vm::ptr<CellSailPlayer> pSelf, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, vm::pptr<CellSailDescriptor> ppDesc)
|
||||
s32 cellSailPlayerCreateDescriptor(vm::ptr<CellSailPlayer> pSelf, s32 streamType, vm::ptr<void> pMediaInfo, vm::cptr<char> pUri, vm::pptr<CellSailDescriptor> ppDesc)
|
||||
{
|
||||
cellSail.Warning("cellSailPlayerCreateDescriptor(pSelf=*0x%x, streamType=%d, pMediaInfo=*0x%x, pUri=*0x%x, ppDesc=**0x%x)", pSelf, streamType, pMediaInfo, pUri, ppDesc);
|
||||
cellSail.Todo("cellSailPlayerCreateDescriptor(pSelf=*0x%x, streamType=%d, pMediaInfo=*0x%x, pUri=*0x%x, ppDesc=**0x%x)", pSelf, streamType, pMediaInfo, pUri, ppDesc);
|
||||
|
||||
u32 descriptorAddress = vm::alloc(sizeof(CellSailDescriptor), vm::main);
|
||||
auto descriptor = vm::ptr<CellSailDescriptor>::make(descriptorAddress);
|
||||
|
@ -640,28 +763,33 @@ s32 cellSailPlayerCreateDescriptor(vm::ptr<CellSailPlayer> pSelf, s32 streamType
|
|||
case CELL_SAIL_STREAM_PAMF:
|
||||
{
|
||||
std::string uri = pUri.get_ptr();
|
||||
if (uri.substr(0, 12) == "x-cell-fs://") {
|
||||
if (uri.substr(0, 12) == "x-cell-fs://")
|
||||
{
|
||||
std::string path = uri.substr(12);
|
||||
vfsFile f;
|
||||
if (f.Open(path)) {
|
||||
if (f.Open(path))
|
||||
{
|
||||
u64 size = f.GetSize();
|
||||
u32 buf_ = vm::alloc(size, vm::main);
|
||||
auto bufPtr = vm::cptr<PamfHeader>::make(buf_);
|
||||
u32 buffer = vm::alloc(size, vm::main);
|
||||
auto bufPtr = vm::cptr<PamfHeader>::make(buffer);
|
||||
PamfHeader *buf = const_cast<PamfHeader*>(bufPtr.get_ptr());
|
||||
assert(f.Read(buf, size) == size);
|
||||
u32 sp_ = vm::alloc(sizeof(CellPamfReader), vm::main);
|
||||
auto sp = vm::ptr<CellPamfReader>::make(sp_);
|
||||
u32 r = cellPamfReaderInitialize(sp, bufPtr, size, 0);
|
||||
u32 reader = cellPamfReaderInitialize(sp, bufPtr, size, 0);
|
||||
|
||||
descriptor->internalData[0] = buf_;
|
||||
descriptor->internalData[1] = sp_;
|
||||
descriptor->buffer = buffer;
|
||||
descriptor->sp_ = sp_;
|
||||
}
|
||||
else
|
||||
{
|
||||
cellSail.Warning("Couldn't open PAMF: %s", uri.c_str());
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellSail.Warning("Unhandled uri: %s", uri.c_str());
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
@ -610,74 +610,76 @@ struct CellSailSourceStreamingProfile
|
|||
|
||||
union CellSailEvent
|
||||
{
|
||||
struct u32x2 {
|
||||
struct u32x2
|
||||
{
|
||||
be_t<u32> major;
|
||||
be_t<u32> minor;
|
||||
};
|
||||
|
||||
struct ui64 {
|
||||
struct ui64
|
||||
{
|
||||
be_t<u64> value;
|
||||
};
|
||||
};
|
||||
|
||||
typedef vm::ptr<u32>(CellSailMemAllocatorFuncAlloc)(vm::ptr<void> pArg, u32 boundary, u32 size);
|
||||
typedef void(CellSailMemAllocatorFuncFree)(vm::ptr<void> pArg, u32 boundary, vm::ptr<u32> pMemory);
|
||||
using CellSailMemAllocatorFuncAlloc = vm::ptr<void>(vm::ptr<void> pArg, u32 boundary, u32 size);
|
||||
using CellSailMemAllocatorFuncFree = void(vm::ptr<void> pArg, u32 boundary, vm::ptr<void> pMemory);
|
||||
|
||||
typedef s32(CellSailSoundAdapterFuncMakeup)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailSoundAdapterFuncCleanup)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailSoundAdapterFuncFormatChanged)(vm::ptr<void> pArg, vm::ptr<CellSailAudioFormat> pFormat, u32 sessionId);
|
||||
using CellSailSoundAdapterFuncMakeup = s32(vm::ptr<void> pArg);
|
||||
using CellSailSoundAdapterFuncCleanup = s32(vm::ptr<void> pArg);
|
||||
using CellSailSoundAdapterFuncFormatChanged = void(vm::ptr<void> pArg, vm::ptr<CellSailAudioFormat> pFormat, u32 sessionId);
|
||||
|
||||
typedef s32(CellSailGraphicsAdapterFuncMakeup)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailGraphicsAdapterFuncCleanup)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailGraphicsAdapterFuncFormatChanged)(vm::ptr<void> pArg, vm::ptr<CellSailVideoFormat> pFormat, u32 sessionId);
|
||||
typedef s32(CellSailGraphicsAdapterFuncAllocFrame)(vm::ptr<void> pArg, u32 size, s32 num, vm::pptr<u8> ppFrame);
|
||||
typedef s32(CellSailGraphicsAdapterFuncFreeFrame)(vm::ptr<void> pArg, s32 num, vm::pptr<u8> ppFrame);
|
||||
using CellSailGraphicsAdapterFuncMakeup = s32(vm::ptr<void> pArg);
|
||||
using CellSailGraphicsAdapterFuncCleanup = s32(vm::ptr<void> pArg);
|
||||
using CellSailGraphicsAdapterFuncFormatChanged = void(vm::ptr<void> pArg, vm::ptr<CellSailVideoFormat> pFormat, u32 sessionId);
|
||||
using CellSailGraphicsAdapterFuncAllocFrame = s32(vm::ptr<void> pArg, u32 size, s32 num, vm::pptr<u8> ppFrame);
|
||||
using CellSailGraphicsAdapterFuncFreeFrame = s32(vm::ptr<void> pArg, s32 num, vm::pptr<u8> ppFrame);
|
||||
|
||||
typedef s32(CellSailSourceFuncMakeup)(vm::ptr<void> pArg, vm::cptr<char> pProtocolNames);
|
||||
typedef s32(CellSailSourceFuncCleanup)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailSourceFuncOpen)(vm::ptr<void> pArg, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, vm::ptr<CellSailSourceStreamingProfile> pProfile);
|
||||
typedef void(CellSailSourceFuncClose)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailSourceFuncStart)(vm::ptr<void> pArg, vm::ptr<CellSailSourceStartCommand> pCommand, u32 sessionId);
|
||||
typedef void(CellSailSourceFuncStop)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailSourceFuncCancel)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailSourceFuncCheckout)(vm::ptr<void> pArg, vm::pptr<CellSailSourceBufferItem> ppItem);
|
||||
typedef s32(CellSailSourceFuncCheckin)(vm::ptr<void> pArg, vm::ptr<CellSailSourceBufferItem> pItem);
|
||||
typedef s32(CellSailSourceFuncClear)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailSourceFuncRead)(vm::ptr<void> pArg, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, u64 offset, vm::ptr<u8> pBuf, u32 size, vm::ptr<u64> pTotalSize);
|
||||
typedef s32(CellSailSourceFuncReadSync)(vm::ptr<void> pArg, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, u64 offset, vm::ptr<u8> pBuf, u32 size, vm::ptr<u64> pTotalSize);
|
||||
typedef s32(CellSailSourceFuncGetCapabilities)(vm::ptr<void> pArg, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, vm::ptr<u64> pCapabilities);
|
||||
typedef s32(CellSailSourceFuncInquireCapability)(vm::ptr<void> pArg, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, vm::ptr<CellSailSourceStartCommand> pCommand);
|
||||
typedef void(CellSailSourceCheckFuncError)(vm::ptr<void> pArg, vm::cptr<char> pMsg, s32 line);
|
||||
using CellSailSourceFuncMakeup = s32(vm::ptr<void> pArg, vm::cptr<char> pProtocolNames);
|
||||
using CellSailSourceFuncCleanup = s32(vm::ptr<void> pArg);
|
||||
using CellSailSourceFuncOpen = void(vm::ptr<void> pArg, s32 streamType, vm::ptr<void> pMediaInfo, vm::cptr<char> pUri, vm::ptr<CellSailSourceStreamingProfile> pProfile);
|
||||
using CellSailSourceFuncClose = void(vm::ptr<void> pArg);
|
||||
using CellSailSourceFuncStart = void(vm::ptr<void> pArg, vm::ptr<CellSailSourceStartCommand> pCommand, u32 sessionId);
|
||||
using CellSailSourceFuncStop = void(vm::ptr<void> pArg);
|
||||
using CellSailSourceFuncCancel = void(vm::ptr<void> pArg);
|
||||
using CellSailSourceFuncCheckout = s32(vm::ptr<void> pArg, vm::pptr<CellSailSourceBufferItem> ppItem);
|
||||
using CellSailSourceFuncCheckin = s32(vm::ptr<void> pArg, vm::ptr<CellSailSourceBufferItem> pItem);
|
||||
using CellSailSourceFuncClear = s32(vm::ptr<void> pArg);
|
||||
using CellSailSourceFuncRead = s32(vm::ptr<void> pArg, s32 streamType, vm::ptr<void> pMediaInfo, vm::cptr<char> pUri, u64 offset, vm::ptr<u8> pBuf, u32 size, vm::ptr<u64> pTotalSize);
|
||||
using CellSailSourceFuncReadSync = s32(vm::ptr<void> pArg, s32 streamType, vm::ptr<void> pMediaInfo, vm::cptr<char> pUri, u64 offset, vm::ptr<u8> pBuf, u32 size, vm::ptr<u64> pTotalSize);
|
||||
using CellSailSourceFuncGetCapabilities = s32(vm::ptr<void> pArg, s32 streamType, vm::ptr<void> pMediaInfo, vm::cptr<char> pUri, vm::ptr<u64> pCapabilities);
|
||||
using CellSailSourceFuncInquireCapability = s32(vm::ptr<void> pArg, s32 streamType, vm::ptr<void> pMediaInfo, vm::cptr<char> pUri, vm::ptr<CellSailSourceStartCommand> pCommand);
|
||||
using CellSailSourceCheckFuncError = void(vm::ptr<void> pArg, vm::cptr<char> pMsg, s32 line);
|
||||
|
||||
typedef s32(CellSailFsFuncOpen)(vm::cptr<char> pPath, s32 flag, vm::ptr<s32> pFd, vm::ptr<void> pArg, u64 size);
|
||||
typedef s32(CellSailFsFuncOpenSecond)(vm::cptr<char> pPath, s32 flag, s32 fd, vm::ptr<void> pArg, u64 size);
|
||||
typedef s32(CellSailFsFuncClose)(s32 fd);
|
||||
typedef s32(CellSailFsFuncFstat)(s32 fd, vm::ptr<u32> pStat_addr);
|
||||
typedef s32(CellSailFsFuncRead)(s32 fd, vm::ptr<u32> pBuf, u64 numBytes, vm::ptr<u64> pNumRead);
|
||||
typedef s32(CellSailFsFuncLseek)(s32 fd, s64 offset, s32 whence, vm::ptr<u64> pPosition);
|
||||
typedef s32(CellSailFsFuncCancel)(s32 fd);
|
||||
using CellSailFsFuncOpen = s32(vm::cptr<char> pPath, s32 flag, vm::ptr<s32> pFd, vm::ptr<void> pArg, u64 size);
|
||||
using CellSailFsFuncOpenSecond = s32(vm::cptr<char> pPath, s32 flag, s32 fd, vm::ptr<void> pArg, u64 size);
|
||||
using CellSailFsFuncClose = s32(s32 fd);
|
||||
using CellSailFsFuncFstat = s32(s32 fd, vm::ptr<struct CellFstat> pStat);
|
||||
using CellSailFsFuncRead = s32(s32 fd, vm::ptr<void> pBuf, u64 numBytes, vm::ptr<u64> pNumRead);
|
||||
using CellSailFsFuncLseek = s32(s32 fd, s64 offset, s32 whence, vm::ptr<u64> pPosition);
|
||||
using CellSailFsFuncCancel = s32(s32 fd);
|
||||
|
||||
typedef s32(CellSailRendererAudioFuncMakeup)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailRendererAudioFuncCleanup)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailRendererAudioFuncOpen)(vm::ptr<void> pArg, vm::ptr<CellSailAudioFormat> pInfo, u32 frameNum);
|
||||
typedef void(CellSailRendererAudioFuncClose)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailRendererAudioFuncStart)(vm::ptr<void> pArg, b8 buffering);
|
||||
typedef void(CellSailRendererAudioFuncStop)(vm::ptr<void> pArg, b8 flush);
|
||||
typedef void(CellSailRendererAudioFuncCancel)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailRendererAudioFuncCheckout)(vm::ptr<void> pArg, vm::pptr<CellSailAudioFrameInfo> ppInfo);
|
||||
typedef s32(CellSailRendererAudioFuncCheckin)(vm::ptr<void> pArg, vm::ptr<CellSailAudioFrameInfo> pInfo);
|
||||
using CellSailRendererAudioFuncMakeup = s32(vm::ptr<void> pArg);
|
||||
using CellSailRendererAudioFuncCleanup = s32(vm::ptr<void> pArg);
|
||||
using CellSailRendererAudioFuncOpen = void(vm::ptr<void> pArg, vm::ptr<CellSailAudioFormat> pInfo, u32 frameNum);
|
||||
using CellSailRendererAudioFuncClose = void(vm::ptr<void> pArg);
|
||||
using CellSailRendererAudioFuncStart = void(vm::ptr<void> pArg, b8 buffering);
|
||||
using CellSailRendererAudioFuncStop = void(vm::ptr<void> pArg, b8 flush);
|
||||
using CellSailRendererAudioFuncCancel = void(vm::ptr<void> pArg);
|
||||
using CellSailRendererAudioFuncCheckout = s32(vm::ptr<void> pArg, vm::pptr<CellSailAudioFrameInfo> ppInfo);
|
||||
using CellSailRendererAudioFuncCheckin = s32(vm::ptr<void> pArg, vm::ptr<CellSailAudioFrameInfo> pInfo);
|
||||
|
||||
typedef s32(CellSailRendererVideoFuncMakeup)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailRendererVideoFuncCleanup)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailRendererVideoFuncOpen)(vm::ptr<void> pArg, vm::ptr<CellSailVideoFormat> pInfo, u32 frameNum, u32 minFrameNum);
|
||||
typedef void(CellSailRendererVideoFuncClose)(vm::ptr<void> pArg);
|
||||
typedef void(CellSailRendererVideoFuncStart)(vm::ptr<void> pArg, b8 buffering);
|
||||
typedef void(CellSailRendererVideoFuncStop)(vm::ptr<void> pArg, b8 flush, b8 keepRendering);
|
||||
typedef void(CellSailRendererVideoFuncCancel)(vm::ptr<void> pArg);
|
||||
typedef s32(CellSailRendererVideoFuncCheckout)(vm::ptr<void> pArg, vm::pptr<CellSailVideoFrameInfo> ppInfo);
|
||||
typedef s32(CellSailRendererVideoFuncCheckin)(vm::ptr<void> pArg, vm::ptr<CellSailVideoFrameInfo> pInfo);
|
||||
using CellSailRendererVideoFuncMakeup = s32(vm::ptr<void> pArg);
|
||||
using CellSailRendererVideoFuncCleanup = s32(vm::ptr<void> pArg);
|
||||
using CellSailRendererVideoFuncOpen = void(vm::ptr<void> pArg, vm::ptr<CellSailVideoFormat> pInfo, u32 frameNum, u32 minFrameNum);
|
||||
using CellSailRendererVideoFuncClose = void(vm::ptr<void> pArg);
|
||||
using CellSailRendererVideoFuncStart = void(vm::ptr<void> pArg, b8 buffering);
|
||||
using CellSailRendererVideoFuncStop = void(vm::ptr<void> pArg, b8 flush, b8 keepRendering);
|
||||
using CellSailRendererVideoFuncCancel = void(vm::ptr<void> pArg);
|
||||
using CellSailRendererVideoFuncCheckout = s32(vm::ptr<void> pArg, vm::pptr<CellSailVideoFrameInfo> ppInfo);
|
||||
using CellSailRendererVideoFuncCheckin = s32(vm::ptr<void> pArg, vm::ptr<CellSailVideoFrameInfo> pInfo);
|
||||
|
||||
typedef void(CellSailPlayerFuncNotified)(vm::ptr<void> pArg, CellSailEvent event, u64 arg0, u64 arg1);
|
||||
using CellSailPlayerFuncNotified = void(vm::ptr<void> pArg, CellSailEvent event, u64 arg0, u64 arg1);
|
||||
|
||||
struct CellSailMemAllocatorFuncs
|
||||
{
|
||||
|
@ -702,9 +704,9 @@ struct CellSailFuture
|
|||
|
||||
struct CellSailSoundAdapterFuncs
|
||||
{
|
||||
CellSailSoundAdapterFuncMakeup pMakeup;
|
||||
CellSailSoundAdapterFuncCleanup pCleanup;
|
||||
CellSailSoundAdapterFuncFormatChanged pFormatChanged;
|
||||
vm::bptr<CellSailSoundAdapterFuncMakeup> pMakeup;
|
||||
vm::bptr<CellSailSoundAdapterFuncCleanup> pCleanup;
|
||||
vm::bptr<CellSailSoundAdapterFuncFormatChanged> pFormatChanged;
|
||||
};
|
||||
|
||||
struct CellSailSoundFrameInfo
|
||||
|
@ -718,16 +720,25 @@ struct CellSailSoundFrameInfo
|
|||
|
||||
struct CellSailSoundAdapter
|
||||
{
|
||||
be_t<u64> internalData[32];
|
||||
bool initialized;
|
||||
bool registered;
|
||||
vm::ptr<CellSailSoundAdapterFuncMakeup> pMakeup;
|
||||
vm::ptr<CellSailSoundAdapterFuncCleanup> pCleanup;
|
||||
vm::ptr<CellSailSoundAdapterFuncFormatChanged> pFormatChanged;
|
||||
vm::ptr<void> arg;
|
||||
be_t<u32> index;
|
||||
CellSailAudioFormat format;
|
||||
};
|
||||
|
||||
CHECK_MAX_SIZE(CellSailSoundAdapter, 0x100);
|
||||
|
||||
struct CellSailGraphicsAdapterFuncs
|
||||
{
|
||||
CellSailGraphicsAdapterFuncMakeup pMakeup;
|
||||
CellSailGraphicsAdapterFuncCleanup pCleanup;
|
||||
CellSailGraphicsAdapterFuncFormatChanged pFormatChanged;
|
||||
CellSailGraphicsAdapterFuncAllocFrame pAlloc;
|
||||
CellSailGraphicsAdapterFuncFreeFrame pFree;
|
||||
vm::bptr<CellSailGraphicsAdapterFuncMakeup> pMakeup;
|
||||
vm::bptr<CellSailGraphicsAdapterFuncCleanup> pCleanup;
|
||||
vm::bptr<CellSailGraphicsAdapterFuncFormatChanged> pFormatChanged;
|
||||
vm::bptr<CellSailGraphicsAdapterFuncAllocFrame> pAlloc;
|
||||
vm::bptr<CellSailGraphicsAdapterFuncFreeFrame> pFree;
|
||||
};
|
||||
|
||||
struct CellSailGraphicsFrameInfo
|
||||
|
@ -741,9 +752,20 @@ struct CellSailGraphicsFrameInfo
|
|||
|
||||
struct CellSailGraphicsAdapter
|
||||
{
|
||||
be_t<u64> internalData[32];
|
||||
bool initialized;
|
||||
bool registered;
|
||||
vm::ptr<CellSailGraphicsAdapterFuncMakeup> pMakeup;
|
||||
vm::ptr<CellSailGraphicsAdapterFuncCleanup> pCleanup;
|
||||
vm::ptr<CellSailGraphicsAdapterFuncFormatChanged> pFormatChanged;
|
||||
vm::ptr<CellSailGraphicsAdapterFuncAllocFrame> pAlloc;
|
||||
vm::ptr<CellSailGraphicsAdapterFuncFreeFrame> pFree;
|
||||
vm::ptr<void> arg;
|
||||
CellSailVideoFormat format;
|
||||
be_t<s32> index;
|
||||
};
|
||||
|
||||
CHECK_MAX_SIZE(CellSailGraphicsAdapter, 0x100);
|
||||
|
||||
struct CellSailAuInfo
|
||||
{
|
||||
be_t<u32> pAu;
|
||||
|
@ -762,15 +784,15 @@ struct CellSailAuReceiver
|
|||
|
||||
struct CellSailRendererAudioFuncs
|
||||
{
|
||||
CellSailRendererAudioFuncMakeup pMakeup;
|
||||
CellSailRendererAudioFuncCleanup pCleanup;
|
||||
CellSailRendererAudioFuncOpen pOpen;
|
||||
CellSailRendererAudioFuncClose pClose;
|
||||
CellSailRendererAudioFuncStart pStart;
|
||||
CellSailRendererAudioFuncStop pStop;
|
||||
CellSailRendererAudioFuncCancel pCancel;
|
||||
CellSailRendererAudioFuncCheckout pCheckout;
|
||||
CellSailRendererAudioFuncCheckin pCheckin;
|
||||
vm::bptr<CellSailRendererAudioFuncMakeup> pMakeup;
|
||||
vm::bptr<CellSailRendererAudioFuncCleanup> pCleanup;
|
||||
vm::bptr<CellSailRendererAudioFuncOpen> pOpen;
|
||||
vm::bptr<CellSailRendererAudioFuncClose> pClose;
|
||||
vm::bptr<CellSailRendererAudioFuncStart> pStart;
|
||||
vm::bptr<CellSailRendererAudioFuncStop> pStop;
|
||||
vm::bptr<CellSailRendererAudioFuncCancel> pCancel;
|
||||
vm::bptr<CellSailRendererAudioFuncCheckout> pCheckout;
|
||||
vm::bptr<CellSailRendererAudioFuncCheckin> pCheckin;
|
||||
};
|
||||
|
||||
struct CellSailRendererAudioAttribute
|
||||
|
@ -786,15 +808,15 @@ struct CellSailRendererAudio
|
|||
|
||||
struct CellSailRendererVideoFuncs
|
||||
{
|
||||
CellSailRendererVideoFuncMakeup pMakeup;
|
||||
CellSailRendererVideoFuncCleanup pCleanup;
|
||||
CellSailRendererVideoFuncOpen pOpen;
|
||||
CellSailRendererVideoFuncClose pClose;
|
||||
CellSailRendererVideoFuncStart pStart;
|
||||
CellSailRendererVideoFuncStop pStop;
|
||||
CellSailRendererVideoFuncCancel pCancel;
|
||||
CellSailRendererVideoFuncCheckout pCheckout;
|
||||
CellSailRendererVideoFuncCheckin pCheckin;
|
||||
vm::bptr<CellSailRendererVideoFuncMakeup> pMakeup;
|
||||
vm::bptr<CellSailRendererVideoFuncCleanup> pCleanup;
|
||||
vm::bptr<CellSailRendererVideoFuncOpen> pOpen;
|
||||
vm::bptr<CellSailRendererVideoFuncClose> pClose;
|
||||
vm::bptr<CellSailRendererVideoFuncStart> pStart;
|
||||
vm::bptr<CellSailRendererVideoFuncStop> pStop;
|
||||
vm::bptr<CellSailRendererVideoFuncCancel> pCancel;
|
||||
vm::bptr<CellSailRendererVideoFuncCheckout> pCheckout;
|
||||
vm::bptr<CellSailRendererVideoFuncCheckin> pCheckin;
|
||||
};
|
||||
|
||||
struct CellSailRendererVideoAttribute
|
||||
|
@ -810,20 +832,20 @@ struct CellSailRendererVideo
|
|||
|
||||
struct CellSailSourceFuncs
|
||||
{
|
||||
CellSailSourceFuncMakeup pMakeup;
|
||||
CellSailSourceFuncCleanup pCleanup;
|
||||
CellSailSourceFuncOpen pOpen;
|
||||
CellSailSourceFuncClose pClose;
|
||||
CellSailSourceFuncStart pStart;
|
||||
CellSailSourceFuncStop pStop;
|
||||
CellSailSourceFuncCancel pCancel;
|
||||
CellSailSourceFuncCheckout pCheckout;
|
||||
CellSailSourceFuncCheckin pCheckin;
|
||||
CellSailSourceFuncClear pClear;
|
||||
CellSailSourceFuncRead pRead;
|
||||
CellSailSourceFuncReadSync pReadSync;
|
||||
CellSailSourceFuncGetCapabilities pGetCapabilities;
|
||||
CellSailSourceFuncInquireCapability pInquireCapability;
|
||||
vm::bptr<CellSailSourceFuncMakeup> pMakeup;
|
||||
vm::bptr<CellSailSourceFuncCleanup> pCleanup;
|
||||
vm::bptr<CellSailSourceFuncOpen> pOpen;
|
||||
vm::bptr<CellSailSourceFuncClose> pClose;
|
||||
vm::bptr<CellSailSourceFuncStart> pStart;
|
||||
vm::bptr<CellSailSourceFuncStop> pStop;
|
||||
vm::bptr<CellSailSourceFuncCancel> pCancel;
|
||||
vm::bptr<CellSailSourceFuncCheckout> pCheckout;
|
||||
vm::bptr<CellSailSourceFuncCheckin> pCheckin;
|
||||
vm::bptr<CellSailSourceFuncClear> pClear;
|
||||
vm::bptr<CellSailSourceFuncRead> pRead;
|
||||
vm::bptr<CellSailSourceFuncReadSync> pReadSync;
|
||||
vm::bptr<CellSailSourceFuncGetCapabilities> pGetCapabilities;
|
||||
vm::bptr<CellSailSourceFuncInquireCapability> pInquireCapability;
|
||||
};
|
||||
|
||||
struct CellSailSource
|
||||
|
@ -1040,10 +1062,11 @@ struct CellSailDescriptor
|
|||
b8 autoSelection;
|
||||
b8 registered;
|
||||
be_t<s32> streamType;
|
||||
be_t<u64> internalData[31];
|
||||
be_t<u32> buffer;
|
||||
be_t<u32> sp_;
|
||||
};
|
||||
|
||||
CHECK_SIZE(CellSailDescriptor, 0x100);
|
||||
CHECK_MAX_SIZE(CellSailDescriptor, 0x100);
|
||||
|
||||
struct CellSailStartCommand
|
||||
{
|
||||
|
@ -1107,6 +1130,53 @@ struct CellSailPlayer
|
|||
s32 descriptors;
|
||||
vm::ptr<CellSailDescriptor> registeredDescriptors[2];
|
||||
bool paused;
|
||||
vm::ptr<CellSailSoundAdapter> sAdapter;
|
||||
vm::ptr<CellSailGraphicsAdapter> gAdapter;
|
||||
};
|
||||
|
||||
CHECK_MAX_SIZE(CellSailPlayer, 0x100);
|
||||
|
||||
inline static const char* ParameterCodeToName(s32 code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
case CELL_SAIL_PARAMETER_ENABLE_VPOST: return "ENABLE_VPOST";
|
||||
case CELL_SAIL_PARAMETER_CONTROL_QUEUE_DEPTH: return "CONTROL_QUEUE_DEPTH";
|
||||
case CELL_SAIL_PARAMETER_CONTROL_PPU_THREAD_PRIORITY: return "CONTROL_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_SPURS_NUM_OF_SPUS: return "SPURS_NUM_OF_SPUS";
|
||||
case CELL_SAIL_PARAMETER_SPURS_SPU_THREAD_PRIORITY: return "SPURS_SPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_SPURS_PPU_THREAD_PRIORITY: return "SPURS_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_SPURS_EXIT_IF_NO_WORK: return "SPURS_EXIT_IF_NO_WORK";
|
||||
case CELL_SAIL_PARAMETER_IO_PPU_THREAD_PRIORITY: return "IO_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_DMUX_PPU_THREAD_PRIORITY: return "DMUX_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_DMUX_SPU_THREAD_PRIORITY: return "DMUX_SPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_DMUX_NUM_OF_SPUS: return "DMUX_NUM_OF_SPUS";
|
||||
case CELL_SAIL_PARAMETER_DMUX_SPURS_TASK_PRIORITIES: return "DMUX_SPURS_TASK_PRIORITIES";
|
||||
case CELL_SAIL_PARAMETER_ADEC_PPU_THREAD_PRIORITY: return "ADEC_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_ADEC_SPU_THREAD_PRIORITY: return "ADEC_SPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_ADEC_NUM_OF_SPUS: return "ADEC_NUM_OF_SPUS";
|
||||
case CELL_SAIL_PARAMETER_ADEC_SPURS_TASK_PRIORITIES: return "ADEC_SPURS_TASK_PRIORITIES";
|
||||
case CELL_SAIL_PARAMETER_VDEC_PPU_THREAD_PRIORITY: return "VDEC_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_VDEC_SPU_THREAD_PRIORITY: return "VDEC_SPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_VDEC_M2V_NUM_OF_SPUS: return "VDEC_M2V_NUM_OF_SPUS";
|
||||
case CELL_SAIL_PARAMETER_VDEC_AVC_NUM_OF_SPUS: return "VDEC_AVC_NUM_OF_SPUS";
|
||||
case CELL_SAIL_PARAMETER_VDEC_SPURS_TASK_PRIORITIES: return "VDEC_SPURS_TASK_PRIORITIES";
|
||||
case CELL_SAIL_PARAMETER_VPOST_PPU_THREAD_PRIORITY: return "VPOST_PPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_VPOST_SPU_THREAD_PRIORITY: return "VPOST_SPU_THREAD_PRIORITY";
|
||||
case CELL_SAIL_PARAMETER_VPOST_NUM_OF_SPUS: return "VPOST_NUM_OF_SPUS";
|
||||
case CELL_SAIL_PARAMETER_VPOST_SPURS_TASK_PRIORITIES: return "VPOST_SPURS_TASK_PRIORITIES";
|
||||
case CELL_SAIL_PARAMETER_GRAPHICS_ADAPTER_BUFFER_RELEASE_DELAY: return "GRAPHICS_ADAPTER_BUFFER_RELEASE_DELAY";
|
||||
case CELL_SAIL_PARAMETER_AV_SYNC_ES_AUDIO: return "AV_SYNC_ES_AUDIO";
|
||||
case CELL_SAIL_PARAMETER_AV_SYNC_ES_VIDEO: return "AV_SYNC_ES_VIDEO";
|
||||
case CELL_SAIL_PARAMETER_AV_SYNC_ES_USER: return "AV_SYNC_ES_USER";
|
||||
case CELL_SAIL_PARAMETER_CONTROL_PPU_THREAD_STACK_SIZE: return "CONTROL_PPU_THREAD_STACK_SIZE";
|
||||
case CELL_SAIL_PARAMETER_RESERVED0_: return "RESERVED0_";
|
||||
case CELL_SAIL_PARAMETER_RESERVED1: return "RESERVED1";
|
||||
case CELL_SAIL_PARAMETER_ENABLE_APOST_SRC: return "ENABLE_APOST_SRC";
|
||||
case CELL_SAIL_PARAMETER_FS: return "FS";
|
||||
case CELL_SAIL_PARAMETER_IO_PPU_THREAD_STACK_SIZE: return "IO_PPU_THREAD_STACK_SIZE";
|
||||
case CELL_SAIL_PARAMETER_VIDEO_PERFORMANCE_POLICY: return "VIDEO_PERFORMANCE_POLICY";
|
||||
case _CELL_SAIL_PARAMETER_TYPE_NUM_OF_ELEMENTS: return "TYPE_NUM_OF_ELEMENTS";
|
||||
default: return "???";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue