public int sceMpegAvcDecode(int mpeg, int au, int framewidth, int buffer, int num) { Debug.Assert(num != 0); byte * pmpeg = _memorySystem.Translate(( uint )mpeg); SceMpeg *sceMpeg = ( SceMpeg * )pmpeg; byte * ptr = RingBuffer.Read( _memorySystem.Translate(( uint )sceMpeg->Ringbuffer->pData), sceMpeg->Ringbuffer->iPackets, sceMpeg->Ringbuffer->iPacketSize, ref sceMpeg->Ringbuffer->iReadPackets); uint pbuffer = *(( uint * )_memorySystem.Translate(( uint )buffer)); uint *ppbuffer = ( uint * )_memorySystem.Translate(pbuffer); for (int n = 0; n < framewidth; n++) { *(ppbuffer++) = ( uint )(0xCCDDEEFF + n); } // 1 = decoded something, else 0 if (num != 0) { uint *pnum = ( uint * )_memorySystem.Translate(( uint )num); * pnum = 1; } return(0); }
public int sceMpegCreate(SceMpegPointer *sceMpegPointer, void *mpegData, int mpegSize, SceMpegRingbuffer *sceMpegRingbuffer, int frameWidth, int mode, int ddrTop) { //return -1; var mpeg = GetMpeg(sceMpegPointer); if (mpegSize < sceMpegQueryMemSize(0)) { throw (new SceKernelException(SceKernelErrors.ERROR_MPEG_NO_MEMORY)); } // Update the ring buffer struct. if (sceMpegRingbuffer->PacketSize == 0) { sceMpegRingbuffer->PacketsAvailable = 0; } else { sceMpegRingbuffer->PacketsAvailable = (int)((sceMpegRingbuffer->DataEnd.Address - sceMpegRingbuffer->Data.Address) / sceMpegRingbuffer->PacketSize); } sceMpegRingbuffer->SceMpeg = Memory.PointerToPspPointer(sceMpegPointer); SceMpeg *sceMpegData = (SceMpeg *)(((byte *)mpegData) + 0x30); sceMpegPointer->SceMpeg = Memory.PointerToPspPointer(sceMpegData); PointerUtils.StoreStringOnPtr("LIBMPEG", Encoding.UTF8, sceMpegData->MagicBytes); PointerUtils.StoreStringOnPtr("001", Encoding.UTF8, sceMpegData->VersionBytes); sceMpegData->Pad = -1; sceMpegData->RingBufferAddress = Memory.PointerToPspPointer(sceMpegRingbuffer); sceMpegData->RingBufferAddressDataUpper = sceMpegRingbuffer->DataEnd; sceMpegData->FrameWidth = frameWidth; sceMpegData->SceMpegAvcMode.Mode = -1; sceMpegData->SceMpegAvcMode.PixelFormat = GuPixelFormats.Rgba8888; sceMpegData->VideoFrameCount = 0; sceMpegData->AudioFrameCount = 0; sceMpegRingbuffer->PacketsTotal = 0; mpeg.ReadPackets = numPackets => (int)HleInterop.ExecuteFunctionNow(sceMpegRingbuffer->Callback, sceMpegRingbuffer->Data, numPackets, sceMpegRingbuffer->CallbackParameter); mpeg._Mpeg = sceMpegPointer; mpeg.Data = sceMpegData; mpeg.Create(); return(0); }
public int sceMpegCreate(int mpeg, int data, int size, int ringbuffer, int framewidth, int unk1, int unk2) { Log.WriteLine(Verbosity.Normal, Feature.Bios, "sceMpegCreate({0:X8}, {1:X8}, {2}, {3:X8}, {4}, {5}, {6})", mpeg, data, size, ringbuffer, framewidth, unk1, unk2); byte *pmpeg = _memorySystem.Translate(( uint )mpeg); byte *pdata = _memorySystem.Translate(( uint )data); // size = size returned from sceMpegQueryMemSize byte *prb = _memorySystem.Translate(( uint )ringbuffer); SceMpeg *sceMpeg = ( SceMpeg * )pmpeg; sceMpeg->Ringbuffer = ( sceMpegRingbuffer * )prb; return(0); }
private void _FinishMpeg(SceMpeg *SceMpegData) { Console.WriteLine("_FinishMpeg"); }
public int sceMpegQueryAtracEsSize(SceMpeg *Mpeg, int *iEsSize, int *iOutSize) { //throw(new NotImplementedException()); return(0); }
public int sceMpegGetAvcAu(SceMpeg *Mpeg, SceMpegStream *pStream, SceMpegAu *pAu, int *iUnk) { //throw(new NotImplementedException()); return(0); }
public int sceMpegCreate(SceMpeg *Mpeg, void *pData, int iSize, SceMpegRingbuffer *Ringbuffer, int iFrameWidth, int iUnk1, int iUnk2) { //throw (new NotImplementedException()); //Ringbuffer.iPackets = 0; return(-1); }
public int sceMpegAvcDecode(SceMpeg *Mpeg, SceMpegAu *pAu, int iFrameWidth, void *pBuffer, int *iInit) { //throw(new NotImplementedException()); return(0); }
public void *sceMpegMallocAvcEsBuf(SceMpeg *Mpeg) { //throw(new NotImplementedException()); return(null); }
public int sceMpegQueryStreamOffset(SceMpeg *Mpeg, void *pBuffer, int *iOffset) { //throw(new NotImplementedException()); *iOffset = 0; return(0); }
public int sceMpegInitAu(SceMpeg *Mpeg, void *pEsBuffer, SceMpegAu *pAu) { //throw(new NotImplementedException()); return(-1); }
public SceMpegStream *sceMpegRegistStream(SceMpeg *Mpeg, int iStreamID, int iUnk) { //throw(new NotImplementedException()); return(null); }
public void sceMpegDelete(SceMpeg *Mpeg) { //throw(new NotImplementedException()); }
public int sceMpegFlushAllStream(SceMpeg *Mpeg) { //throw(new NotImplementedException()); return(-1); }
public int sceMpegAvcDecodeStop(SceMpeg *Mpeg, int iFrameWidth, void *pBuffer, int *iStatus) { //throw(new NotImplementedException()); return(-1); }
public int sceMpegAtracDecode(SceMpeg *Mpeg, SceMpegAu *pAu, void *pBuffer, int iInit) { //throw(new NotImplementedException()); return(-1); }
public int sceMpegAvcDecodeMode(SceMpeg *Mpeg, SceMpegAvcMode *pMode) { //throw(new NotImplementedException()); return(-1); }
public void sceMpegFreeAvcEsBuf(SceMpeg *Mpeg, void *pBuf) { //throw(new NotImplementedException()); return; }