idecbrd.h
来自「这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,」· C头文件 代码 · 共 305 行 · 第 1/2 页
H
305 行
/****************************************************************************** IDecoderBoard.h : Type Definitions for IDecoderBoard interface* REALmagic Quasar Hardware Library* Created by Aurelia Popa-Radu* Copyright Sigma Designs Inc* Sigma Designs Proprietary and confidential* Created on 8/27/99* Description:*****************************************************************************/#ifdef __cplusplusextern "C"{#endif #ifndef __IDECODERBOARD_H__#define __IDECODERBOARD_H__// global proceduresQRESULT CreateInstance(IN DWORD* pInstance, IN void* pHwLibConf);HRESULT QueryInterface(IN DWORD dwInstance, IN QIID iid, OUT void** ppv);QRESULT DeleteHardware(IN DWORD BoardInstance);TCHAR* GetBoardDescription(IN DWORD BoardVersion);DWORD GetHwLibVersion();//////////////////////////////////////////////////////////////////////////////// IDecoderBoard Abstract interfacetypedef HWLIB_INTERFACE tagIDecoderBoard{ struct tagIDecoderBoardVtbl *lpVtbl;} IDecoderBoard;typedef struct tagIDecoderBoardVtbl{ HWLIB_BEGIN_INTERFACE void ( *Delete) (IDecoderBoard* This, IN BOOL bDeleteObject); DWORD ( *GetDeviceIdSubId) (IDecoderBoard* This); DWORD ( *GetBoardVersion) (IDecoderBoard* This); QRESULT ( *HwReset) (IDecoderBoard* This); BYTE ( *CloseCaptionInterrupt)(IDecoderBoard* This, BYTE* pBuffer); BOOL ( *CaptureVideoFrame) (IDecoderBoard* This, IN BYTE *pDst, IN int bits, IN DWORD* pBufferSize); BOOL ( *GetDataFifoInfo) (IDecoderBoard* This, IN DWORD type, IN DATA_FIFO* p); BOOL ( *GetPacketsFifoInfo) (IDecoderBoard* This, IN DWORD type, IN PACKETS_FIFO* p); void ( *EnableMasterInterrupt)(IDecoderBoard* This); void ( *SetCurrentIrqMask) (IDecoderBoard* This, IN DWORD IrqMask); DWORD ( *GetCurrentIrqMask) (IDecoderBoard* This); void ( *SetFrameEvent) (IDecoderBoard* This, IN DWORD nFrame); DWORD ( *GetFrameEvent) (IDecoderBoard* This); DWORD ( *GetFrameCounter) (IDecoderBoard* This); void ( *SetAudioFormat) (IDecoderBoard* This, IN DWORD AudioFormat); DWORD ( *GetAudioFormat) (IDecoderBoard* This); void ( *SetAudioOutputEnable)(IDecoderBoard* This, DWORD AudioOutputEnable); void ( *SetAudioNumChannels) (IDecoderBoard* This, IN DWORD nChannels); void ( *SetAudioNumBitsPerSample)(IDecoderBoard* This, IN DWORD nAudioNumBitsPerSample); QRESULT ( *WriteSCR) (IDecoderBoard* This, IN MPEG_SCR Scr ); MPEG_SCR( *ReadSCR) (IDecoderBoard* This ); DWORD ( *ReadHwPts45k) (IDecoderBoard* This); QRESULT ( *VideoWriteCommand) (IDecoderBoard* This, IN DWORD CommandID); QRESULT ( *AudioWriteCommand) (IDecoderBoard* This, IN DWORD CommandID); QRESULT ( *OsdWriteCommand) (IDecoderBoard* This, IN DWORD CommandID); QRESULT ( *VideoHwPlay) (IDecoderBoard* This, IN PLAY_OPTIONS PlayOptions, IN ULONGLONG Event); QRESULT ( *VideoHwPause) (IDecoderBoard* This); QRESULT ( *VideoHwStop) (IDecoderBoard* This); QRESULT ( *VideoHwBlackFrame) (IDecoderBoard* This); QRESULT ( *AudioHwPlay) (IDecoderBoard* This); QRESULT ( *AudioHwPause) (IDecoderBoard* This); QRESULT ( *AudioHwStop) (IDecoderBoard* This); QRESULT ( *UpdateOverlay) (IDecoderBoard* This); QRESULT ( *SelectOutputForVideo)(IDecoderBoard* This, IN DWORD Value); QRESULT ( *VidSetVGATV) (IDecoderBoard* This, IN DWORD wait, IN DWORD TvOut); QRESULT ( *VidChangeDisplayResolution)(IDecoderBoard* This, IN PMPEG_DISPLAY_RESOLUTION p); DWORD ( *GetCapabilities) (IDecoderBoard* This); DWORD ( *GetHardwareInfo1) (IDecoderBoard* This); QRESULT ( *AudioSetSampleRate) (IDecoderBoard* This, IN DWORD Rate);// Video Interface QRESULT ( *VideoSetAttributeEx) (IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *VideoSetAttribute) (IDecoderBoard* This, IN PMPEG_ATTRIBUTE_PARAMS pAttrParams); QRESULT ( *VideoGetAttributeEx) (IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *VideoGetAttribute) (IDecoderBoard* This, IN PMPEG_ATTRIBUTE_PARAMS pAttrParams); void ( *SetRelativeFrameStart)(IDecoderBoard* This, DWORD RelativeFrameStart); DWORD ( *GetRelativeFrameStart)(IDecoderBoard* This);// Audio Interface QRESULT ( *AudioSetAttributeEx) (IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *AudioSetAttribute) (IDecoderBoard* This, PMPEG_ATTRIBUTE_PARAMS pAttrParams); QRESULT ( *AudioGetAttributeEx) (IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *AudioGetAttribute) (IDecoderBoard* This, PMPEG_ATTRIBUTE_PARAMS pAttrParams);// Overlay Interface QRESULT ( *OverlaySetAllWindows)(IDecoderBoard* This, DWORD Flags, WND* pSrcWnd, WND* pAcqWnd, WND* pDstWnd, WND* pOsdWnd, WND* pOsdHiLiWnd); QRESULT ( *OverlaySetAcq) (IDecoderBoard* This, WND* pAcqWnd); QRESULT ( *OverlaySetSrc) (IDecoderBoard* This, WND* pSrcWnd); QRESULT ( *OverlaySetDest) (IDecoderBoard* This, WND* pDstWnd); QRESULT ( *OsdSetDest) (IDecoderBoard* This, WND* pOsdWnd); QRESULT ( *OsdGetDest) (IDecoderBoard* This, WND* pOsdWnd); QRESULT ( *OsdHiLiSetDest) (IDecoderBoard* This, WND* pOsdWnd); QRESULT ( *OsdHiLiGetDest) (IDecoderBoard* This, WND* pOsdWnd); QRESULT ( *OverlaySetAttributeEx)(IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *OverlaySetAttribute) (IDecoderBoard* This, PMPEG_ATTRIBUTE_PARAMS pAttrParams); QRESULT ( *OverlayGetAttributeEx)(IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *OverlayGetAttribute) (IDecoderBoard* This, PMPEG_ATTRIBUTE_PARAMS pAttrParams); QRESULT ( *OverlaySetVgaKey) (IDecoderBoard* This, PMPEG_OVERLAY_KEY pKey); QRESULT ( *OverlayGetVgaKey) (IDecoderBoard* This, PMPEG_OVERLAY_KEY pKey); QRESULT ( *OverlaySetVgaKey2) (IDecoderBoard* This, PMPEG_OVERLAY_KEY2 pKey2); QRESULT ( *OverlayGetVgaKey2) (IDecoderBoard* This, PMPEG_OVERLAY_KEY2 pKey2); QRESULT ( *OverlaySetMode) (IDecoderBoard* This, MPEG_OVERLAY_MODE Mode); QRESULT ( *OverlayCalibrate) (IDecoderBoard* This, POVERLAY_COLOUR_REGISTERS pIn, POVERLAY_COLOUR_REGISTERS pOut); QRESULT ( *OverlaySetColorCalibration) (IDecoderBoard* This, PCALIBRATION_PARAMETERS p);// OSD Interface QRESULT ( *OsdSetAttributeEx) (IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *OsdSetAttribute) (IDecoderBoard* This, PMPEG_ATTRIBUTE_PARAMS pAttrParams); QRESULT ( *OsdGetAttributeEx) (IDecoderBoard* This, MPEG_ATTRIBUTE Attribute, void* pData, DWORD ulSize); QRESULT ( *OsdGetAttribute) (IDecoderBoard* This, PMPEG_ATTRIBUTE_PARAMS pAttrParams); QRESULT ( *AdjTopBorder) (IDecoderBoard* This, SHORT* pYOffset); QRESULT ( *AdjLeftBorder) (IDecoderBoard* This, SHORT* pXOffset); QRESULT ( *AdjCorrection) (IDecoderBoard* This, SHORT BorderOfsX, DWORD* pCorrection); QRESULT ( *OverlayColorCalibrate)(IDecoderBoard* This, OVERLAY_COLOUR_REGISTERS *pIn, OVERLAY_COLOUR_REGISTERS *pOut); void ( *InitPtsFifo) (IDecoderBoard* This, DWORD type); DWORD ( *PtsFifoEmptiness) (IDecoderBoard* This, DWORD type); void ( *InitPacketsFifo) (IDecoderBoard* This, DWORD type); void ( *FlushPacketsFifo) (IDecoderBoard* This, DWORD type ,DWORD* pnEventPending); DWORD ( *PacketsFifoEmptiness)(IDecoderBoard* This, DWORD type); void ( *AddPacketInPacketsFifo)(IDecoderBoard* This, DWORD type, DWORD PhysicalAddress, DWORD ByteSize, DWORD EncryptedInfo);// eventually to modify BOOL in QRESULT BOOL ( *FreeConsumedData) (IDecoderBoard* This, DWORD type, DWORD* npEventPending); BOOL ( *WriteData) (IDecoderBoard* This, DWORD type, PMPEG_WRITE_DATA pMWD, DWORD size, BOOL bLastPacket, DWORD* pnEventPending); BOOL ( *SendVideoPayload) (IDecoderBoard* This,\ PMPEG_WRITE_DATA pMWD, DWORD ulSize, BYTE bPTS_DTS_Flag, BOOL bLastPacket,\ DWORD* pByteCounter, DWORD* pnEventPending); BOOL ( *SendAudioPayload) (IDecoderBoard* This,\ PMPEG_WRITE_DATA pMWD, DWORD ulSize, BYTE bPTS_DTS_Flag, BOOL bLastPacket,\ DWORD* pByteCounter, DWORD* pnEventPending); BOOL ( *SendSpuPayload) (IDecoderBoard* This,\ PMPEG_WRITE_DATA pMWD, DWORD ulSize, BYTE bPTS_DTS_Flag, BOOL bLastPacket,\ DWORD* pByteCounter, DWORD* pnEventPending); BOOL ( *SendOSDPayload) (IDecoderBoard* This,\ PMPEG_WRITE_DATA pMWD, DWORD ulSize, BYTE bPTS_DTS_Flag, BOOL bLastPacket,\ DWORD* pByteCounter, DWORD* pnEventPending); BOOL ( *IsIntActive) (IDecoderBoard* This, DWORD* pIrqStatus); QRESULT ( *PcrInterruptProc) (IDecoderBoard* This, void* pContext, DWORD dwContextSize); void ( *UpdateHwYuvPalette) (IDecoderBoard* This, PYUVQUAD pPalette); void ( *UpdateHwButton) (IDecoderBoard* This, LONG leftb, LONG topb, LONG rightb, LONG bottomb, LONG wColor, LONG wContrast); void ( *WriteSPCommand) (IDecoderBoard* This, DWORD SPCommand); BOOL ( *ConvertToSrcWndCoord)(IDecoderBoard* This, MYPOINT* point);// property interface QRESULT ( *SetProperty) (IDecoderBoard* This, DWORD PropSet, DWORD PropId, DWORD Flags, void* pData, DWORD dwSizeIn, DWORD* pdwSizeOut); QRESULT ( *GetProperty) (IDecoderBoard* This, DWORD PropSet, DWORD PropId, DWORD Flags, void* pData, DWORD dwSizeIn, DWORD* pdwSizeOut);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?