ctvenc.h

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

H
120
字号
/******************************************************************************  CTvEnc.h : Implementation of TvEncoder 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 __CTVENCODER_H__#define __CTVENCODER_H__#include "cobject.h"#define CURRENT_MACROVISION		0xFF#define AD7178_WRITE_ADDR	0x14#define AD7178_READ_ADDR	0x15#define AD7178_ID			37#define BT865_WRITE_ADDR	0x8A#define BT865_READ_ADDR		0x8B#define BT865_ID			0xB1#define BT869_WRITE_ADDR	0x8A#define BT869_READ_ADDR		0x8B#define BT869_ID			80#define AD_ECCF1			0x02#define AD_ECCF2			0x04#define AD_LUMA_FILTER_EXTENDED_MODE	0x10#define BT865_MAPREG(reg)	((BYTE)((reg)<<(1)))#define BT865_DACOFF		0x08	//reg 5E#define BT865_YUV16			0x04	//reg 5E#define BT865_SETUPDIS		0x40	//reg 66(cc)#define BT865_SETMODE		0x80	//reg 66(cc)#define BT865_EACTIVE		0x02	//reg 67(ce)#define BT865_SCRESET		0x08	//reg 67(ce)#define BT865_ECCF1			0x40	//reg 67(ce)#define BT865_ECCF2			0x80	//reg 67(ce)//////////////////////////////////////////////////////////////////////////////// CTvEncoder Implementation#define CTvEncoder_MEMBER\	ITvEncoderVtbl VTable;			/* virtual table */\	II2C* m_pII2C;					/* interface I2C for TvEncoders I2C based*/\	IDecoder* m_pIDecoder;			/* interface for the hardware implementing the TV used only by SigmaTv */\	void* pQ;						/* pointer to symbols of microcode used only by SigmaTv*/\	WORD SigmaTvRegs[13];			/* table with registers values used only by SigmaTv*/\	WORD SigmaTvRegs35[7];			/* table with registers values used only by SigmaTv EM847X*/\	BYTE CC_Enable;					/*  */\	BYTE CC_UserEnable;				/*  */\	BYTE CC_FieldEnable;			/*  */\	BYTE m_bEncoderRegs;			/* number of TV encoder registers */\	DWORD TvDacsEnable;				/* 1 means Tv Dacs are powered up */\	DWORD NTSC_SubcarrierFrequency;	/*  */\	DWORD PAL_SubcarrierFrequency;	/*  */\	DWORD PALM_SubcarrierFrequency;	/*  */\	BYTE* TVRegsTable;				/*  */\	DWORD CurrentTvStandard;		/*  */\	DWORD CurrentMacrovision;		/*  */\	DWORD CGMSWSS;					/*  */\	DWORD YcYuvRgb;					/* composite/componentYUV/componentRGB */\	REGISTRY_TABLE* pRegistry;\	DWORD InvertField;				/* used only for SigmaTv */\	PROPERTY_ITEM TvEncoderPropertyList[etvMax];\typedef struct tagCTvEncoderMember{	COBJECT_MEMBER	CTvEncoder_MEMBER} CTvEncoderMember;typedef struct tagCTvEncoder{	struct tagITvEncoderVtbl *lpVtbl;	COBJECT_MEMBER	CTvEncoder_MEMBER} CTvEncoder;void CTvEncoder__New (CTvEncoder** ppTvEncoder, TCHAR *pName, BOOL bAllocate, DWORD dwInstance);void CTvEncoder__Delete(ITvEncoder* pITvEncoder, BOOL bDeleteObject);BOOL CTvEncoder__Init(ITvEncoder* pITvEncoder, DWORD* pTvEncoderId);void CTvEncoder__Write(ITvEncoder* pITvEncoder, DWORD addr, DWORD Data);DWORD CTvEncoder__Read(ITvEncoder* pITvEncoder, DWORD addr);BOOL CTvEncoder__WriteN(ITvEncoder* pITvEncoder, DWORD addr, BYTE* pData, int n);BOOL CTvEncoder__ReadN(ITvEncoder* pITvEncoder, DWORD addr, BYTE* pData, int n);BOOL CTvEncoder__Check(ITvEncoder* pITvEncoder);void CTvEncoder__SetRegistry(ITvEncoder* pITvEncoder, REGISTRY_TABLE* pRegistry);void CTvEncoder__InitTvEncoder(ITvEncoder* pITvEncoder);void CTvEncoder__ProgramTV(ITvEncoder* pITvEncoder, DWORD TvMaster, DWORD nbits, DWORD ccir, DWORD TvStandard, DWORD DacsEnable);void CTvEncoder__SetTVStandard(ITvEncoder* pITvEncoder, DWORD StandardTV);DWORD CTvEncoder__GetCurrentTVStandard(ITvEncoder* pITvEncoder);DWORD CTvEncoder__GetCurrentMacrovision(ITvEncoder* pITvEncoder);void CTvEncoder__SetCurrentYcYuvRgb(ITvEncoder* pITvEncoder, DWORD YcYuvRgb);DWORD CTvEncoder__GetCurrentYcYuvRgb(ITvEncoder* pITvEncoder);DWORD CTvEncoder__IsVideoOnTv(ITvEncoder* pITvEncoder);void CTvEncoder__ReadMacrovision(ITvEncoder* pITvEncoder, WORD* pN);void CTvEncoder__WriteMacrovision(ITvEncoder* pITvEncoder, WORD* pN);void CTvEncoder__EnableMacrovision(ITvEncoder* pITvEncoder, DWORD Level);void CTvEncoder__SendCCData(ITvEncoder* pITvEncoder, BYTE field, BYTE* Data);void CTvEncoder__ShowCloseCaption(ITvEncoder* pITvEncoder);void CTvEncoder__HideCloseCaption(ITvEncoder* pITvEncoder);void CTvEncoder__DisableTVBlackout(ITvEncoder* pITvEncoder);void CTvEncoder__SetPALSubcarrier(ITvEncoder* pITvEncoder, DWORD value);void CTvEncoder__SetNTSCSubcarrier(ITvEncoder* pITvEncoder, DWORD value);DWORD CTvEncoder__GetPALSubcarrier(ITvEncoder* pITvEncoder);DWORD CTvEncoder__GetNTSCSubcarrier(ITvEncoder* pITvEncoder);DWORD CTvEncoder__GetTvIdentifier(ITvEncoder* pITvEncoder);void CTvEncoder__InitPropertySet(ITvEncoder* pITvEncoder, void* pPropSet, DWORD dwSize);#endif

⌨️ 快捷键说明

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