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

📄 global.h

📁 mpeg2 decoder filter过滤服务端
💻 H
📖 第 1 页 / 共 2 页
字号:
EXTERN int Coded_Picture_Width;EXTERN int Coded_Picture_Height;EXTERN int Chroma_Width;EXTERN int Chroma_Height;EXTERN int block_count;EXTERN int Second_Field;EXTERN int profile, level;/* normative derived variables (as per ISO/IEC 13818-2) */EXTERN int horizontal_size;EXTERN int vertical_size;EXTERN int mb_width;EXTERN int mb_height;EXTERN double bit_rate;EXTERN double frame_rate; /* headers *//* ISO/IEC 13818-2 section 6.2.2.1:  sequence_header() */EXTERN int aspect_ratio_information;EXTERN int frame_rate_code; EXTERN int bit_rate_value; EXTERN int vbv_buffer_size;EXTERN int constrained_parameters_flag;/* ISO/IEC 13818-2 section 6.2.2.3:  sequence_extension() */EXTERN int profile_and_level_indication;EXTERN int progressive_sequence;EXTERN int chroma_format;EXTERN int low_delay;EXTERN int frame_rate_extension_n;EXTERN int frame_rate_extension_d;/* ISO/IEC 13818-2 section 6.2.2.4:  sequence_display_extension() */EXTERN int video_format;  EXTERN int color_description;EXTERN int color_primaries;EXTERN int transfer_characteristics;EXTERN int matrix_coefficients;EXTERN int display_horizontal_size;EXTERN int display_vertical_size;/* ISO/IEC 13818-2 section 6.2.3: picture_header() */EXTERN int temporal_reference;EXTERN int picture_coding_type;EXTERN int vbv_delay;EXTERN int full_pel_forward_vector;EXTERN int forward_f_code;EXTERN int full_pel_backward_vector;EXTERN int backward_f_code;/* ISO/IEC 13818-2 section 6.2.3.1: picture_coding_extension() header */EXTERN int f_code[2][2];EXTERN int intra_dc_precision;EXTERN int picture_structure;EXTERN int top_field_first;EXTERN int frame_pred_frame_dct;EXTERN int concealment_motion_vectors;EXTERN int intra_vlc_format;EXTERN int repeat_first_field;EXTERN int chroma_420_type;EXTERN int progressive_frame;EXTERN int composite_display_flag;EXTERN int v_axis;EXTERN int field_sequence;EXTERN int sub_carrier;EXTERN int burst_amplitude;EXTERN int sub_carrier_phase;/* ISO/IEC 13818-2 section 6.2.3.3: picture_display_extension() header */EXTERN int frame_center_horizontal_offset[3];EXTERN int frame_center_vertical_offset[3];/* ISO/IEC 13818-2 section 6.2.2.5: sequence_scalable_extension() header */EXTERN int layer_id;EXTERN int lower_layer_prediction_horizontal_size;EXTERN int lower_layer_prediction_vertical_size;EXTERN int horizontal_subsampling_factor_m;EXTERN int horizontal_subsampling_factor_n;EXTERN int vertical_subsampling_factor_m;EXTERN int vertical_subsampling_factor_n;/* ISO/IEC 13818-2 section 6.2.3.5: picture_spatial_scalable_extension() header */EXTERN int lower_layer_temporal_reference;EXTERN int lower_layer_horizontal_offset;EXTERN int lower_layer_vertical_offset;EXTERN int spatial_temporal_weight_code_table_index;EXTERN int lower_layer_progressive_frame;EXTERN int lower_layer_deinterlaced_field_select;/* ISO/IEC 13818-2 section 6.2.3.6: copyright_extension() header */EXTERN int copyright_flag;EXTERN int copyright_identifier;EXTERN int original_or_copy;EXTERN int copyright_number_1;EXTERN int copyright_number_2;EXTERN int copyright_number_3;/* ISO/IEC 13818-2 section 6.2.2.6: group_of_pictures_header()  */EXTERN int drop_flag;EXTERN int hour;EXTERN int minute;EXTERN int sec;EXTERN int frame;EXTERN int closed_gop;EXTERN int broken_link;/* layer specific variables (needed for SNR and DP scalability) */EXTERN struct layer_data {  /* bit input */  int Infile;  unsigned char Rdbfr[2048];  unsigned char *Rdptr;  unsigned char Inbfr[16];  /* from mpeg2play */  unsigned int Bfr;  unsigned char *Rdmax;  int Incnt;  int Bitcnt;  /* sequence header and quant_matrix_extension() */  int intra_quantizer_matrix[64];  int non_intra_quantizer_matrix[64];  int chroma_intra_quantizer_matrix[64];  int chroma_non_intra_quantizer_matrix[64];    int load_intra_quantizer_matrix;  int load_non_intra_quantizer_matrix;  int load_chroma_intra_quantizer_matrix;  int load_chroma_non_intra_quantizer_matrix;  int MPEG2_Flag;  /* sequence scalable extension */  int scalable_mode;  /* picture coding extension */  int q_scale_type;  int alternate_scan;  /* picture spatial scalable extension */  int pict_scal;  /* slice/macroblock */  int priority_breakpoint;  int quantizer_scale;  int intra_slice;  short block[12][64];} base, enhan, *ld;#ifdef VERIFYEXTERN int verify_sequence_header;EXTERN int verify_group_of_pictures_header;EXTERN int verify_picture_header;EXTERN int verify_slice_header;EXTERN int verify_sequence_extension;EXTERN int verify_sequence_display_extension;EXTERN int verify_quant_matrix_extension;EXTERN int verify_sequence_scalable_extension;EXTERN int verify_picture_display_extension;EXTERN int verify_picture_coding_extension;EXTERN int verify_picture_spatial_scalable_extension;EXTERN int verify_picture_temporal_scalable_extension;EXTERN int verify_copyright_extension;#endif /* VERIFY */EXTERN int Decode_Layer;/* verify.c */#ifdef VERIFYvoid Check_Headers _ANSI_ARGS_((int Bitstream_Framenum, int Sequence_Framenum));void Clear_Verify_Headers _ANSI_ARGS_((void));#endif /* VERIFY */EXTERN int global_MBA;EXTERN int global_pic;EXTERN int True_Framenum;

