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

homerHEVC代码阅读(4)——基础结构之stream_t

2015-11-29 21:26 429 查看
c++一些基础数据的重定义

// 基础类型的重定义
// 布尔类型
typedef int Boolean;
// 字节类型(即char)
typedef unsigned char	byte;
// 无符号的8位整数
typedef unsigned char	uint8_t;
// 无符号short
typedef unsigned short	ushort;
// 无符号整形
typedef unsigned int	uint;
// 64位整形
typedef long			int64;
// 无符号的64位整形
typedef unsigned long	uint64;


stream_t表示一个数据流,也表示一块内存,在编码器中主要用于存放输入帧的数据,每个从文件中读取出来的帧的实际的数据都放在stream_t中

// 流结构
struct  stream_t
{
// 最多同时存在8个流
uint8_t		*streams[MAX_STREAMS];

// 记录每个流的长度
int32_t 	stream_size[MAX_STREAMS];

// 每个数据流的实际长度
int32_t 	data_size[MAX_STREAMS];

// 数据的步长?
int32_t 	data_stride[MAX_STREAMS];
};


encoder_in_out_t表示一个输入输出对象,主要是对stream_t的封装,encoder_in_out_t实际上也表示了编码器的输入和输出,进入编码器的是一个encoder_in_out_t,编码的输出也是一个encoder_in_out_t对象

// 编码器输入输出文件
struct encoder_in_out_t
{
// 数据流
stream_t	stream;
uint64_t	pts;
// 帧类型
uint32_t	image_type;//HOMER_IMG_TYPES - this field allows to force the type of an image whenever is needed. otherwise use IMAGE_AUTO
// 用户数据
int8_t		user_data;
// 用户数据的大小
uint32_t	user_data_size;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: