homerHEVC代码阅读(4)——基础结构之stream_t
2015-11-29 21:26
429 查看
c++一些基础数据的重定义
stream_t表示一个数据流,也表示一块内存,在编码器中主要用于存放输入帧的数据,每个从文件中读取出来的帧的实际的数据都放在stream_t中
encoder_in_out_t表示一个输入输出对象,主要是对stream_t的封装,encoder_in_out_t实际上也表示了编码器的输入和输出,进入编码器的是一个encoder_in_out_t,编码的输出也是一个encoder_in_out_t对象
// 基础类型的重定义 // 布尔类型 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; };
相关文章推荐
- 【C#】初识C#之 .NET Framework3.5简介
- C++内存管理
- 【C语言提高03】变量本质
- php缓存技术详细介绍及php缓存的实现代码
- c++生成二维码
- c++11 final与override说明符
- 第十二章 process.tar.gz中代码的运行
- C语言经典例程100例
- 【c#】—解密类String
- c++日期类
- Eclipse下使用Maven创建项目出现的archetype错误
- Java自定义注解及注解的使用
- 关于lua语言及热更新的研究一
- 一起talk C栗子吧(第六十八回:C语言实例--DIY字符串长度函数的小疑问)
- python 3 输入和输出
- spring-mvc.xml
- homerHEVC代码阅读(3)——基础结构之HVENC_Cfg
- 【C语言提高02】数据类型本质
- leetcode implement strStr python
- 【spring进阶】--控制反转(IoC)和依赖注入(DI)