// added by djhuang

#define BUFFER_SIZE				2048


#define PRIVATE_STREAM_2			0x1BF

#define STORE_RGB24		1
#define STORE_YUY2		2

//#define BUFFER_SIZE				2048


#define IDCT_MMX		1
#define	IDCT_FPU		2
#define IDCT_REF		3


#define FO_NONE			0
#define FO_FILM			1

//#define I_TYPE			1
//#define P_TYPE			2
//#define B_TYPE			3

unsigned short VOB_ID, CELL_ID;

EXTERN double  Frame_Rate;

/* decoder operation control flags */
int Check_Flag;
//int Fault_Flag;
int Rip_Flag;
int Stop_Flag;
int FO_Flag;
int iDCT_Flag;
int Luminance_Flag;
int Scale_Flag;
int Store_Flag;  // Store RGB24 or YUY2
int SystemStream_Flag;

BOOL    gIsPictureDecoding;

BITMAPINFOHEADER birgb;

BITMAPINFOHEADER biyuv;

unsigned char *u422, *v422, *u444, *v444, *rgb24, *yuy2, *lum;

int VideoPTS, AudioPTS;

__int64 YUVRGB_Scale, YUVRGB_Offset, LumOffsetMask, LumGainMask;
unsigned int hwidth, hwidthd8, dwidth, qwidth, hheightd2, qheightd2, nwidth;

int Bitrate_Meter;


#define ERROR_FLUSH       200
//BOOL    gIsPictureDecoding;
BOOL    gIsEOS;    // Indicating no more data will be received


EXTERN short *block[8]
#ifdef GLOBAL
=
{
	0, 0, 0, 0, 0, 0, 0, 0
}
#endif
;

EXTERN short *p_block[8]
#ifdef GLOBAL
=
{
	0, 0, 0, 0, 0, 0, 0, 0
}
#endif
;

/* gethdr.c */
//int Get_Hdr(void);
//void next_start_code(void);
void sequence_header(void);
// int slice_header(void);

void Initialize_Reference_IDCT();

/* getpic.c */
// int Decode_Picture(void);


//  int picture_coding_type;

unsigned int Frame_Number;

EXTERN  void InitialDecoder _ANSI_ARGS_((void));
EXTERN  int Decode_Bitstream _ANSI_ARGS_((void));
EXTERN  void CheckSequenceHeader _ANSI_ARGS_((void));
EXTERN  void InitSystem _ANSI_ARGS_((void));
EXTERN  void UninitSystem _ANSI_ARGS_((void));

⌨️ 快捷键说明

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