📄 mom_structs.h
字号:
#ifndef _MOM_STRUCTS_H_#define _MOM_STRUCTS_H_#include "momusys.h"#define VERSION 1 /* Image Structure Version *//******* Basic and generic image structure******/enum image_type {SHORT_TYPE,FLOAT_TYPE,UCHAR_TYPE};typedef enum image_type ImageType;union image_data{ SInt *s; /* SHORT data */ Float *f; /* FLOAT data */ UChar *u; /* UCHAR data */};typedef union image_data ImageData;struct image{ Int version; /* Version number */ UInt x,y; /* Image size */ Char upperodd; /* Flag to tell if the top line is considered as even or odd (used for hex grids) */ Char grid; /* Grid type: s = square, h = hexagonal */ SInt *f; /* Image data with short int values */ ImageData *data; /* NEW: pointer to image data */ ImageType type; /* NEW: type of the image */};typedef struct image Image;typedef struct image ImageI; /* For compatibility with old source code */typedef struct image ImageF; /* For compatibility with old source code *//******* Recommended structures for VOPs, VOLs and VOs (now compliant with VM3.0)* (in the VOP structure *all* entries from the VOL syntax which* are necessary for decoding the VOP are duplicated. These entries* are marked as "VOL ...")******/struct vop{ /* Actual syntax elements for VOP (standard) */ Int prediction_type; /* VOP prediction type */ Int mod_time_base; /* VOP modulo time base (absolute) */ Float time_inc; /* VOP time increment (relative to last mtb) */ Int rounding_type; Int width; /* VOP height (smallest rectangle) */ Int height; /* VOP width (smallest rectangle) */ Int hor_spat_ref; /* VOP horizontal ref. (for composition) */ Int ver_spat_ref; /* VOP vertical ref. (for composition) */ Int intra_dc_vlc_thr; Int quantizer; /* VOP quantizer for P-VOPs */ Int intra_quantizer; /* VOP quantizer for I-VOPs */ /* Syntax elements copied from VOL (standard) */ Int time_increment_resolution; Int intra_acdc_pred_disable; /* VOL disable INTRA DC prediction */ Int sr_for; /* VOP search range of motion vectors */ Int fcode_for; /* VOP dynamic range of motion vectors */ Int quant_precision; Int bits_per_pixel; /* Pointers to the images (YUVA) and to related VOPs */ Image *y_chan; /* Y component of the VOP texture */ Image *u_chan; /* U component of the VOP texture */ Image *v_chan; /* V component of the VOP texture */};typedef struct vop Vop;struct object_layer_cfg{ Float frame_rate; /* VOL frame rate */ Int M; /* M-1 number of B-VOPs between consecutive P-VOPs*/ Int start_frame; /* Frame at which to start coding */ Int end_frame; /* Frame at which to end coding */ Int bit_rate; /* Target bitrate */ Int frame_skip; /* Number of frames to skip between codings */ Int quantizer; /* Initial value for H.263 INTRA quantizer */ Int intra_quantizer; /* Initial value for H.263 INTER quantizer */ Int intra_period; /* Regular rate of INTRA VOP *//* Automatically calculated coding fields */ Int modulo_time_base[2]; /* Modulo time base must be maintained for VOL */};typedef struct object_layer_cfg VolConfig;#include "mom_util.h"#include "mom_access.h"#endif /* _MOM_STRUCTS_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -