📄 global.h
字号:
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 + -