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

📄 color.h

📁 这是G.723和G.729的音频编解码的源代码
💻 H
字号:

#define CF_UMV							1
#define CF_AP							2
#define CF_PB							4
#define CF_SAC							8

#define SF_SQCIF						0
#define SF_QCIF							1
#define SF_CIF							2
#define SF_4CIF							3

#define MAXLENGTH						32768
#define MB_SIZE							16

#define PCT_INTRA						0
#define PCT_INTER						1
#define MODE_INTER                      0
#define MODE_INTER_Q                    1
#define MODE_INTER4V                    2
#define MODE_INTRA                      3
#define MODE_INTRA_Q                    4
#define QMODE_PI                        0
#define QMODE_PB                        1
#define PBMODE_NORMAL                   0
#define PBMODE_MVDB                     1
#define PBMODE_CBPB_MVDB                2

#define ESCAPE                          7167
#define MYERROR							-1
#define PC_PSC							0x20
#define PC_EOS							0x3f
#define GOB_GBSC						1
#define NO_VEC                          999   
#define HMB							Height/MB_SIZE
#define WMB							Width/MB_SIZE
#define DEF_8X8_WIN						2
#define PREF_16_VEC						100
#define DEF_PBDELTA_WIN					2
#define PREF_PBDELTA_NULL_VEC			50

typedef struct ColorYUV
	{HANDLE hImage;
	 BYTE *Image;
	 BYTE *Y;
	 BYTE *U;
	 BYTE *V;
	}YUVData;

typedef struct RGB
	{BYTE B;
	 BYTE G;
	 BYTE R;
	}RGBPixel;

const struct format_info
{
	int Pixels;
	int Lines;
	DWORD TotalBytes;
}FormatInfo[5]={{128,96,12288},
				{176,144,25344},
				{352,288,101376},
				{704,576,405504},
				{1408,1152,1622016}};

typedef struct motion_vector
{
  int x;			// Horizontal comp. of mv 	 
  int y;			// Vertical comp. of mv
  int x_half;		// Horizontal half-pel acc.
  int y_half;		// Vertical half-pel acc.
  int min_error;	// Min error for this vector
  int Mode;         // Necessary for adv. pred. mode 
} MotionVector;
	
typedef struct picture_layer
{
	 int PSC;
	 int TR;
	 BOOL SplitScreen;
	 BOOL DocumentCamera;
	 BOOL FreezePicture;
	 int SourceFormat;
	 BOOL PictureType;
	 BOOL UMVMode;
	 BOOL SACMode;
	 BOOL APMode;
	 BOOL PBMode;
	 BOOL CPM;
	 BOOL PLCI;
	 int PQUANT;
	 int TRB;
	 int DBQUANT;
	 BOOL PEI;
	 int PSPARE;
	 int EOS;
}PictureLayerInfo;

typedef struct picture_bits
{
	int TotalBits;
	int PSCBits;
	int TRBits;
	int SourceFormatBits;
	int CPMBits;
	int PLCIBits;
	int PQUANTBits;
	int TRBBits;
	int DBQUANTBits;
	int PEIBits;
	int PSPAREBits;
	int EOSBits;
}PictureLayerBits;

typedef struct gob_layer
{
	int GBSC;
	int GroupNumber;
	int GLCI;
	int GFID;
	int GQUANT;
}GOBLayerInfo;

typedef struct gob_bits
{
	int TotalBits;
	int GBSCBits;
	int GNBits;
	int GLCIBits;
	int GFIDBits;
	int GQUANTBits;
}GOBLayerBits;

typedef struct mb_layer
{
	int COD;
	int MCBPC;
	int MCBPCCW;
	int MODB;
	int MODBCW;
	int CBPB;
	int CBPBCW;
	int CBPY;
	int CBPYCW;
	int DQUANT;
	int DQUANTCW;
	MotionVector MVD;
	int MVDCW;
	MotionVector MVD2;
	int MVD2CW;
	MotionVector MVD3;
	int MVD3CW;
	MotionVector MVD4;
	int MVD4CW;
	MotionVector MVDB;
	int MVDBCW;
}MBLayerInfo;

typedef struct mb_bits
{
	int TotalBits;
	int CODBits;
	int MCBPCBits;
	int MODBBits;
	int CBPBBits;
	int CBPYBits;
	int DQUANTBits;
	int MVDBits;
	int MVD2Bits;
	int MVD3Bits;
	int MVD4Bits;
	int MVDBBits;
}MBLayerBits;

typedef struct mb_data
{
	short lumData[MB_SIZE*MB_SIZE+4];
	short *lum;
	short CBData[MB_SIZE*MB_SIZE/4+4];
	short *CB;
	short CRData[MB_SIZE*MB_SIZE/4+4];
	short *CR;
}MB_Structure;

typedef struct BYTE_mb_data
{	BYTE lumData[MB_SIZE*MB_SIZE+8];
	BYTE *lum;
	BYTE CBData[MB_SIZE*MB_SIZE/4+8];
	BYTE *CB;
	BYTE CRData[MB_SIZE*MB_SIZE/4+8];
	BYTE *CR;
}MB_BYTE_Structure;

typedef struct area_intpolate
{	BYTE *LumIntPel;
	BYTE *LumXHalf;
	BYTE *LumYHalf;
	BYTE *LumHalfPel;
	BYTE *CBIntPel;
	BYTE *CBXHalf;
	BYTE *CBYHalf;
	BYTE *CBHalfPel;
	BYTE *CRIntPel;
	BYTE *CRXHalf;
	BYTE *CRYHalf;
	BYTE *CRHalfPel;

	int Pixels;
	int Lines;
}AreaInt;

typedef struct
{
	int run, level, len;
}DCTtab;

⌨️ 快捷键说明

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