pspsdk-1.0+beta2
pspmpeg.h
Go to the documentation of this file.
1 /*
2  * PSP Software Development Kit - http://www.pspdev.org
3  * -----------------------------------------------------------------------
4  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5  *
6  * pspmpeg.h - Prototypes for the sceMpeg library
7  *
8  * Copyright (c) 2006 Sorin P. C. <magik@hypermagik.com>
9  * Copyright (c) 2007 Alexander Berl <raphael@fx-world.org>
10  *
11  * $Id: pspmpeg.h 2433 2008-10-15 10:00:27Z iwn $
12  */
13 
14 #ifndef __SCELIBMPEG_H__
15 #define __SCELIBMPEG_H__
16 
17 #include <psptypes.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
24 typedef ScePVoid SceMpeg;
25 
28 
30 typedef SceInt32 (*sceMpegRingbufferCB)(ScePVoid pData, SceInt32 iNumPackets, ScePVoid pParam);
31 
32 typedef struct SceMpegRingbuffer
33 {
36 
45 
48 
53 
59  SceMpeg pSceMpeg;
60 
62 
63 typedef struct SceMpegAu
64 {
77 
78 } SceMpegAu;
79 
80 #define SCE_MPEG_AVC_FORMAT_DEFAULT -1
81 #define SCE_MPEG_AVC_FORMAT_5650 0
82 #define SCE_MPEG_AVC_FORMAT_5551 1
83 #define SCE_MPEG_AVC_FORMAT_4444 2
84 #define SCE_MPEG_AVC_FORMAT_8888 3
85 
86 typedef struct SceMpegAvcMode
87 {
92 
94 
101 
106 
115 
129 
136 
145 
155 SceInt32 sceMpegRingbufferPut(SceMpegRingbuffer* Ringbuffer, SceInt32 iNumPackets, SceInt32 iAvailable);
156 
164 SceInt32 sceMpegQueryMemSize(int iUnk);
165 
179 SceInt32 sceMpegCreate(SceMpeg* Mpeg, ScePVoid pData, SceInt32 iSize, SceMpegRingbuffer* Ringbuffer, SceInt32 iFrameWidth, SceInt32 iUnk1, SceInt32 iUnk2);
180 
186 SceVoid sceMpegDelete(SceMpeg* Mpeg);
187 
197 SceInt32 sceMpegQueryStreamOffset(SceMpeg* Mpeg, ScePVoid pBuffer, SceInt32* iOffset);
198 
208 
218 SceMpegStream* sceMpegRegistStream(SceMpeg* Mpeg, SceInt32 iStreamID, SceInt32 iUnk);
219 
226 SceVoid sceMpegUnRegistStream(SceMpeg Mpeg, SceMpegStream* pStream);
227 
233 SceInt32 sceMpegFlushAllStream(SceMpeg* Mpeg);
234 
240 ScePVoid sceMpegMallocAvcEsBuf(SceMpeg* Mpeg);
241 
246 SceVoid sceMpegFreeAvcEsBuf(SceMpeg* Mpeg, ScePVoid pBuf);
247 
257 SceInt32 sceMpegQueryAtracEsSize(SceMpeg* Mpeg, SceInt32* iEsSize, SceInt32* iOutSize);
258 
268 SceInt32 sceMpegInitAu(SceMpeg* Mpeg, ScePVoid pEsBuffer, SceMpegAu* pAu);
269 
280 SceInt32 sceMpegGetAvcAu(SceMpeg* Mpeg, SceMpegStream* pStream, SceMpegAu* pAu, SceInt32* iUnk);
281 
289 SceInt32 sceMpegAvcDecodeMode(SceMpeg* Mpeg, SceMpegAvcMode* pMode);
290 
302 SceInt32 sceMpegAvcDecode(SceMpeg* Mpeg, SceMpegAu* pAu, SceInt32 iFrameWidth, ScePVoid pBuffer, SceInt32* iInit);
303 
314 SceInt32 sceMpegAvcDecodeStop(SceMpeg* Mpeg, SceInt32 iFrameWidth, ScePVoid pBuffer, SceInt32* iStatus);
315 
326 SceInt32 sceMpegGetAtracAu(SceMpeg* Mpeg, SceMpegStream* pStream, SceMpegAu* pAu, ScePVoid pUnk);
327 
338 SceInt32 sceMpegAtracDecode(SceMpeg* Mpeg, SceMpegAu* pAu, ScePVoid pBuffer, SceInt32 iInit);
339 
340 #ifdef __cplusplus
341 }
342 #endif
343 
344 #endif