⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cqsrbrd.h

📁 这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,CD MP3...有很好的参考价值.
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************  cqsrbrd.h : Implementation of 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:*****************************************************************************/#ifndef __CQUASARBOARD_H__#define __CQUASARBOARD_H__#include "cobject.h"#include "cquasar.h"#define FRAMES_SKIPPED_ADDRESS		0x30E// PIOs used for I2C#define I2C_PIO_CLOCK				PIO0#define I2C_PIO_DATA				PIO1#define SECOND_I2C_DATA_PIO			PIO4#define SECOND_I2C_PIO_CLOCK		PIO5// internal defines for scaling on TV#define MPEG_SCALED_TO_FIT_NTSCTV	0#define MPEG_NOT_SCALED_ON_NTSCTV	1#define MPEG_SCALED_TO_FIT_PALTV	2#define MPEG_NOT_SCALED_ON_PALTV	3#define NTSC_ACTIVE_VIDEO_WIDTH		720#define PAL_ACTIVE_VIDEO_WIDTH		720#define NTSC_ACTIVE_VIDEO_HEIGHT	480#define PAL_ACTIVE_VIDEO_HEIGHT		576// internal flags#define HORIZONTAL_CENTER_43IN169	0x0010#define VERTICAL_CENTER_43IN169		0x0020#define VISIBLE_VIDEO_INDEPENDENT	0x0080#define VIDEO_VALID_ENABLE			0x0100typedef enum{eVgaInfo = 0,eTvInfo,eHdtvInfo}ModeInfo;#define CMD_ON			0x00000001#define CMD_OFF			0x00000000#define STATUS_ON		CMD_ON#define STATUS_OFF		CMD_OFF// common defines#define CMD_FIELD_VALID				0x00000001#define STANDARD_FIELD_VALID		0x00000004#define CONNECTOR_FIELD_VALID		0x00000008#define CUSTOM_FIELD_VALID			0x00000010#define SCART_FIELD_VALID			0x00000020// TV specific defines#define TVASSOURCE_FIELD_VALID		0x00000100#define TVNOSCALING_FIELD_VALID		0x00000200#define VGA_INFO_VERSION_0			0x00000000#define TV_INFO_VERSION_0			0x00000000#define HDTV_INFO_VERSION_0			0x00000000typedef struct tagVGA_INFO{	BYTE bStructureVersion;			// VGA_INFO_VERSION_0	BYTE bOutputType;				// eVgaInfo	BYTE bOutputId;					// 0 = EM84xx+1stVga, 1= EM84xx+2ndVga ...	BYTE bForceUpdate;				// Value ON, OFF	DWORD dwValidFields;	BYTE bCmdStatus;				// ENABLE_FIELD_VALID : ON, OFF}VGA_INFO;typedef struct tagTV_INFO{	BYTE bStructureVersion;			// TV_INFO_VERSION_0	BYTE bOutputType;				// eTvInfo	BYTE bOutputId;					// 0 = EM84xx+1stTv, 1= EM84xx+2ndTv ...	BYTE bForceUpdate;				// Value ON, OFF	DWORD dwValidFields;	BYTE bCmdStatus;				// CMD_FIELD_VALID : ON, OFF	BYTE bStandard;					// STANDARD_FIELD_VALID : Ntsc, Pal, Pal60, PalM	BYTE bConnector;				// CONNECTOR_FIELD_VALID : Composite SVideo, Yuv, Rgb, Off	BYTE bTvAsSource;				// TVASSOURCE_FIELD_VALID : 0, 1	BYTE bTvNoScaling;				// TVNOSCALING_FIELD_VALID : 0, 1 1:1	BYTE bScart;					// 16:9, 4:3, disable	HDTV_MODE TvCustomMode;			// CUSTOM_FIELD_VALID}TV_INFO;typedef struct tagHDTV_INFO{	BYTE bStructureVersion;			// HDTV_INFO_VERSION_0	BYTE bOutputType;				// eHdtvInfo	BYTE bOutputId;					// 0 = EM84xx+1stHdtv, 1= EM84xx+2ndHdtv ...	BYTE bForceUpdate;				// Value ON, OFF	DWORD dwValidFields;	BYTE bCmdStatus;				// CMD_FIELD_VALID : ON, OFF	BYTE bStandard;					// STANDARD_FIELD_VALID : CustomHdtv, 480P, 720P, 480I, 1080I	BYTE bConnector;				// CONNECTOR_FIELD_VALID : Composite SVideo, Yuv, Rgb, Off	HDTV_MODE HdtvCustomMode;			// CUSTOM_FIELD_VALID}HDTV_INFO;typedef struct tagSCANCONV_INFO{	BYTE bStructureVersion;			// 0	BYTE bOutputType;				// e???	BYTE bOutputId;					// 0 = EM84xx+1stScanConv, 1= EM84xx+2ndScanConv ...	BYTE bForceUpdate;				// Value ON, OFF	DWORD dwValidFields;	BYTE bCmdStatus;				// ENABLE_FIELD_VALID : ON, OFF	BYTE bStandard;					// STANDARD_FIELD_VALID : Ntsc, Pal, 480P	BYTE bConnector;				// CONNECTOR_FIELD_VALID : Composite SVideo, Yuv, Rgb, Off	BYTE bScart;					// 16:9, 4:3, disable}SCANCONV_INFO;#define NPpmCoef 20//////////////////////////////////////////////////////////////////////////////// CQuasarBoard Object#define CQuasarBoard_MEMBER\	IDecoderBoardVtbl VTable;\	HWLIB_CONFIG HwLibConf;\	DWORD DeviceId;					/* Quasar Device Id: 13=H+ DragonDVD, 14=Malibu, 15=V+, 17=SVCD*/\	DWORD SubId;					/* Quasar Device SubId*/\	DWORD BoardVersion;\	DWORD QuasarVersion;			/* Quasar chip Version: 1, 2, 3, 4 */\	void* pQ;\	DWORD MicrocodeType;\	WORD PciDeviceID;\	WORD PciSubsystemID;			/* Quasar SubsystemId: FF, F0...F3 ...*/\	DWORD PciSubsystemVendorID;\	DWORD BoardCapabilities;\	IDecoder* m_pIDecoder;\	IEeprom* m_pIEeprom;\	ITvEncoder* m_pITvEncoder;		/* TvEncoder used on board: one of m_pIExtTv or m_pISigmaTv */\	ITvEncoder* m_pIExtTv;\	ITvEncoder* m_pISigmaTv;\	IScanConverter* m_pIScanConverter;\	IVideoDecoder* m_pIVideoDecoder;	\	IMpegEncoder* m_pIMpegEncoder;		\	IDviTransmitter* m_pIDviTransmitter;\	ITvTuner* m_pITvTuner;\	IAnalogOverlay* m_pINova1;\	IAnalogOverlay* m_pINovaLite;\	II2C* m_pII2C;\	ISetI2CpIO* m_pISetI2CpIO;\	void* m_this;					/* points to itself */\	DWORD RegControl;				/* content of shift register */\	DWORD TvOut;					/* one of SET_VGA, SET_TV, SET_HDTV */\	DWORD Standard_TvOut;\	DWORD EnableMacrovision;\	DWORD TvNoScaling;\	DWORD TvAsSource;\	DWORD TvDacsState;\	DWORD LetterBox;\	DWORD OldLetterBox;\	BOOL m_bEnableSync;\	BOOL bSpeedMotion;\	BOOL bIFrameMotion;\	BOOL FirstSystemSCR;\	BOOL m_bUpdateVideoPort;		/* Indicates set a TV port setting has changed */\	MPEG_OVERLAY_MODE ModeReq;\	MPEG_DISPLAY_RESOLUTION DisplayResolution;\	MPEG_DISPLAY_RESOLUTION NewDisplayResolution;\	BOOL DisplayResolutionChanged;\	DWORD Speed;\	DWORD FrameRateIndex;			/* frame rate index */\	DWORD VideoMode;				/* ntsc or pal */\	DWORD AspectRatio;				/* 16:9 or 4:3 */\	DWORD OutputAspect;				/* 16:9 - letter box, pan/scan, wide */\	LONG Position;					/* position in bytes */\	LONG FramePosition;				/* position in frames */\	LONG RelativeFrameStart;		/* frame at which the ucode is at when */\	WND RealDestWnd;\	WND SrcWnd;\	WND AcqWnd;\	WND DstWnd;\	WND OsdWnd;\	WND OsdHiLiWnd;\	WND MaxDisplayWnd;\	WND ValidWnd;\	eviParams_type VideoInParams;\	DWORD Vc_config;\	BOOL Vc_Vip20Input;\	DWORD OverlayFlags;\	DWORD NewOverlayFlags;\	MASTERPARAMS MasterParamsNtsc;\	MASTERPARAMS MasterParamsPal;\	MASTERPARAMS MasterParams;\	SHORT XOffset;\	SHORT YOffset;\	DWORD Correction;\	DWORD DefCorrection;\	DWORD HFrequency;\	DWORD DefHFrequency;\	BOOL IsInterlaced;\	REGISTRY_TABLE* pInternRegistry;\	REGISTRY_TABLE* pRegistry;\	PPROPERTY_SET_ITEM pPropSetList;\	DWORD RefFreqForPLL23;	/* used only in WideTvCalc to program PLL2=pixel clock in SET_HDTV mode*/\	HDTV_MODE HdtvMode;\	evDigOvOnlyParams_type DigOvOnlyParams;\	DWORD BoardAudioRate;	/**/\	DWORD ScartStatus;		/**/\	DWORD ReqOutputFormat;	/*used only by Ne2000TV*/\	DWORD ReqYcYuvRgb;		/*Xcard should switch on RGB for fullscreen mode*/\	VGA_INFO VgaInfo;\	TV_INFO TvInfo;\	HDTV_INFO HdtvInfo;\	SCANCONV_INFO ScanConvInfo;\	REGISTRY_ITEM CommonRegistryList[eCommonRegMax];\	REGISTRY_ITEM HdtvRegistryList[eHdtvRegMax];\	REGISTRY_ITEM VgaVendorRegistryList[eVgaVendorRegMax];\	PROPERTY_ITEM BoardInfoPropertyList[eBoardInfoMax];\	PROPERTY_ITEM VideoPropertyList[evMax];\	PROPERTY_ITEM VideoInPropertyList[eviMax];\	PROPERTY_ITEM AudioInPropertyList[eAudioInMax];\	PROPERTY_ITEM AudioPropertyList[eaMax];\	PROPERTY_ITEM SubpicturePropertyList[eSubpictureMax];\	PROPERTY_ITEM TimePropertyList[etimMax];\    PROPERTY_ITEM OsdPropertyList[eOsdMax]; \	PROPERTY_ITEM HwTestPropertyList[ehwTestMax];\	int iPpmCoef[NPpmCoef];\	int iPpmIndex;\	int iPpmAvg;\	int iPpmRange;\	int iDeltaSCR_APTS;\	DWORD dwRecoveryTime;	/* = log2(TimeRecovery/200us) = 16 for 13.1072sec*/\	HW_VCXO HwVcxo;\	DWORD VOPTimeIncrRes;\	DWORD VideoCTSTimeScale;\	DWORD AudioCTSTimeScale;\	DWORD PioAccessedByUser;\	DWORD PioDirState;\	DWORD PioDataState;\	DWORD VideoByteCounter;\	DWORD AudioByteCounter;\	HWLIB_PENDING_STACK PendingStack;\	DWORD FieldFrameAtPause;\	QVideoState VideoState;\	DWORD DigitalVideoDataNBits;\	DWORD PixelClockPolarity;\	evVideoHwPlay_type VideoHwPlayType;\	eAudioInParams_type AudioInParams;\	AudioInOutConfig_type AudioInOutConfig;\	DWORD VideoClipEnable;\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -