m1s.h
来自「这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,」· C头文件 代码 · 共 73 行
H
73 行
#ifndef _M1S_H#define _M1S_H#include "basic.h"typedef MPEG_SCR MPEG_TIMESTAMP;#define SCR_VALID_FLAG 1#define PTS_VALID_FLAG 2#define DTS_VALID_FLAG 4typedef void (*MPEG1Callback)(BYTE *pData, DWORD Length, BYTE PacketId, MPEG_TIMESTAMP Scr, MPEG_TIMESTAMP Pts, MPEG_TIMESTAMP Dts, BYTE Flags, QWORD StartCodeOffset, void *Context);typedef struct tagPACKET_ENTRY{ MPEG_TIMESTAMP Scr; MPEG_TIMESTAMP Pts; MPEG_TIMESTAMP Dts; unsigned long Flags; unsigned char * pData; unsigned long DataLength;} PACKET_ENTRY, *PPACKET_ENTRY;#ifdef CARIBBEANclass MPEG1Demux: public RMdemuxBase#elseclass MPEG1Demux#endif // CARIBBEAN{ public: MPEG1Demux (); ~MPEG1Demux (); MPEG1Callback m_Callback; void * m_Context; DWORD m_IsDATFile; // .DAT files are tracks extracted from VideoCDs void Reset (void); void ResetState(void); DWORD Demux (BYTE *pBuffer, DWORD dwBufferLength); private: DWORD m_State; DWORD m_SubState; DWORD m_TotalBytesSkipped; MPEG_TIMESTAMP m_BytesProcessed; BYTE m_PacketId; WORD m_PacketLength; WORD m_HeaderLength; WORD m_DataLength; MPEG_TIMESTAMP m_Scr; MPEG_TIMESTAMP m_Pts; MPEG_TIMESTAMP m_Dts; BYTE m_Flags; QWORD m_PESOffset; private: DWORD StartCodeSubStateHandling (BYTE *pBuffer, DWORD dwBufferLength); DWORD PackSubStateHandling (BYTE *pBuffer, DWORD dwBufferLength); DWORD PacketSubStateHandling (BYTE *pBuffer, DWORD dwBufferLength); DWORD SystemHeaderSubStateHandling (BYTE *pBuffer, DWORD dwBufferLength); DWORD ProcessingDataSubStateHandling (BYTE *pBuffer, DWORD dwBufferLength); void PrintState (void);};#endif // _M1S_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?