pspmpegbase.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  * pspmpegbase.h - Prototypes for the sceMpegbase library
00007  *
00008  * Copyright (c) 2006 Sorin P. C. <magik@hypermagik.com>
00009  * Copyright (c) 2007 cooleyes
00010  * Copyright (c) 2007 Alexander Berl <raphael@fx-world.org>
00011  *
00012  * $Id: pspmpegbase.h 2341 2007-12-06 20:05:52Z raphael $
00013  */
00014 
00015 #ifndef __SCELIBMPEGBASE_H__
00016 #define __SCELIBMPEGBASE_H__
00017 
00018 
00019 #include <psptypes.h>
00020 
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 
00027 typedef struct SceMpegLLI
00028 {
00029         ScePVoid pSrc;
00030         ScePVoid pDst;
00031         ScePVoid Next;
00032         SceInt32 iSize;
00033 } __attribute__((aligned(64))) SceMpegLLI;
00034 
00035 
00036 
00037 typedef struct SceMpegYCrCbBuffer
00038 {
00039         SceInt32        iFrameBufferHeight16;
00040         SceInt32        iFrameBufferWidth16;
00041         SceInt32        iUnknown;                       // Set to 0
00042         SceInt32        iUnknown2;                      // Set to 1
00043         ScePVoid        pYBuffer;                       // pointer to YBuffer (in VME EDRAM?)
00044         ScePVoid        pYBuffer2;                      // pointer to YBuffer + framebufferwidth*(frameheight/32)
00045         ScePVoid        pCrBuffer;                      // pointer to CrBuffer (in VME EDRAM?)
00046         ScePVoid        pCbBuffer;                      // pointer to CbBuffer (in VME EDRAM?)
00047         ScePVoid        pCrBuffer2;                     // pointer to CrBuffer + (framebufferwidth/2)*(frameheight/64)
00048         ScePVoid        pCbBuffer2;                     // pointer to CbBuffer + (framebufferwidth/2)*(frameheight/64)
00049         SceInt32        iFrameHeight;
00050         SceInt32        iFrameWidth;
00051         SceInt32        iFrameBufferWidth;
00052         SceInt32        iUnknown3[11];
00053 } __attribute__((aligned(64))) SceMpegYCrCbBuffer;
00054 
00055 
00056 SceInt32 sceMpegBaseYCrCbCopyVme(ScePVoid YUVBuffer, SceInt32 *Buffer, SceInt32 Type);
00057 SceInt32 sceMpegBaseCscInit(SceInt32 width);
00058 SceInt32 sceMpegBaseCscVme(ScePVoid pRGBbuffer, ScePVoid pRGBbuffer2, SceInt32 width, SceMpegYCrCbBuffer* pYCrCbBuffer);
00059 
00060 SceInt32 sceMpegbase_BEA18F91(SceMpegLLI *pLLI);
00061 
00062 #ifdef __cplusplus
00063 }
00064 #endif
00065 
00066 #endif