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

📄 global.h

📁 H.263的压缩算法
💻 H
📖 第 1 页 / 共 2 页
字号:
EXTERN int convmat[8][4]#ifdef GLOBAL={  {117504, 138453, 13954, 34903}, /* no sequence_display_extension */  {117504, 138453, 13954, 34903}, /* ITU-R Rec. 709 (1990) */  {104597, 132201, 25675, 53279}, /* unspecified */  {104597, 132201, 25675, 53279}, /* reserved */  {104448, 132798, 24759, 53109}, /* FCC */  {104597, 132201, 25675, 53279}, /* ITU-R Rec. 624-4 System B, G */  {104597, 132201, 25675, 53279}, /* SMPTE 170M */  {117579, 136230, 16907, 35559}/* SMPTE 240M (1987) */}#endif;EXTERN int quiet;EXTERN int trace;EXTERN int save_frames;EXTERN char errortext[256];EXTERN unsigned char *prev_frame[3], *current_frame[3], *bframe[3];EXTERN unsigned char *tmp_f[3], *tmp_b[3];EXTERN unsigned char *edgeframe[3], *edgeframeorig[3], *exnewframe[3];EXTERN unsigned char *nextedgeframe[3], *nextedgeframeorig[3];EXTERN unsigned char *enhancementedgeframe[3], *enhacnementedgeframeorig[3];EXTERN unsigned char *next_I_P_frame[3], *prev_I_P_frame[3], *buffered_frame[3];EXTERN int MV[2][6][MBR + 1][MBC + 2];EXTERN int true_B_direct_mode_MV[2][5][MBR + 1][MBC + 2];EXTERN int modemap[MBR + 1][MBC + 2];EXTERN int anchorframemodemap[MBR + 1][MBC + 2];EXTERN int predictionmap[MBR + 1][MBC + 2];EXTERN unsigned char *clp;EXTERN int horizontal_size, vertical_size, mb_width, mb_height;EXTERN int coded_picture_width, coded_picture_height;EXTERN int ref_coded_picture_width, ref_coded_picture_height;EXTERN int chrom_width, chrom_height, blk_cnt;EXTERN int ref_chrom_width, ref_chrom_height;EXTERN int pict_type, newgob, gfid, pgfid;EXTERN int mv_outside_frame;EXTERN int syntax_arith_coding;EXTERN int adv_pred_mode;EXTERN int overlapping_MC;EXTERN int use_4mv;EXTERN int pb_frame;EXTERN int true_B_frame;EXTERN int scalability_mode;EXTERN int buffered_framenum;EXTERN int long_vectors;EXTERN int fault, expand;EXTERN int verbose;EXTERN int refidct;EXTERN int matrix_coefficients;EXTERN int temp_ref, prev_non_disposable_temp_ref, next_non_disposable_temp_ref;EXTERN int pic_quant, quant, source_format, base_source_format;EXTERN int UFEP;EXTERN int prev_mv_outside_frame, prev_sac, prev_adv_pred, prev_aic, prev_df;EXTERN int prev_slice_struct, prev_rps, prev_isd, prev_aivlc, prev_mq;EXTERN int prev_4mv, prev_long_vectors, prev_obmc;/* Following variables are used in H.263+ bitstream decoding */EXTERN int plus_type;           /* indicates if extended PTYPE exists or                                 * not. */EXTERN int optional_custom_PCF;EXTERN int advanced_intra_coding;EXTERN int deblocking_filter_mode;EXTERN int slice_structured_mode;EXTERN int reference_picture_selection_mode;EXTERN int independently_segmented_decoding_mode;EXTERN int alternative_inter_VLC_mode;EXTERN int modified_quantization_mode;EXTERN int reduced_resolution_update_mode;EXTERN int reference_picture_resampling_mode;EXTERN int rtype;EXTERN int post_filter;EXTERN int unlimited_unrestricted_motion_vectors;EXTERN int concealment;/* Scalability globals */EXTERN unsigned char *prev_enhancement_frame[MAX_LAYERS][3], *current_enhancement_frame[MAX_LAYERS][3];EXTERN unsigned char *curr_reference_frame[3], *upsampled_reference_frame[3];EXTERN unsigned char *enhance_edgeframeorig[MAX_LAYERS][3], *enhance_edgeframe[MAX_LAYERS][3];EXTERN unsigned char *tmp_enhance_fwd[MAX_LAYERS][3], *tmp_enhance_up[MAX_LAYERS][3];EXTERN int enhancement_layer_init[MAX_LAYERS];EXTERN int enhance_pict; /* custom format variables */EXTERN int CP_PAR_code;EXTERN int CP_picture_width_indication;EXTERN int CP_picture_width;EXTERN int CP_picture_height_indication;EXTERN int CP_picture_height;EXTERN int PAR_width;EXTERN int PAR_height;EXTERN int CP_clock_frequency;EXTERN int SSS_rectangular_slices;EXTERN int SSS_arbitary_slice_ordering;EXTERN int enhancement_layer_num;EXTERN int reference_layer_number;EXTERN int MF_of_reference_picture_selection;EXTERN int TRI, TRPI;EXTERN int temporal_reference_for_prediction;#ifdef USE_TIMEEXTERN int framerate;#ifndef WIN32EXTERN struct timeval tftarget;#elseEXTERN unsigned int targetTime;#endif#endifEXTERN int trd, trb, bscan, bquant, true_b_trb;EXTERN int bscan_tab[]#ifdef GLOBAL= {2, 4, 6, 8}#endif;EXTERN int bquant_tab[]#ifdef GLOBAL= {5, 6, 7, 8}#endif;EXTERN int OM[5][8][8]#ifdef GLOBAL= {  {    {4, 5, 5, 5, 5, 5, 5, 4},    {5, 5, 5, 5, 5, 5, 5, 5},    {5, 5, 6, 6, 6, 6, 5, 5},    {5, 5, 6, 6, 6, 6, 5, 5},    {5, 5, 6, 6, 6, 6, 5, 5},    {5, 5, 6, 6, 6, 6, 5, 5},    {5, 5, 5, 5, 5, 5, 5, 5},    {4, 5, 5, 5, 5, 5, 5, 4},  }, {    {2, 2, 2, 2, 2, 2, 2, 2},    {1, 1, 2, 2, 2, 2, 1, 1},    {1, 1, 1, 1, 1, 1, 1, 1},    {1, 1, 1, 1, 1, 1, 1, 1},    {0, 0, 0, 0, 0, 0, 0, 0},    {0, 0, 0, 0, 0, 0, 0, 0},    {0, 0, 0, 0, 0, 0, 0, 0},    {0, 0, 0, 0, 0, 0, 0, 0},  }, {    {0, 0, 0, 0, 0, 0, 0, 0},    {0, 0, 0, 0, 0, 0, 0, 0},    {0, 0, 0, 0, 0, 0, 0, 0},    {0, 0, 0, 0, 0, 0, 0, 0},    {1, 1, 1, 1, 1, 1, 1, 1},    {1, 1, 1, 1, 1, 1, 1, 1},    {1, 1, 2, 2, 2, 2, 1, 1},    {2, 2, 2, 2, 2, 2, 2, 2},  }, {    {0, 0, 0, 0, 1, 1, 1, 2},    {0, 0, 0, 0, 1, 1, 2, 2},    {0, 0, 0, 0, 1, 1, 2, 2},    {0, 0, 0, 0, 1, 1, 2, 2},    {0, 0, 0, 0, 1, 1, 2, 2},    {0, 0, 0, 0, 1, 1, 2, 2},    {0, 0, 0, 0, 1, 1, 2, 2},    {0, 0, 0, 0, 1, 1, 1, 2},  }, {    {2, 1, 1, 1, 0, 0, 0, 0},    {2, 2, 1, 1, 0, 0, 0, 0},    {2, 2, 1, 1, 0, 0, 0, 0},    {2, 2, 1, 1, 0, 0, 0, 0},    {2, 2, 1, 1, 0, 0, 0, 0},    {2, 2, 1, 1, 0, 0, 0, 0},    {2, 2, 1, 1, 0, 0, 0, 0},    {2, 1, 1, 1, 0, 0, 0, 0},}}#endif;EXTERN int roundtab[16]#ifdef GLOBAL= {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2}#endif;EXTERN int MQ_chroma_QP_table[32]#ifdef GLOBAL = {0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15}#endif;/* output */EXTERN char *outputname;EXTERN char trace_file_name[100];EXTERN FILE *trace_file;EXTERN char recon_file_name[100];EXTERN FILE *recon_file_ptr;EXTERN char enhance_recon_file_name[MAX_LAYERS][100];EXTERN FILE *enhance_recon_file_ptr[MAX_LAYERS];EXTERN int outtype;#define T_YUV      0#define T_SIF      1#define T_TGA      2#define T_PPM      3#define T_X11      4#define T_YUV_CONC 5#define T_WIN      6EXTERN struct ld{  /* bit input */  int infile;  unsigned char rdbfr[2051];  unsigned char *rdptr;  unsigned char inbfr[16];  int incnt;  int bitcnt;  /* block data */  short block[12][64];} base, *ld;/* For reference picture selection Mode  (Annex N) */#define RING_SIZE 8EXTERN int   ring_pointer;               /* pointer - to last picture */EXTERN void *ring_lum[RING_SIZE];    /* luminance */EXTERN void *ring_Cr[RING_SIZE];     /* chominance */EXTERN void *ring_Cb[RING_SIZE];EXTERN int   ring_temporal_reference[RING_SIZE];     /* TR values for the pictures */EXTERN int   ring_quality[RING_SIZE];     /* picture quality */EXTERN int   stop_decoder;           /* flag if we completely out of sync *//* Back Channel Message Structure *//* used with Annex N with Videomux channel */EXTERN struct bcm {  int present;           /* set to 1 if bcm is present */  int BT;                /* Back-channel message type (2 bits) */  int URF;               /* Unreliable flag (1 bit) */  int TR;                /* Temporal reference (10 bits) */  int ELNUMI;            /* Enhancement layer number indication (1 bit) */  int ELNUM;             /* Enhancement layer number (4 bits) */  int BCPM;              /* Indicates that BSBI is present (1 bit) */  int BSPI;              /* Back-channel sub bitstream indicator (2 bits) */  int BEPB1;             /* Back-channel emulation prevention bit 1 (1 bit set to 1 */  int GN_MBA;            /* GOB number / Macroblock address (variable length) */  int BEPB2;             /* Back-channel emulation prevention bit 2 (1 bit set to 1 */  int RTR;               /* Requested temporal reference (10 bits) */  int BSTUF;             /* stuffing (variable length) */} BCM;

⌨️ 快捷键说明

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