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

📄 sequence_header.h

📁 由bmp生成mpeg2 的I_frame 数据
💻 H
字号:
/*******************************************************************
   MPEG Video sequance header interface
 *******************************************************************/

#ifndef SEQUENCE_HEADER_H
#define SEQUENCE_HEADER_H

#include "video_stream.h"
#include "frame.h"
#include "picture_header.h"
#include "slice_header.h"
#include "macroblock.h"
#include "block.h"
#include "mc.h"
#include "config.h"

typedef struct {
	int profile_and_level;
	int progressive;
	int chroma_format;
	int low_delay;
	int frame_rate_ext_n;
	int frame_rate_ext_d;
} SEQUENCE_EXTENSION;

typedef struct {
	int video_format;
	int has_color_description;
	int color_primaries;
	int transfer_characteristics;
	int matrix_coefficients;
	int display_h_size;
	int display_v_size;
} SEQUENCE_DISPLAY_EXTENSION;

typedef struct {
	int scalable_mode;
	int layer;
	int lower_layer_prediction_h_size;
	int lower_layer_prediction_v_size;
	int h_subsampling_facter_m;
	int h_subsampling_facter_n;
	int v_subsampling_facter_m;
	int v_subsampling_facter_n;
	int picture_mux_enable;
	int mux_to_progressive_sequence;
	int pixture_mux_order;
	int pixture_mux_facter;
} SEQUENCE_SCALABLE_EXTENSION;

typedef struct {
	int orig_h_size;
	int orig_v_size;
	int h_size;
	int v_size;
	int aspect_ratio;
	int picture_rate;
	int bit_rate;
	int vbv_buffer_size;
	int mpeg1;
	int has_intra_quantizer_matrix;
	unsigned short iqm[64];
	int has_nonintra_quantizer_matrix;
	unsigned short nqm[64];
	
	int has_sequence_extension;
	SEQUENCE_EXTENSION se;

	int has_sequence_display_extension;
	SEQUENCE_DISPLAY_EXTENSION sd;

	int has_sequence_scalable_extension;
	SEQUENCE_SCALABLE_EXTENSION ss;

} SEQUENCE_HEADER;

#ifdef __cplusplus
extern "C" {
#endif

#ifndef SEQUENCE_HEADER_C
extern int read_sequence_header(VIDEO_STREAM *in, SEQUENCE_HEADER *out);
extern int sequence_header_to_bgr_conversion_parameter(SEQUENCE_HEADER *in, BGR_CONVERSION_PARAMETER *out, M2V_CONFIG *prm);
extern int sequence_header_to_yuy2_conversion_parameter(SEQUENCE_HEADER *in, YUY2_CONVERSION_PARAMETER *out, M2V_CONFIG *prm);
extern int sequence_header_to_read_picture_header_option(SEQUENCE_HEADER *in, READ_PICTURE_HEADER_OPTION *out);	
extern int sequence_header_to_read_slice_header_option(SEQUENCE_HEADER *in, READ_SLICE_HEADER_OPTION *out);
extern int sequence_header_to_read_macroblock_option(SEQUENCE_HEADER *in, READ_MACROBLOCK_OPTION *out);
extern int sequence_header_to_read_block_option(SEQUENCE_HEADER *in, READ_BLOCK_OPTION *out);
extern int sequence_header_to_mc_parameter(SEQUENCE_HEADER *in, MC_PARAMETER *out);
#endif

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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