📄 userprefdef.h
字号:
#include <stddef.h>
#define TV_EXTR_CONTRAST 0x10
typedef struct
{
BYTE Brightness; // 1
BYTE Contrast;//8
BYTE AdcRedGain; // 2
BYTE AdcGreenGain; //3
BYTE AdcBlueGain; //4
BYTE AdcRedOffset;// 5
BYTE AdcGreenOffset;//6
BYTE AdcBlueOffset;//7
BYTE SavedModeIndex;
BYTE Checksum;
} PCSettingType;
typedef struct
{
BYTE ucVersion;
BYTE MonitorFlag; // 0
BYTE Language;//14
BYTE OsdHStart;//15
BYTE OsdVStart;//16
BYTE OsdTime;//17
BYTE InputType;
BYTE DOWN;
BYTE VideoBrightness;
BYTE VideoContrast;
BYTE VideoSaturation;
BYTE VideoHue;
BYTE VideoSharpness;//13
BYTE VideoColorSys;
BYTE Scaling;
BYTE TunerAGC;
BYTE volume;
BYTE MuteStatus; // 1:mute
BYTE videoAGC;
BYTE VcomDC;
BYTE VcomAC;
BYTE Checksum;
}VideoSettingType ;
typedef struct
{ WORD HTotal;
WORD HStart;
WORD VStart;
WORD AutoHStart;
WORD AutoVStart;
BYTE Phase;
BYTE AutoTimes;
BYTE checksum;
} ModeSettingType;
typedef struct
{ WORD HorFreq;
WORD VerFreq;
BYTE Flags;
} ModeInfoType;
typedef struct _TVChSettingType
{
BYTE ucCurChannelNO; // Current channel NO.
BYTE ucPreChannelNO; // Previos channel NO.
BYTE TvCurChannelMisc;
#if TV_SYSTEM==TV_NTSC
BYTE ucTVSource; // THE LAST USED TV SOURCE
BYTE ucATVChannelNO; // THE LAST ATV channel NO.
BYTE ucCTVChannelNO; // THE LAST CTV channel NO.
#endif
}TVChSettingType;
typedef enum
{
CS_AUTO,
CS_NTSC,
CS_PAL,
CS_COLORSYS_NUMS
} EnuTVColorSystem;
typedef enum
{
Scaling_Full,
Scaling_4_3,
Scaling_NUMS
} ScalingType;
typedef struct _NonLinearCurveType
{
BYTE X0;
BYTE X1;
BYTE X2;
BYTE X3;
BYTE X4;
}NonLinearCurveType;
typedef struct _StuChannelData
{
WORD wFreq;
BYTE ucChannelMisc;
} StuChannelData;
typedef enum
{
TV_SOUND_BG,
TV_SOUND_DK,
TV_SOUND_I,
TV_SOUND_M,
TV_SOUND_N,
TV_SOUND_L,
TV_SOUND_NUMS
} EnuTVSoundSystem;
typedef enum
{
CHROMA_AUTO,
CHROMA_PAL,
CHROMA_NTSC,
CHROMA_SECAM,
CHROMA_NUMS
} EnuCChromaSystem;
typedef enum
{
MARIA1=11,
MARIA2=21,
MARIA2_B=22,
MARIA2_D=24,
MARIA2_E=25,
MARIA2_F=25,
MARIA2_G=26,
MARIA3=31,
MARIA_Type_NUMS
} MARIAScalerType;
typedef struct
{
BYTE VideoHStart; // H capture start
BYTE VideoVStart; // V capture start
WORD HRange; // H capture range
WORD VRange; // V capture range
}_CaptureVideoWinType;
typedef struct
{
BYTE SVideoHStartOffset; // H capture start
BYTE SVideoVStartOffset; // V capture start
}_CaptureSvideoWinOffsetType;
#define CurrentChannelVsValue StuChannelData.wFreq
#define CurrentChannelInfo StuChannelData.ucChannelMisc
//TVChannelInfo.Info============================================================
#define SoundSysMask (_BIT2|_BIT1|_BIT0)
#define DoAFCFlag _BIT3
#define ColorSysMask (_BIT4|_BIT5|_BIT6)
#ifdef Multi_language
#define ModeCSValue 0xA0
#define VideoVersion 0x50
#define BoardVersion 0xA0
#else
#define ModeCSValue 0xAA
#define VideoVersion 0xF0
#define BoardVersion 0x55
#endif
//==========================================================================
#define NumberOfMode 30
#define UserModeNumber 5
#define NVRamAddress_Base 0
#define PCSettingSize sizeof(PCSettingType)
#define VideoSettingSize sizeof(VideoSettingType)
#define ModeSettingSize sizeof(ModeSettingType)
#define ModeInfoSize sizeof(ModeInfoType)
#define CheckSumSize 1
#define ChannelNumberInfoSize sizeof(TVChSettingType)
#define SIZE_TV_CHANNEL_INFO sizeof(StuChannelData)
typedef enum
{
BoardChkSumAddr=NVRamAddress_Base,
VideoSettingAddr=NVRamAddress_Base+0x10,
PCSettingAddr=VideoSettingAddr+VideoSettingSize,
ModeSettingAddr=PCSettingAddr+PCSettingSize,
UserModeSettingAddr=ModeSettingAddr+ModeSettingSize*NumberOfMode,
ModeInfoAddr=UserModeSettingAddr+ModeSettingSize*UserModeNumber,
ChannelNumberInfoAddr=ModeInfoAddr+ModeInfoSize*UserModeNumber,
TV_SKIP_INFOAddr=ChannelNumberInfoAddr+ChannelNumberInfoSize,
#if TV_SYSTEM==TV_NTSC
CATV_SKIP_INFOAddr=TV_SKIP_INFOAddr+13,//(BYTE)((TV_MAX_CHANNEL_NUM+1)/8)+1,
#endif
ChannelAddr=0x400,//ChannelNumberInfoAddr+ChannelNumberInfoSize,
} NVRamAddress;
#define adrMonitorSetting_Base NVRamAddress_Base
#define adrModeSetting_Base NVRamAddress_Base+PCSettingSize
#define nvrMonitorAddr(member) PCSettingAddr+offsetof(PCSettingType, member)
#define nvrVideoAddr(member) VideoSettingAddr+offsetof(VideoSettingType, member)
#define nvrModeSettingBaseAddr ModeSettingAddr+(WORD)NumberOfMode*ModeSettingSize*(UserModeFlag>>6)
#define nvrModeBaseAddr(modeIndex) nvrModeSettingBaseAddr+(WORD)modeIndex*ModeSettingSize
#define nvrModeAddr(member) nvrModeBaseAddr(g_ucSaveIndex)+offsetof(ModeSettingType, member)
#define nvrModeInfoAddr(modeIndex) ModeInfoAddr+(WORD)modeIndex*ModeInfoSize
#define nvrTVChanneSkipInfoAddr(ChannelIndex) TV_SKIP_INFOAddr+(WORD)ChannelIndex/8
#define nvrChannelNumberInfoAddr(member) ChannelNumberInfoAddr+offsetof(TVChSettingType, member)
#if TV_SYSTEM==TV_NTSC
#define nvrCATVChanneSkipInfoAddr(ChannelIndex) CATV_SKIP_INFOAddr+(WORD)ChannelIndex/8
#define nvrChanneAddr(ChannelIndex) (g_TVChSetting.ucTVSource==NTSC_ATV)?(ChannelAddr+(WORD)ChannelIndex*SIZE_TV_CHANNEL_INFO):(ChannelAddr+((WORD)ChannelIndex+70)*SIZE_TV_CHANNEL_INFO)
#else
#define nvrChanneAddr(ChannelIndex) ChannelAddr+(WORD)ChannelIndex*SIZE_TV_CHANNEL_INFO
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -