struct.h

来自「myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频」· C头文件 代码 · 共 229 行

H
229
字号
typedef    bit				BIT;
typedef    bit				BOOL;
typedef    unsigned char	BYTE;
typedef    unsigned int		WORD;
typedef    unsigned long	LWORD;

#define  DataEndFg		0xFF
#define   FALSE			0
#define   TRUE			1
#define   OFF				0
#define   ON				1

#define   LoByte(w)      ((BYTE)(w))
#define   HiByte(w)      ((BYTE)(((WORD)(w) >> 8) & 0xFF))

#define   Abs(a,b)         (((a) > (b)) ? (a-b) : (b-a))
#define   Max(a,b)         (((a) > (b)) ? (a) : (b))
#define   Min(a,b)         (((a) < (b)) ? (a) : (b))
//-----------------------------------------------
struct sSYNCDATA   {
      WORD   H_Freq;              // Hs freq.
      WORD   V_Freq;              // Vs freq.
      WORD   V_Total;            // Vs total
      BYTE   HV_Stat;              //
   };
//-----------------------------------------------
struct sDATA1   {
      BYTE  ResMode;              // Resolution   (defalut)
      WORD  H_Freq;              // Hs freq.
      WORD  V_Freq;              // Vs freq.
      WORD  V_Total;            // Vs total
      WORD  H_Pos;                 // Hs position
      WORD  V_Pos;                 // Vs position
      WORD  Clock;              // AD Clock total
      BYTE  Phase;              // AD clock phase
      BYTE  HV_Stat;              //
      BYTE   VcoPc;		// Vco & pump current      
   };
//-----------------------------------------------
struct sDATA2   {
      BYTE  ResMode;            // Resolution   (User Set)
      WORD  V_Pos;               // Vs position
      WORD  H_Pos;               // Hs position
      BYTE  Phase;            // AD Clock pase
      WORD  Clock;            // AD Clock total
   };
//-----------------------------------------------
struct sDATA3   {
	BYTE  V_Pos;
       BYTE  H_Pos;
       BYTE  Language;
 	BYTE  OffTimer;
       BYTE  DispFunc;
	BYTE  TransP;   //transparent value
   };
//-----------------------------------------------
/*
struct sDATA4   {
      BYTE  Brightness;
      BYTE  Contrast;
      BYTE  VideoBrightness;
      BYTE  VideoContrast;
   };
*/

struct BrightData     {
      BYTE Brightness;
      BYTE Contrast;
      BYTE SubContrast;
   };

//-----------------------------------------------
/*
struct sDATA5   {
      BYTE  RedGain;
      BYTE  GreenGain;
      BYTE  BlueGain;
      BYTE  RedOffset;
      BYTE  GreenOffset;
      BYTE  BlueOffset;
      BYTE  ColorTab;
   };
*/

struct ColorData    {
      BYTE Saturation;
      BYTE Hue;
	BYTE Sharpness;
   };

//-----------------------------------------------
struct sDATA6   {
      BYTE  InputMode;   
   };
//-----------------------------------------------
/*
struct sDATA7   {
      BYTE  Brightness;
      BYTE  Contrast;
      BYTE  Saturat;
      BYTE  Hue;
      BYTE  Sharpness;
      BYTE  CbSaturat;
      BYTE  CrSaturat;	  
   };
*/
struct VideoData  {
      BYTE Brightness;	
      BYTE Contrast;		
      BYTE Saturation;	 
      BYTE Hue;	
	BYTE Sharpness;
   };

//-----------------------------------------------
struct sDATA8   {
      BYTE  MVolum;
      BYTE  Bass;
      BYTE  Treble;
      BYTE  Balance;	  
      BYTE  Mute;            
   };

//-----------------------------------------------
struct GammaData    {
      BYTE Vg1;
      BYTE Vg2;
      BYTE CAMP;
      BYTE CDC; 
      BYTE DR;
      BYTE DG;
	BYTE DB;
	BYTE WhiteLimit;
	BYTE BlackLimit;
   };


//-----------------------------------------------
union W_TEMP{
	BYTE	valB[2];	//B[]={0xaa,0xbb}
	WORD	valW;	//W=0xaabb
};

//-----------------------------------------------
union DW_TEMP{
	unsigned char	valB[4];	//B[]={0x0xaa,0xbb,0xcc,0xdd}
	unsigned int	valW[2];	//W[]={0xaabb,0xccdd}
	unsigned long	valDW;	//DW=0xaabbccdd
};

//-----------------------------------------------
enum
{
	Analog_Input,
	Digital_Input,
	ADYCBCR_Input,
	SVideo_Input,
	AV1_Input,
	AV2_Input,	
	YCBCR_Input,
	TV_Input,
	Max_Input
};


#define	sOSDDataSize		3
//#define   sOSDDataSize	6

#define	sBrightDataSize		3
//#define   sBrightDataSize	4

#define   sColorDataSize		3
//#define   sColorDataSize	6

#define   sGammaDataSize	9

#define   sVideoPosiDataSize	2
#define 	sTVChannelDataSize	1
#define 	sTVSearchDataSize	16
//#define   sColorTabDataSize      1

#define   sColorTabDataSize	1
#define   sImageDataSize		1
#define   sVideoDataSize		7
#define   sAudioDatatSize		5
#define   Color_RomDataSize	sColorDataSize*5+sColorTabDataSize
#define   sTimingDataSize        sizeof(sTiming)
#define   sModeDataSize          sizeof(sMode)

#ifdef _MAIN_

struct   sSYNCDATA NewSync;

struct   sDATA1 sTiming;
struct   sDATA2 sMode;
//struct   sDATA3 sOSD;
//struct   sDATA4 sBright;
//struct   sDATA5 sColor;
struct   sDATA6 sImage;
//struct   sDATA7 sVideo;
struct   sDATA8 sAudio;

struct VideoData sVideo;
struct BrightData sBright;
struct ColorData  sColor;
struct GammaData	sGamma;

#else

extern	struct   sSYNCDATA NewSync;

extern   struct   sDATA1 sTiming;
extern   struct   sDATA2 sMode;
//extern   struct   sDATA3 sOSD;
//extern   struct   sDATA4 sBright;
//extern   struct   sDATA5 sColor;
extern   struct   sDATA6 sImage;
//extern   struct   sDATA7 sVideo;
extern   struct   sDATA8 sAudio;

//MTV332 Modify
extern struct VideoData sVideo;
extern struct BrightData sBright;
extern struct ColorData  sColor;
extern struct GammaData	sGamma;


#endif

⌨️ 快捷键说明

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