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 + -
显示快捷键?