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

📄 chipctl.h

📁 jpeg and mpeg 编解码技术源代码
💻 H
字号:
#ifndef __CHIPCTL_H__
#define __CHIPCTL_H__

#include "GUM.H"
#include "GCommDef.H"

#ifdef __cplusplus
extern "C" {
#endif	// __cplusplus

// Define the TV tuner types
typedef enum _CHIPCTL_TVTUNER_TYPE
{
	TVTUNER_AIR_CHANNEL,
	TVTUNER_CABLE_CHANNEL,
	TVTUNER_FM_RADIO
} CHIPCTL_TVTUNER_TYPE;

// Set the TV tuner attributes
typedef struct _CHIPCTL_TVTUNER_CONFIG
{
	DWORD					dwSlotNumber;	// Slot number
	int						iChannelNo;		// Channel number
	CHIPCTL_TVTUNER_TYPE	TVTunerType;	// TV tuner type
} CHIPCTL_TVTUNER_CONFIG, *PCHIPCTL_TVTUNER_CONFIG;
/*-------------------------------------------------------------
Members:
	dwSlotNumber
		Indicate the slot number.
	iChannelNo
		Indicate the channel number.
	TVTunerType
		Indicate the TV tuner type.
-------------------------------------------------------------*/

// Get the TV tuner status
typedef struct _CHIPCTL_TVTUNER_STATUS
{
	DWORD	dwSlotNumber;		// Slot number
	BOOL	fLocked;
	int		iFreqError;		// in frequency steps
	BOOL	fSuccess;
} CHIPCTL_TVTUNER_STATUS, *PCHIPCTL_TVTUNER_STATUS;

// Set the TV tuner attributes
typedef struct _CHIPCTL_VIDEO_DECODER_ACCESS
{
	DWORD		dwSlotNumber;		// Slot number
	DWORD		dwAddress;			// Start address
	LPBYTE		lpBuffer;			// Buffer pointer
	DWORD		dwSize;				// Number of registers
} CHIPCTL_VIDEO_DECODER_ACCESS, *PCHIPCTL_VIDEO_DECODER_ACCESS;
/*-------------------------------------------------------------
Members:
	dwSlotNumber
		Indicate the slot number.
	dwAddress
		Indicate the start address that wants to access.
	lpBuffer
		Point to a buffer that contains data at WRITE_MODE or
		receives data at READ_MODE.
	dwSize
		Indicate the number of registers.
-------------------------------------------------------------*/

// Set the TV tuner attributes
typedef struct _CHIPCTL_I2C_DEVICE_ACCESS
{
	DWORD		dwSlotNumber;		// Slot number
	DWORD		dwDeviceID;			// I2C device ID
	DWORD		dwAddress;			// Start address
	LPBYTE		lpBuffer;			// Buffer pointer
	DWORD		dwSize;				// Number of registers
} CHIPCTL_I2C_DEVICE_ACCESS, *PCHIPCTL_I2C_DEVICE_ACCESS;
/*/-------------------------------------------------------------
Members:
	dwSlotNumber
		Indicate the slot number.
	dwDeviceID
		Indicate the I2C device's ID.
	dwAddress
		Indicate the start address that wants to access.
	lpBuffer
		Point to a buffer that contains data at WRITE_MODE or
		receives data at READ_MODE.
	dwSize
		Indicate the number of registers.
-------------------------------------------------------------*/

//	[General Part]
int WINAPI CHIPCTL_Open( DWORD dwTotalSlotNumber, LPBYTE lpRegistryPath );
int WINAPI CHIPCTL_Close( void );

//	[Video Decoder Part]
int WINAPI CHIPCTL_SetVideoSource( DWORD dwSlotNumber, int iVideoSource );
int WINAPI CHIPCTL_SetBrightness( DWORD dwSlotNumber, int iBrightness );
int WINAPI CHIPCTL_SetContrast( DWORD dwSlotNumber, int iContrast );
int WINAPI CHIPCTL_SetHue( DWORD dwSlotNumber, int iHue );
int WINAPI CHIPCTL_SetSaturation( DWORD dwSlotNumber, int iSaturation );
int WINAPI CHIPCTL_SetVideoDecoder( PCHIPCTL_VIDEO_DECODER_ACCESS pVideoDecoderAccess );
int WINAPI CHIPCTL_GetVideoDecoder( PCHIPCTL_VIDEO_DECODER_ACCESS pVideoDecoderAccess );
int WINAPI CHIPCTL_CheckVideoLocked( DWORD dwSlotNumber, BOOL *pflocked );
int WINAPI CHIPCTL_CheckVideoStandard(DWORD dwSlotNumber, MPJ_VidStd *pVideoStandard );
int WINAPI CHIPCTL_InitVideoDecoder( DWORD dwSlotNumber, MPJ_VidStd VideoStandard );

//	[Audio CODAC Part]
int WINAPI CHIPCTL_AK4516ReadReg( DWORD dwSlotNumber, BYTE bRegister, BYTE *pbValue );
int WINAPI CHIPCTL_AK4516WriteReg( DWORD dwSlotNumber, BYTE bRegister, BYTE bValue );
int WINAPI CHIPCTL_InitAudioDAC( DWORD dwSlotNumber );

//	[TV Tuner Part]
DWORD WINAPI CHIPCTL_SetChannel( PCHIPCTL_TVTUNER_CONFIG pConfig );
DWORD WINAPI CHIPCTL_TryChannel( PCHIPCTL_TVTUNER_CONFIG pConfig );
DWORD WINAPI CHIPCTL_GetTunerStatus( PCHIPCTL_TVTUNER_STATUS pStatus );
int WINAPI CHIPCTL_GetMinChannelNumber( int iSignalType );
int WINAPI CHIPCTL_GetMaxChannelNumber( int iSignalType );

//	[General I2C Device Part]
int WINAPI CHIPCTL_SetI2CDevice( PCHIPCTL_I2C_DEVICE_ACCESS pI2CDeviceAccess );
int WINAPI CHIPCTL_GetI2CDevice( PCHIPCTL_I2C_DEVICE_ACCESS pI2CDeviceAccess );

//added by Johnson Chang, 03/13/2000, BEGIN
//Control EM78156 to get remote and set others.
BOOL WINAPI CHIPCTL_GetRemoteKey( DWORD dwSlotNumber, BYTE *byKey );
BOOL WINAPI CHIPCTL_SendDataToEmc( DWORD dwSlotNumber, BYTE bySub, BYTE byData );
BOOL WINAPI CHIPCTL_ReadTuner( DWORD dwSlotNumber, BYTE byAddr, BYTE *byKey );
BOOL WINAPI CHIPCTL_WriteTuner( DWORD dwSlotNumber, BYTE byAddr, BYTE *byData );
//added by Johnson Chang, 03/13/2000, END

#ifdef __cplusplus
}
#endif	// __cplusplus

#endif	// __CHIPCTL_H__

⌨️ 快捷键说明

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