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

📄 video.h

📁 This code is based on mpeg_play, available from: http://bmrc.berkeley.edu/frame/research/mpeg/
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Block structure. */typedef struct block {#ifdef USE_ATI  long int dct_recon[6][130];            /* Reconstructed dct runs & levels */#else  short int dct_recon[8][8];             /* Reconstructed dct coeff matrix. */#endif  short int dct_dc_y_past;               /* Past lum. dc dct coefficient.   */  short int dct_dc_cr_past;              /* Past cr dc dct coefficient.     */  short int dct_dc_cb_past;              /* Past cb dc dct coefficient.     */} Block;/* Video stream structure. */typedef struct vid_stream {  unsigned int h_size;                         /* Horiz. size in pixels.     */  unsigned int v_size;                         /* Vert. size in pixels.      */  unsigned int mb_height;                      /* Vert. size in mblocks.     */  unsigned int mb_width;                       /* Horiz. size in mblocks.    */  unsigned char aspect_ratio;                  /* Code for aspect ratio.     */  unsigned char picture_rate;                  /* Code for picture rate.     */  unsigned int bit_rate;                       /* Bit rate.                  */  unsigned int vbv_buffer_size;                /* Minimum buffer size.       */  BOOLEAN const_param_flag;                    /* Contrained parameter flag. */  unsigned char intra_quant_matrix[8][8];      /* Quantization matrix for						  intracoded frames.         */  unsigned char non_intra_quant_matrix[8][8];  /* Quanitization matrix for 						  non intracoded frames.     */  char *ext_data;                              /* Extension data.            */  char *user_data;                             /* User data.                 */  GoP group;                                   /* Current group of pict.     */  Pict picture;                                /* Current picture.           */  Slice slice;                                 /* Current slice.             */  Macroblock mblock;                           /* Current macroblock.        */  Block block;                                 /* Current block.             */  int state;                                   /* State of decoding.         */  int bit_offset;                              /* Bit offset in stream.      */  unsigned int *buffer;                        /* Pointer to next byte in						  buffer.                    */  int buf_length;                              /* Length of remaining buffer.*/  unsigned int *buf_start;                     /* Pointer to buffer start.   *//* VC - beginning of added variables for noise computation */  short noise_base_matrix[8][8];               /* Square quantization error  *//* VC - end of added variables *//* Brown - beginning of added variables that used to be static or global */  int max_buf_length;                          /* Max length of buffer.      */  int film_has_ended;                          /* Boolean - film has ended   */  unsigned int num_left;                       /* from ReadPacket - leftover */  unsigned int leftover_bytes;                 /* from ReadPacket - leftover */  int EOF_flag;                                /* stream is EOF              */  BOOLEAN Parse_done;                          /* from read_sys              */  int right_for,down_for;                      /* From ReconPMBlock, video.c */  int right_half_for, down_half_for;  unsigned int curBits;                        /* current bits               */  int matched_depth;                           /* depth of displayed movie   */  int ditherType;                              /* What type of dithering     */  char *ditherFlags;                           /* flags for MB Ordered dither*/  int totNumFrames;                            /* Total Number of Frames     */  double realTimeStart;                        /* When did the movie start?  *//* Brown - end of added variables */  PictImage *past;                             /* Past predictive frame.     */  PictImage *future;                           /* Future predictive frame.   */  PictImage *current;                          /* Current frame.             */  PictImage *ring[RING_BUF_SIZE];              /* Ring buffer of frames.     *//* KR - beginning of added variables */  double rate_deal;  int _skipFrame;  double _skipCount;  int _jumpFrame;  double _oneFrameTime;  MPEGvideo* _smpeg;/* KR - end of added variables *//* SL - beginning of added variables for FPS calculation *///#define CALCULATE_FPS#define FPS_WINDOW 60#ifdef CALCULATE_FPS  double frame_time[FPS_WINDOW];  int timestamp_index;#endif/* SL - end of added variables *//* begining of added variables for system stream based sync */  double timestamp;  unsigned int *timestamp_mark;  bool timestamp_used;/* begining of added variables */  bool need_frameadjust;  int  current_frame;#ifdef USE_ATI  unsigned int ati_handle;#endif} VidStream;   /* Declaration of global display pointer. *//* Quiet mode flag. */extern int quietFlag;/* Flag controlling the "Press return" prompt */extern int requireKeypressFlag;/* Flag controlling speed vs. quality */extern int qualityFlag;/* Gamma correction stuff */extern int gammaCorrectFlag;extern double gammaCorrect;/* Chroma correction stuff */extern int chromaCorrectFlag;extern double chromaCorrect;/* Definition of Contant integer scale factor. */#define CONST_BITS 13/* Misc DCT definitions */#define DCTSIZE		8	/* The basic DCT block is 8x8 samples */#define DCTSIZE2	64	/* DCTSIZE squared; # of elements in a block */#define GLOBAL			/* a function referenced thru EXTERNs */  typedef short DCTELEM;typedef DCTELEM DCTBLOCK[DCTSIZE2]; #ifdef ANALYSISextern unsigned int bitCount;extern int showEachFlag;extern unsigned int cacheHit[8][8];extern unsigned int cacheMiss[8][8];#endif#if !defined(__MIPSEL__) && (defined(MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__) || defined(__mipsel) || defined(__mipsel__))#define __MIPSEL__ 1#endif#if !defined(__MIPSEB__) && (defined(MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__) || defined(__mipseb) || defined(__mipseb__))#define __MIPSEB__ 1#endif#if !defined(__SPARC__) && (defined(SPARC) || defined(__SPARC) || defined(__SPARC__) || defined(__sparc) || defined(__sparc__))#define __SPARC__ 1#endif#if !defined(__alpha__) && (defined(ALPHA) || defined(__ALPHA) || defined(__ALPHA__) || defined(__alpha))#define __alpha__ 1#endif#if !defined(__680x0__) && (defined(__680x0) || defined(__680x0__))#define __680x0__ 1#endif#if !defined(__AIX__) && (defined(AIX) || defined(_AIX) || defined(__AIX) || defined(__AIX__))#define __AIX__ 1#endif#if !defined(__RS6000__) && (defined(__AIX__) || defined(RS6000) || defined(_RS6000) || defined(__RS6000) || defined(__RS6000__))#define __RS6000__ 1#endif#if !defined(__HPUX__) && (defined(HPUX) || defined(_HPUX) || defined(__HPUX) || defined(__HPUX__))#define __HPUX__ 1#endif#if !defined(__HPUX__) && (defined(hpux) || defined(_hpux) || defined(__hpux) || defined(__hpux__))#define __HPUX__ 1#endif#if !defined(__VAX__) && (defined(VAX) || defined (__VAX))#define __VAX__ 1#endif#if !defined(__SCO__) && (defined(SCO) || defined(__SCO) || defined(sco) || defined(__sco__))#define __SCO__ 1#endif#if defined(__i386__) || defined(__VAX__) || defined(__MIPSEL__) || defined(__alpha__) || defined(__SCO__)#undef  BIG_ENDIAN_ARCHITECTURE#define LITTLE_ENDIAN_ARCHITECTURE 1#endif#if defined(__RS6000__) || defined(__SPARC__) || defined(__mc68000__) || defined(__HPUX__) || defined(__MIPSEB__) || defined(convex) || defined(__convex__) || defined(__powerpc__)#undef  LITTLE_ENDIAN_ARCHITECTURE#define BIG_ENDIAN_ARCHITECTURE 1#endif#if !defined(LITTLE_ENDIAN_ARCHITECTURE) && !defined(BIG_ENDIAN_ARCHITECTURE)#ifdef WIN32#undef  BIG_ENDIAN_ARCHITECTURE#define LITTLE_ENDIAN_ARCHITECTURE#else#ifdef __BIG_ENDIAN__#undef  LITTLE_ENDIAN_ARCHITECTURE#define BIG_ENDIAN_ARCHITECTURE 1#else#include <endian.h>#if __BYTE_ORDER == __LITTLE_ENDIAN#undef  BIG_ENDIAN_ARCHITECTURE#define LITTLE_ENDIAN_ARCHITECTURE 1#endif#if __BYTE_ORDER == __BIG_ENDIAN#undef  LITTLE_ENDIAN_ARCHITECTURE#define BIG_ENDIAN_ARCHITECTURE 1#endif#endif#endif#endif#if !defined(LITTLE_ENDIAN_ARCHITECTURE) && !defined(BIG_ENDIAN_ARCHITECTURE)#error Unknown endianism of architecture#endif#ifdef __alpha__#define SIXTYFOUR_BIT#endif/* Warnings that may help in debugging MPEG streams *///#define VERBOSE_WARNINGS//#define VERBOSE_DEBUG#endif /* video.h already included */

⌨️ 快捷键说明

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