pspmpeg.h

Go to the documentation of this file.
00001 /*
00002  * PSP Software Development Kit - http://www.pspdev.org
00003  * -----------------------------------------------------------------------
00004  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
00005  *
00006  * pspmpeg.h - Prototypes for the sceMpeg library
00007  *
00008  * Copyright (c) 2006 Sorin P. C. <magik@hypermagik.com>
00009  *
00010  * $Id$
00011  */
00012 
00013 #ifndef __SCELIBMPEG_H__
00014 #define __SCELIBMPEG_H__
00015 
00016 #include <psptypes.h>
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00023 typedef ScePVoid SceMpeg;
00024 
00026 typedef SceVoid  SceMpegStream;
00027 
00029 typedef SceInt32 (*sceMpegRingbufferCB)(ScePVoid pData, SceInt32 iNumPackets, ScePVoid pParam);
00030 
00031 typedef struct SceMpegRingbuffer
00032 {
00034         SceInt32                        iPackets;
00035 
00037         SceUInt32                       iUnk0;
00039         SceUInt32                       iUnk1;
00041         SceUInt32                       iUnk2;
00043         SceUInt32                       iUnk3;
00044 
00046         ScePVoid                        pData;
00047 
00049         sceMpegRingbufferCB     Callback;
00051         ScePVoid                        pCBparam;
00052 
00054         SceUInt32                       iUnk4;
00056         SceUInt32                       iUnk5;
00058         SceMpeg                         pSceMpeg;
00059 
00060 } SceMpegRingbuffer;
00061 
00062 typedef struct SceMpegAu
00063 {
00065         SceUInt32                       iUnk0;
00067         SceInt32                        iTimestamp;
00069         SceUInt32                       iUnk1;
00071         SceUInt32                       iUnk2;
00073         SceUInt32                       iUnk3;
00075         SceUInt32                       iUnk4;
00076 
00077 } SceMpegAu;
00078 
00079 typedef struct SceMpegAvcMode
00080 {
00082         SceInt32                        iUnk0;
00084         SceInt32                        iUnk1;
00085 
00086 } SceMpegAvcMode;
00087 
00093 SceInt32 sceMpegInit();
00094 
00098 SceVoid sceMpegFinish();
00099 
00107 SceInt32 sceMpegRingbufferQueryMemSize(SceInt32 iPackets);
00108 
00121 SceInt32 sceMpegRingbufferConstruct(SceMpegRingbuffer* Ringbuffer, SceInt32 iPackets, ScePVoid pData, SceInt32 iSize, sceMpegRingbufferCB Callback, ScePVoid pCBparam);
00122 
00128 SceVoid sceMpegRingbufferDestruct(SceMpegRingbuffer* Ringbuffer);
00129 
00137 SceInt32 sceMpegRingbufferAvailableSize(SceMpegRingbuffer* Ringbuffer);
00138 
00148 SceInt32 sceMpegRingbufferPut(SceMpegRingbuffer* Ringbuffer, SceInt32 iNumPackets, SceInt32 iAvailable);
00149 
00157 SceInt32 sceMpegQueryMemSize(int iUnk);
00158 
00172 SceInt32 sceMpegCreate(SceMpeg* Mpeg, ScePVoid pData, SceInt32 iSize, SceMpegRingbuffer* Ringbuffer, SceInt32 iFrameWidth, SceInt32 iUnk1, SceInt32 iUnk2);
00173 
00179 SceVoid sceMpegDelete(SceMpeg* Mpeg);
00180 
00190 SceInt32 sceMpegQueryStreamOffset(SceMpeg* Mpeg, ScePVoid pBuffer, SceInt32* iOffset);
00191 
00200 SceInt32 sceMpegQueryStreamSize(ScePVoid pBuffer, SceInt32* iSize);
00201 
00211 SceMpegStream* sceMpegRegistStream(SceMpeg* Mpeg, SceInt32 iStreamID, SceInt32 iUnk);
00212 
00219 SceVoid sceMpegUnRegistStream(SceMpeg Mpeg, SceMpegStream* pStream);
00220 
00226 SceInt32 sceMpegFlushAllStream(SceMpeg* Mpeg);
00227 
00233 ScePVoid sceMpegMallocAvcEsBuf(SceMpeg* Mpeg);
00234 
00239 SceVoid sceMpegFreeAvcEsBuf(SceMpeg* Mpeg, ScePVoid pBuf);
00240 
00250 SceInt32 sceMpegQueryAtracEsSize(SceMpeg* Mpeg, SceInt32* iEsSize, SceInt32* iOutSize);
00251 
00261 SceInt32 sceMpegInitAu(SceMpeg* Mpeg, ScePVoid pEsBuffer, SceMpegAu* pAu);
00262 
00273 SceInt32 sceMpegGetAvcAu(SceMpeg* Mpeg, SceMpegStream* pStream, SceMpegAu* pAu, SceInt32* iUnk);
00274 
00280 SceInt32 sceMpegAvcDecodeMode(SceMpeg* Mpeg, SceMpegAvcMode* pMode);
00281 
00293 SceInt32 sceMpegAvcDecode(SceMpeg* Mpeg, SceMpegAu* pAu, SceInt32 iFrameWidth, ScePVoid pBuffer, SceInt32* iInit);
00294 
00305 SceInt32 sceMpegAvcDecodeStop(SceMpeg* Mpeg, SceInt32 iFrameWidth, ScePVoid pBuffer, SceInt32* iStatus);
00306 
00317 SceInt32 sceMpegGetAtracAu(SceMpeg* Mpeg, SceMpegStream* pStream, SceMpegAu* pAu, ScePVoid pUnk);
00318 
00329 SceInt32 sceMpegAtracDecode(SceMpeg* Mpeg, SceMpegAu* pAu, ScePVoid pBuffer, SceInt32 iInit);
00330 
00331 #ifdef __cplusplus
00332 }
00333 #endif
00334 
00335 #endif

Generated on Sat Jun 30 23:12:15 2007 for pspsdk-1.0+beta2 by  doxygen 1.5.1