cnova.h

来自「这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,」· C头文件 代码 · 共 139 行

H
139
字号
/******************************************************************************  CNova.h : Implementation of Nova1,2, Lite 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 __CNOVA_H__#define __CNOVA_H__#include "cobject.h"#define RD_HS					0x101#define RD_PIX					0x80#define GAMMA					0x40#define MAIN_CK14				0x00#define MAXIMUM_PLL1			80000	// KHz#define NOVA_POWER_ON_NOGAMMA	0x8C	// Power Up comparators, analog delay, PLL1, PLL2#define NOVA_POWER_ON_GAMMA		0x0E	// Power Up gamma, comparators, analog delay and PLL1#define OVERLAY_HIDDEN			0x8000#define OVERLAY_SHOW_ALL		0x0080typedef enum _ComparatorsCommands{	ComparatorsNoCommand = 0,	ComparatorsForceNoUpdate,	ComparatorsForceUpdate,	ComparatorsMaximum} ComparatorsCommands;//////////////////////////////////////////////////////////////////////////////// CNova Implementation#define CNova_MEMBER\	IAnalogOverlayVtbl VTable;/* virtual table */\	BYTE m_bUse_Gamma;		/* CNova1 */\	BYTE m_JitterAdj;		/* CNova1 */\	BYTE m_VrdyDelay;		/* CNova1 */\	DWORD m_DefCorrection;	/* CNova1 */\	BYTE Gamma[3*256];		/* CNova1 */\	DWORD m_HFreq;			/* CNova1 */\	WORD BlackLevelUpper;	/* CNova1 */\	WORD DeltaLevel;		/* CNova1 */\	WORD DeltaUpperLevel;	/* CNova1 */\	DWORD VGAKeyReq;\	DWORD ComparatorsCommand;/* CNova1 */\	DWORD VGAKeyMask;		/* CNova1 current values programmed in key color & mask*/\	DWORD VGAKeyUpper;		/* CNova1 */\	DWORD VGAKeyLower;		/* CNova1 */\	BOOL ColourOverride;\	OVERLAY_COLOUR_REGISTERS Override;\	CALIBRATION_PARAMETERS Calibration;\	MPEG_OVERLAY_MODE ModeReq;\	LONG HorzRes;\	LONG VertRes;\	LONG BitsPerPixel;\	DWORD PLL1_FreqLim;	/*Limit of NOVA's PLL frequency in KHz*/\	REGISTRY_TABLE* pRegistry;\typedef struct tagCNovaMember{	COBJECT_MEMBER	CI2C_MEMBER	CNova_MEMBER} CNovaMember;typedef struct tagCNova{	struct tagIAnalogOverlayVtbl *lpVtbl;	COBJECT_MEMBER	CI2C_MEMBER	CNova_MEMBER} CNova;///////////////////////////////////////////////////////////////////////////////void CNova__New (CNova** ppNova, TCHAR *pName, BOOL bAllocate, DWORD dwInstance);void CNova__Delete (IAnalogOverlay* pIAnalogOverlay, BOOL bDeleteObject);void CNova__Init (IAnalogOverlay* pIAnalogOverlay, DWORD* pAnalogOverlayId);void CNova__SetRegistry(IAnalogOverlay* pIAnalogOverlay, REGISTRY_TABLE* pRegistry);void CNova__WriteREG12 (IAnalogOverlay* pIAnalogOverlay, WORD Select, BYTE REG1_msb, BYTE REG2_lsb);WORD CNova__ReadREG12 (IAnalogOverlay* pIAnalogOverlay, WORD Select);void CNova__ProgramPLL(IAnalogOverlay* pIAnalogOverlay, DWORD pll, DWORD N, DWORD M, DWORD K);void CNova__SlaveShowAll(IAnalogOverlay* pIAnalogOverlay);void CNova__SetDVCLKFrequency (IAnalogOverlay* pIAnalogOverlay, DWORD HFrequency);BOOL CNova__WaitVSync (IAnalogOverlay* pIAnalogOverlay);BOOL CNova__IsNOVAPresent (IAnalogOverlay* pIAnalogOverlay);BOOL CNova__IsVGAConnected (IAnalogOverlay* pIAnalogOverlay);void CNova__SetHorizontalFrequency(IAnalogOverlay* pIAnalogOverlay, DWORD dwFreq);void CNova__SetVrdyDelay (IAnalogOverlay* pIAnalogOverlay, BYTE val);DWORD CNova__GetVrdyDelay(IAnalogOverlay* pIAnalogOverlay);void CNova__SetJitterAdjustment(IAnalogOverlay* pIAnalogOverlay, BYTE val);DWORD CNova__GetJitterAdjustment(IAnalogOverlay* pIAnalogOverlay);DWORD CNova__MakeMask(IAnalogOverlay* pIAnalogOverlay, IN DWORD Upper, IN DWORD Lower);void CNova__Hide(IAnalogOverlay* pIAnalogOverlay);void CNova__SetChromaKey(IAnalogOverlay* pIAnalogOverlay, DWORD VGAKeyUpper, DWORD VGAKeyLower, DWORD VGAKeyMask);void CNova__ShowAll(IAnalogOverlay* pIAnalogOverlay);void CNova__GetDefaultCorrection (IAnalogOverlay* pIAnalogOverlay, DWORD* pCorr);DWORD CNova__GetHFreq (IAnalogOverlay* pIAnalogOverlay, BOOL UpdateFromHardware);void CNova__InitAnalogMux(IAnalogOverlay* pIAnalogOverlay, DWORD MaximumDvclk);void CNova__SetVGA(IAnalogOverlay* pIAnalogOverlay);void CNova__SetTv(IAnalogOverlay* pIAnalogOverlay);BOOL CNova__StartAutoCalibration(IAnalogOverlay* pIAnalogOverlay);BOOL CNova__StopAutoCalibration(IAnalogOverlay* pIAnalogOverlay);void CNova__ClearPulse(IAnalogOverlay* pIAnalogOverlay, IN BYTE bPulse);BOOL CNova__DetectPulse(IAnalogOverlay* pIAnalogOverlay, IN BYTE bPulse);BOOL CNova__UpperLower(IAnalogOverlay* pIAnalogOverlay, BYTE MaxValue, OVERLAY_COLOUR_REGISTERS* pRegs);BOOL CNova__UpdateColorKey(IAnalogOverlay* pIAnalogOverlay);void CNova__SetMode(IAnalogOverlay* pIAnalogOverlay, MPEG_OVERLAY_MODE Mode);void CNova__SetVgaResolution(IAnalogOverlay* pIAnalogOverlay, PMPEG_DISPLAY_RESOLUTION pDisplay);void CNova__SetVgaKey(IAnalogOverlay* pIAnalogOverlay, PMPEG_OVERLAY_KEY pKey);void CNova__GetVgaKey(IAnalogOverlay* pIAnalogOverlay, PMPEG_OVERLAY_KEY pKey);void CNova__SetVgaKey2(IAnalogOverlay* pIAnalogOverlay, PMPEG_OVERLAY_KEY2 pKey2);void CNova__SetColorCalibration(IAnalogOverlay* pIAnalogOverlay, PCALIBRATION_PARAMETERS p);QRESULT CNova__SetOverrideRedUpper(IAnalogOverlay* pIAnalogOverlay, WORD Value);DWORD CNova__GetOverrideRedUpper(IAnalogOverlay* pIAnalogOverlay);QRESULT CNova__SetOverrideRedLower(IAnalogOverlay* pIAnalogOverlay, WORD Value);DWORD CNova__GetOverrideRedLower(IAnalogOverlay* pIAnalogOverlay);QRESULT CNova__SetOverrideGreenUpper(IAnalogOverlay* pIAnalogOverlay, WORD Value);DWORD CNova__GetOverrideGreenUpper(IAnalogOverlay* pIAnalogOverlay);QRESULT CNova__SetOverrideGreenLower(IAnalogOverlay* pIAnalogOverlay, WORD Value);DWORD CNova__GetOverrideGreenLower(IAnalogOverlay* pIAnalogOverlay);QRESULT CNova__SetOverrideBlueUpper(IAnalogOverlay* pIAnalogOverlay, WORD Value);DWORD CNova__GetOverrideBlueUpper(IAnalogOverlay* pIAnalogOverlay);QRESULT CNova__SetOverrideBlueLower(IAnalogOverlay* pIAnalogOverlay, WORD Value);DWORD CNova__GetOverrideBlueLower(IAnalogOverlay* pIAnalogOverlay);QRESULT CNova__Test(IAnalogOverlay* pIAnalogOverlay);#endif	// __CNOVA_H__

⌨️ 快捷键说明

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