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