📄 struct.h
字号:
////////////////////////////////////////////////////////////////////////////
//
//
// Project : VideoNet version 1.1.
// Description : Peer to Peer Video Conferencing over the LAN.
// Author : Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
// Date : 15-6-2004.
//
// I have converted origional fast h.263 encoder library from C to C++
// so that it can be integrated into any windows application easily.
// I have removed some of unnecessary codes/files from the
// fast h263 library.Also moved definitions and declarations
// in their proper .h and .cpp files.
//
// File description :
// Name : struct.h
//
//
/////////////////////////////////////////////////////////////////////////////
#if !defined _STRUCT_H
#define _STRUCT_H
//
///* Motionvector structure */
//typedef struct motionvector
//{
// 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;
//
//
//
//
///* Point structure */
//typedef struct point
//{
// int x;
// int y;
//} Point;
//
//
//
//
//
//
//
///* Structure with image data */
//typedef struct pict_image
//{
// unsigned int *lum; /* Luminance plane */
// unsigned int *Cr; /* Cr plane */
// unsigned int *Cb; /* Cb plane */
//} PictImage;
//
//
//
//
///* Group of pictures structure. */
//
///* Picture structure */
//typedef struct pict
//{
// int prev;
// int curr;
// int TR; /* Time reference */
// int source_format;
// int picture_coding_type;
// int spare;
// int unrestricted_mv_mode;
// int PB;
// int QUANT;
// int DQUANT;
// int MB;
// int seek_dist; /* Motion vector search window */
// int use_gobsync; /* flag for gob_sync */
// int MODB; /* B-frame mode */
// int BQUANT; /* which quantizer to use for B-MBs in PB-frame */
// int TRB; /* Time reference for B-picture */
// int frame_inc; /* buffer control frame_inc */
// float QP_mean; /* mean quantizer */
//} Pict;
//
//
//
///* Slice structure */
//typedef struct slice
//{
// unsigned int vert_pos; /* Vertical position of slice */
// unsigned int quant_scale; /* Quantization scale */
//} Slice;
//
//
//
///* Macroblock structure */
//typedef struct macroblock
//{
// int mb_address; /* Macroblock address */
// int macroblock_type; /* Macroblock type */
// int skipped; /* 1 if skipped */
// MotionVector motion; /* Motion Vector */
//} Macroblock;
//
//
//
///* Structure for macroblock data */
//typedef struct mb_structure
//{
// int lum[16][16];
// int Cr[8][8];
// int Cb[8][8];
//} MB_Structure;
//
//
//
///* Structure for average results and virtal buffer data */
//typedef struct results
//{
// float SNR_l; /* SNR for luminance */
// float SNR_Cr; /* SNR for chrominance */
// float SNR_Cb;
// float QP_mean; /* Mean quantizer */
//} Results;
//
//
//
//
//
//
//typedef struct compression_parameters
//{
///* Contains all the parameters that are needed for
// encoding plus all the status between two encodings */
// int half_pixel_searchwindow; /* size of search window in half pixels
// if this value is 0, no search is performed
// */
// int format; /* */
// int pels; /* Only used when format == CPARAM_OTHER */
// int lines; /* Only used when format == CPARAM_OTHER */
// int inter; /* TRUE of INTER frame encoded frames,
// FALSE for INTRA frames */
// int search_method; /* DEF_EXHAUSTIVE or DEF_LOGARITHMIC */
// int advanced_method; /* TRUE : Use array to determine
// macroblocks in INTER frame
// mode to be encoded */
// int Q_inter; /* Quantization factor for INTER frames */
// int Q_intra; /* Quantization factor for INTRA frames */
// unsigned int *data; /* source data in qcif format */
// unsigned int *interpolated_lum; /* intepolated recon luminance part */
// unsigned int *recon; /* Reconstructed copy of compressed frame */
// int *EncodeThisBlock;
// /* Array when advanced_method is used */
//} CParam;
//
//
//
//
//
//
///* Structure for counted bits */
//typedef struct bits_counted
// {
// int Y;
// int C;
// int vec;
// int CBPY;
// int CBPCM;
// int MODB;
// int CBPB;
// int COD;
// int header;
// int DQUANT;
// int total;
// int no_inter;
// int no_inter4v;
// int no_intra;
///* NB: Remember to change AddBits(), ZeroBits() and AddBitsPicture()
// when entries are added here */
//} Bits;
//
// Video Format structure...
//struct qcif
//{
// unsigned int Y[QCIF_YHEIGHT][QCIF_YWIDTH];
// unsigned int U[QCIF_UHEIGHT][QCIF_UWIDTH];
// unsigned int V[QCIF_VHEIGHT][QCIF_VWIDTH];
//};
//
//
//
//
//struct cif
//{
// unsigned int Y[CIF_YHEIGHT][CIF_YWIDTH];
// unsigned int U[CIF_UHEIGHT][CIF_UWIDTH];
// unsigned int V[CIF_VHEIGHT][CIF_VWIDTH];
//};
//
//
//
//
//struct qcif8bit
//{
// unsigned char Y[QCIF_YHEIGHT][QCIF_YWIDTH];
// unsigned char U[QCIF_UHEIGHT][QCIF_UWIDTH];
// unsigned char V[QCIF_VHEIGHT][QCIF_VWIDTH];
//};
//
//
//
//struct cif8bit
//{
// unsigned char Y[CIF_YHEIGHT][CIF_YWIDTH];
// unsigned char U[CIF_UHEIGHT][CIF_UWIDTH];
// unsigned char V[CIF_VHEIGHT][CIF_VWIDTH];
//};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -