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

📄 btenum.h

📁 ZPAV (H265) PC(X86) demo ZPAV (H265) 是 音视频 压缩解压 协议
💻 H
字号:

#ifndef __BTENUM__
#define __BTENUM__


//+++++++++++++++++++++++
// Video Shift
//+++++++++++++++++++++++
typedef enum tagVideoShift{
        X_SHIFT=0,
        Y_SHIFT
}VIDEOSHIFT;

//+++++++++++++++++++++++
// Image settings
//+++++++++++++++++++++++
typedef enum tagColorIndex{
        LUMA      =0,
        CHROMA    =1,
        HUE       =2,
        SATURATION=3,
        CONTRAST  =4
}COLORINDEX;

//+++++++++++++++++++++++
// Video Source
//+++++++++++++++++++++++
typedef enum tagVideoSource{
        MUX0=0,
        MUX1=1,
        MUX2=2,
		MUX3=3
}VIDEOSOURCE;

//+++++++++++++++++++++++
// Video Input Format 
//+++++++++++++++++++++++
typedef enum tagInputFormat{
        COMPOSITE=0,
        SVIDEO
}COMPOSITESVIDEO;

//+++++++++++++++++++++++
// Field type
//+++++++++++++++++++++++
typedef enum tagFieldType{
        ODD=0,
        EVEN=1,
        BOTH
}FIELDTYPE;

//+++++++++++++++++++++++
// Video TV Mode 
//+++++++++++++++++++++++
typedef enum tagTVMode {
        TV = 0,
        CATV
}TVMode;

//+++++++++++++++++++++++
// Video TV Standard 
//+++++++++++++++++++++++
typedef enum tagTVStandard {
        NTSC = 0,
        PAL,
        SECAM,
        NTSC_LOW,
        PAL_LOW
}TVSTANDARD;

//+++++++++++++++++++++++
// Video TV Interlace 
//+++++++++++++++++++++++
typedef enum tagTVINTERLACE {
        INTERLACE = 0,
        NONINTERLACE
}TVINTERLACE;


//+++++++++++++++++++++++
// Video Color Format 
//+++++++++++++++++++++++
typedef enum tagCOLORFORMATREG { // COLOR FORMAT ENUMS
   
	CF_RAW8X     = 6,                     //composed,packed
	CF_RGB8      = 5,                     //composed,packed
    CF_RGB32     = 4,                     //composed,packed
	CF_RGB24     = 3,                     //composed,packed
	CF_RGB16     = 0,                     //composed,packed
	CF_GRAY      = 1,                     //monochrome  GRAY 
	CF_RGB15     = 2,                     //composed,packed

	CF_YUV422_packed = 10,              //composed,packed
    CF_YUV411_packed = 11,              //composed,packed, also in VBI
	CF_YUV422_planar = 12,              //planar
	CF_YUV411_planar = 13               //planar

} COLORFORMATREG;


//+++++++++++++++++++++++
// Audio Format Type 
//+++++++++++++++++++++++
typedef enum tagAFormat{
        AF_RIFF=0x00,
        AF_AIFF=0x01,
        AF_MPG =0x02
}AFormat;

//+++++++++++++++++++++++
// Audio Source ( Input )
//+++++++++++++++++++++++
typedef enum tagAUDIOSOURCE { // audio source 
   
	STV     = 0,                     //TV tuner audio input 
	SFM     = 1,                     //FM audio input 
    SML     = 2,                     //SML (mic/line audio input)
	SMXC    = 3,                     //SMXC 

} AUDIOSOURCE;


//+++++++++++++++++++++++
// audio input mode  
//+++++++++++++++++++++++
typedef enum tagAUDIOINPUTMODE { // audio input mode  
   
	A_DIGITAL_MODE    = 0,                     //digital audio input mode 
	A_PACKET_MODE     = 1,                     //data packet mode 
 
} AUDIOINPUTMODE ;


//+++++++++++++++++++++++
// audio & video streams 
//+++++++++++++++++++++++
typedef enum tagAV_STREAMS{
        STREAMS_V    =0,
        STREAMS_A    =1,
		STREAMS_AV   =2
}AV_STREAMS;



#ifndef __RGBDATA_DEF__
#define __RGBDATA_DEF__

// RGB16 RGB15 Data Struct 
#pragma pack(push, 1)
typedef union tagRGBDATA {
	    unsigned short AsShort ;
		// RGB16 
		struct {
			unsigned  B:5; // << 3 
			unsigned  G:6; // << 2 
			unsigned  R:5; // << 3
		} Bits16 ;
		// RGB15 
		struct {
			unsigned  B:5; // << 3
			unsigned  G:5; // << 3
			unsigned  R:5; // << 3
		} Bits15 ;
}RGBDATA;
#pragma pack(pop, 1)


#define RR16(a) ((unsigned char)((((a).Bits16.R)<<3)&0xf8 ))
#define RG16(a) ((unsigned char)((((a).Bits16.G)<<2)&0xfc ))
#define RB16(a) ((unsigned char)((((a).Bits16.B)<<3)&0xf8 ))

#define WR16(a,b ) ( (a).Bits16.R = ( (b)>>3 ) ) 
#define WG16(a,b ) ( (a).Bits16.G = ( (b)>>2 ) ) 
#define WB16(a,b ) ( (a).Bits16.B = ( (b)>>3 ) ) 

#define MAKESHORT(a,b) ( ((((unsigned short)((a)))<<8)&0xff00) |(b) )
#define RRGBDATA(a) ((a).AsShort)

#define RR15(a) ((unsigned char)((((a).Bits15.R)<<3)&0xf8 ))
#define RG15(a) ((unsigned char)((((a).Bits15.G)<<3)&0xf8 ))
#define RB15(a) ((unsigned char)((((a).Bits15.B)<<3)&0xf8 ))

#define WR15(a,b ) ( (a).Bits15.R = ( (b)>>3 ) ) 
#define WG15(a,b ) ( (a).Bits15.G = ( (b)>>3 ) ) 
#define WB15(a,b ) ( (a).Bits15.B = ( (b)>>3 ) ) 

#endif //__RGBDATA_DEF__


#endif /*__BTENUM__*/

⌨️ 快捷键说明

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