📄 avi_context.h
字号:
//////////////////////////////////////////////////////////////////////////////////////////////////////// avi_context.h //// Notice: COPYRIGHT (C) STREAM PROCESSORS, INC. 2005-2007// THIS PROGRAM IS PROVIDED UNDER THE TERMS OF THE SPI// END-USER LICENSE AGREEMENT (EULA). THE PROGRAM MAY ONLY// BE USED IN A MANNER EXPLICITLY SPECIFIED IN THE EULA,// WHICH INCLUDES LIMITATIONS ON COPYING, MODIFYING,// REDISTRIBUTION AND WARANTIES. UNAUTHORIZED USE OF THIS// PROGRAM IS STRICTLY PROHIBITED. YOU MAY OBTAIN A COPY OF// THE EULA FROM WWW.STREAMPROCESSORS.COM. // ////////////////////////////////////////////////////////////////////////////////////////////////////#ifndef _AVI_CONTEXT_H_#define _AVI_CONTEXT_H_////////////////////////////////////////////////////////////////////////////////// Constants////////////////////////////////////////////////////////////////////////////////#define AVIF_HASINDEX (0x00000010)// Attributes and settings used by solution framework for JPEG DPAMtypedef struct AVI_LIST_HDR_T { unsigned char id[4]; /* "LIST" */ unsigned int sz; /* size of owning struct minus 8 */ unsigned char type[4]; /* type of list */} AVI_LIST_HDR_T;typedef struct AVI_DMLH_T { unsigned char id[4]; unsigned int sz; unsigned int frames;} AVI_DMLH_T;typedef struct AVI_ODML_T { AVI_LIST_HDR_T list_hdr; AVI_DMLH_T dmlh;} AVI_ODML_T;typedef struct AVI_STRH_T{ unsigned char type[4]; /* stream type */ unsigned char handler[4]; unsigned int flags; unsigned int priority; unsigned int init_frames; /* initial frames (???) */ unsigned int scale; unsigned int rate; unsigned int start; unsigned int length; unsigned int buff_sz; /* suggested buffer size */ unsigned int quality; unsigned int sample_sz;} AVI_STRH_T;typedef struct AVI_STRF_T{ unsigned int sz; unsigned int width; unsigned int height; unsigned int planes_bit_cnt; unsigned char compression[4]; unsigned int image_sz; unsigned int xpels_meter; unsigned int ypels_meter; unsigned int num_colors; /* used colors */ unsigned int imp_colors; /* important colors */} AVI_STRF_T;typedef struct AVI_STRL_T { AVI_LIST_HDR_T list_hdr; /* chunk strh */ unsigned char strh_id[4]; unsigned int strh_sz; AVI_STRH_T strh; /* chunk strf */ unsigned char strf_id[4]; unsigned int strf_sz; AVI_STRF_T strf; /* list odml */ AVI_ODML_T odml;} AVI_STRL_T;typedef struct AVI_AVIH_T { unsigned int us_per_frame; /* frame display rate (or 0L) */ unsigned int max_bytes_per_sec; /* max. transfer rate */ unsigned int padding; /* pad to multiples of this size - normally 2K */ unsigned int flags; unsigned int tot_frames; /* # frames in file */ unsigned int init_frames; unsigned int streams; unsigned int buff_sz; unsigned int width; unsigned int height; unsigned int reserved[4];} AVI_AVIH_T;typedef struct AVI_LIST_HDRL_T { AVI_LIST_HDR_T list_hdr; /* chunk avih */ unsigned char avih_id[4]; unsigned int avih_sz; AVI_AVIH_T avih; /* list strl */ AVI_STRL_T strl;} AVI_LIST_HDRL_T;typedef struct AVI_RIFF_T { AVI_LIST_HDR_T riff_list_hdr; /* list hdrl */ AVI_LIST_HDRL_T avi_list_hdrl; /* list movi */ AVI_LIST_HDR_T movi_list_hdr;} AVI_RIFF_T;typedef struct AVI_JPEG_HDR_T { unsigned char jpeg_id[4]; unsigned int jpeg_sz; unsigned char jpeg_hdr[6]; unsigned char avi_id[4];} AVI_JPEG_HDR_T;typedef struct _AVI_IDX_INFO_T AVI_IDX_INFO_T;struct _AVI_IDX_INFO_T { int size; AVI_IDX_INFO_T *next;};typedef struct AVI_IDX_HDR_T { unsigned char idx_id[4]; unsigned int idx_sz;} AVI_IDX_HDR_T;typedef struct AVI_IDX_DATA_T { unsigned char jpeg_id[4]; unsigned int unknwn; unsigned int offset; unsigned int jpeg_sz;} AVI_IDX_DATA_T;typedef struct AVI_CONTEXT_T { char avi_filename[100]; FILE *f_avi_file; AVI_RIFF_T avi_riff; AVI_IDX_HDR_T avi_idx_hdr; AVI_IDX_DATA_T avi_idx_data; AVI_JPEG_HDR_T avi_jpeg_hdr; unsigned int frames; unsigned int jpeg_size; AVI_IDX_INFO_T *p_start; AVI_IDX_INFO_T *p_curr;} AVI_CONTEXT_T;#endif //_AVI_CONTEXT_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -