00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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