您的位置:首页 > 编程语言

homerHEVC代码阅读(18)——基础结构之mv_candiate_list_t,motion_vector_t,temporal_info_t,wnd_t

2015-12-07 20:05 453 查看
mv_candiate_list_t表示mv候选列表;motion_vector_t表示运动向量(MV);temporal_info_t表示时域信息;wnd_t表示窗口(其实就是管理了一个帧的结构).

// 运动向量
typedef struct motion_vector_t motion_vector_t;
struct motion_vector_t
{
// 横坐标
int32_t hor_vector;
// 纵坐标
int32_t ver_vector;
};

// 运动向量候选列表
typedef struct mv_candiate_list_t mv_candiate_list_t;
struct mv_candiate_list_t
{
// 候选mv的数量
int	num_mv_candidates;
// 候选mv
motion_vector_t	mv_candidates[MV_MAX_NUM_CANDS_MEM];
};


// 窗口
typedef struct wnd_t wnd_t;
struct wnd_t
{
// 指向图像的三个分量的数据(连同扩展部分)
void	*palloc[NUM_PICT_COMPONENTS];//allocated pointer
// 指向图像的三个分量的数据(真实数据)
void	*pwnd[NUM_PICT_COMPONENTS];//valid data pointer

// 窗口尺寸
int		window_size_x[NUM_PICT_COMPONENTS];
int		window_size_y[NUM_PICT_COMPONENTS];

// 数据扩展尺寸
int		data_padding_x[NUM_PICT_COMPONENTS];//left and right padding due to data pading or memory aligment
int		data_padding_y[NUM_PICT_COMPONENTS];//top and bottom padding due to data pading or memory aligment

// 数据尺寸
int		data_width[NUM_PICT_COMPONENTS];//wnd data horizontal size
int		data_height[NUM_PICT_COMPONENTS];//wnd data vertical size

// 像素尺寸
int		pix_size;
//#ifdef WRITE_REF_FRAMES
//	FILE	*out_file;//for debug porposes
//#endif
};

// 时域信息
typedef union temporal_info_t temporal_info_t;
union temporal_info_t
{
// 表示有效帧的编号
uint64_t	pts;

// 图像计数
uint32_t	poc;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: