?? mpegdec.h
字號:
#ifndef _MPEGDEC_H#define _MPEGDEC_H#include "rmbasic.h"typedef enum { MPEG_DECODER_ERROR_NO_ERROR, MPEG_DECODER_ERROR_NO_DECODER, MPEG_DECODER_ERROR_NO_ROOM, MPEG_DECODER_ERROR_EOF, MPEG_DECODER_ERROR_UNSPECIFIED_ERROR, MPEG_DECODER_ERROR_INVALID_PARAMETER} MPEG_DECODER_ERROR;typedef struct tagPCM_PARAMETERS{ RMuint32 SamplesPerSecond; RMuint32 NumberOfChannels; RMuint32 NumberOfBitsPerSample;} PCM_PARAMETERS;typedef struct tagAC3_PARAMETERS{ RMuint32 SamplesPerSecond; RMuint32 rawOutput;} AC3_PARAMETERS;#define AAC_TYPE_ADTS 0#define AAC_TYPE_ADIF 1#define AAC_TYPE_DSI 2typedef struct tagAAC_PARAMETERS{ RMuint32 SamplesPerSecond; RMuint32 NumberOfChannels; RMuint32 AACType;} AAC_PARAMETERS;typedef struct tagDTS_PARAMETERS{ RMuint32 SamplesPerSecond; RMuint32 rawOutput;} DTS_PARAMETERS;typedef struct tagMPEGAUDIO_PARAMETERS{ RMuint32 SamplesPerSecond; RMuint32 rawOutput; RMuint32 layer;} MPEGAUDIO_PARAMETERS;typedef struct tagMPEGVIDEO_PARAMETERS{ RMuint32 isMPEG4; // 0=mpeg1/2, 1=mpeg4 RMuint32 vopTimeIncrRes; // vop_time_increment_resolution in the mpeg-4 VOL header RMuint32 videoTimeScale; // video cts timescale RMuint32 audioTimeScale; // audio cts timescale RMuint32 fixedVOPRate; // 1 = force fixed vop rate (avi files) RMuint32 vopTimeIncr; // fixed vop increment} MPEGVIDEO_PARAMETERS;class IMpegDecoder{public: virtual MPEG_DECODER_ERROR Init () = 0; virtual MPEG_DECODER_ERROR GetMaxDisplayModes (RMint32 *pMode) = 0; virtual MPEG_DECODER_ERROR SetupDisplay (RMint32 Mode, RMuint8 Pal = 0) = 0; virtual MPEG_DECODER_ERROR GetScreenDimensions (RMint32 *w, RMint32 *h, RMint32 *n, RMint32 *d) = 0; virtual MPEG_DECODER_ERROR DisplayYUV420 (RMuint8 *pY, RMuint8 *pUV, RMint32 x, RMint32 y, RMint32 w, RMint32 h, RMint32 w_screen, RMint32 h_screen) = 0; virtual MPEG_DECODER_ERROR SetVideoDestination (RMint32 x, RMint32 y, RMint32 w, RMint32 h) = 0; virtual MPEG_DECODER_ERROR RenderText (RMint8 *text, RMuint32 colour, RMint32 x, RMint32 y, RMint32 w, RMint32 h) = 0; virtual MPEG_DECODER_ERROR RenderOsdPalette (RMuint8 *palette) = 0; virtual MPEG_DECODER_ERROR RenderOsdBits (RMuint8 *osd, RMint32 x, RMint32 y, RMint32 w, RMint32 h) = 0; virtual MPEG_DECODER_ERROR SaveOsdBits (RMuint8 *osd, RMint32 x, RMint32 y, RMint32 w, RMint32 h) = 0; virtual MPEG_DECODER_ERROR Play () = 0; virtual MPEG_DECODER_ERROR PlayIFrame () = 0; virtual MPEG_DECODER_ERROR PlayIFrame (RMint32 speed) = 0; virtual MPEG_DECODER_ERROR Pause () = 0; virtual MPEG_DECODER_ERROR Stop () = 0; virtual MPEG_DECODER_ERROR GetSTC (RMint64 *pSTC, RMuint32 Resolution) = 0; virtual MPEG_DECODER_ERROR EndOfStream (RMint64 time, RMuint32 Resolution) = 0; virtual MPEG_DECODER_ERROR SetPCMParameters (PCM_PARAMETERS *pPcmParameters) = 0; virtual MPEG_DECODER_ERROR SetAC3Parameters (AC3_PARAMETERS *pAc3Parameters) = 0; virtual MPEG_DECODER_ERROR SetAACParameters (AAC_PARAMETERS *pAacParameters) = 0; virtual MPEG_DECODER_ERROR SetDTSParameters (DTS_PARAMETERS *pDtsParameters) = 0; virtual MPEG_DECODER_ERROR SetMpegAudioParameters (MPEGAUDIO_PARAMETERS *pMpegAudioParameters) = 0; virtual MPEG_DECODER_ERROR SetMpegVideoParameters (MPEGVIDEO_PARAMETERS *pMpegVideoParameters) = 0; virtual MPEG_DECODER_ERROR WriteAC3 (RMuint8 *pAc3, RMuint32 length, RMuint8 *prefcount, RMuint32 flags, RMint64 scr, RMint64 pts, RMuint32 firstaccessunitpointer) = 0; virtual MPEG_DECODER_ERROR WriteAAC (RMuint8 *pAac, RMuint32 length, RMuint8 *prefcount, RMuint32 flags, RMint64 scr, RMint64 pts) = 0; virtual MPEG_DECODER_ERROR WriteDTS (RMuint8 *pDts, RMuint32 length, RMuint8 *prefcount, RMuint32 flags, RMint64 scr, RMint64 pts, RMint32 nFrameHeaders, RMint32 FirstAccessUnitPointer) = 0; virtual MPEG_DECODER_ERROR WriteMpegAudio (RMuint8 *pAudio, RMuint32 length, RMuint8 *prefcount, RMuint32 flags, RMint64 scr, RMint64 pts) = 0; virtual MPEG_DECODER_ERROR WriteMpegVideo (RMuint8 *pVideo, RMuint32 length, RMuint8 *prefcount, RMuint32 flags, RMint64 scr, RMint64 pts) = 0; virtual MPEG_DECODER_ERROR WritePCM (RMuint8 *pPCM, RMuint32 length, RMuint8 *prefcount, RMuint32 flags, RMint64 scr, RMint64 pts) = 0; virtual MPEG_DECODER_ERROR Brightness (RMint32 direction, RMint32 *pvalue) = 0; virtual MPEG_DECODER_ERROR Contrast (RMint32 direction, RMint32 *pvalue) = 0; virtual MPEG_DECODER_ERROR Saturation (RMint32 direction, RMint32 *pvalue) = 0; virtual MPEG_DECODER_ERROR ClearScreen () = 0; virtual MPEG_DECODER_ERROR Exit () = 0;};#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -