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