FFMPEG中重要的数据结构的挖掘
2016-03-29 19:26
405 查看
[cpp] view
plain copy
typedef struct AVFormatContext {
struct AVInputFormat *iformat;
void *priv_data;
ByteIOContext *pb;
unsigned int nb_streams;
AVStream *streams[MAX_STREAMS];
} AVFormatContext;
typedef struct AVStream {
int index; /**< stream index in AVFormatContext */
int id; /**< format-specific stream ID */
AVCodecContext *codec; /**< codec context */
AVRational time_base;
struct AVCodecParserContext *parser;
} AVStream;
typedef struct AVCodecContext {
uint8_t *extradata;
int extradata_size;
AVRational time_base;
int width, height;
enum PixelFormat pix_fmt;
/* audio only */
int sample_rate; ///< samples per second
int channels; ///< number of audio channels
char codec_name[32];
enum CodecType codec_type; /* see CODEC_TYPE_xxx */
enum CodecID codec_id; /* see CODEC_ID_xxx */
unsigned int codec_tag;
struct AVCodec *codec;
void *priv_data;
} AVCodecContext;
typedef struct AVCodec {
int (*init)(AVCodecContext *);
int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data);
int (*close)(AVCodecContext *);
int (*decode)(AVCodecContext *, void *outdata, int *outdata_size,
const uint8_t *buf, int buf_size);
}
http://blog.csdn.net/mydeardingxiaoli/article/details/17168899
plain copy
typedef struct AVFormatContext {
struct AVInputFormat *iformat;
void *priv_data;
ByteIOContext *pb;
unsigned int nb_streams;
AVStream *streams[MAX_STREAMS];
} AVFormatContext;
typedef struct AVStream {
int index; /**< stream index in AVFormatContext */
int id; /**< format-specific stream ID */
AVCodecContext *codec; /**< codec context */
AVRational time_base;
struct AVCodecParserContext *parser;
} AVStream;
typedef struct AVCodecContext {
uint8_t *extradata;
int extradata_size;
AVRational time_base;
int width, height;
enum PixelFormat pix_fmt;
/* audio only */
int sample_rate; ///< samples per second
int channels; ///< number of audio channels
char codec_name[32];
enum CodecType codec_type; /* see CODEC_TYPE_xxx */
enum CodecID codec_id; /* see CODEC_ID_xxx */
unsigned int codec_tag;
struct AVCodec *codec;
void *priv_data;
} AVCodecContext;
typedef struct AVCodec {
int (*init)(AVCodecContext *);
int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data);
int (*close)(AVCodecContext *);
int (*decode)(AVCodecContext *, void *outdata, int *outdata_size,
const uint8_t *buf, int buf_size);
}
http://blog.csdn.net/mydeardingxiaoli/article/details/17168899
相关文章推荐
- FFmpeg的一些关键的数据结构(二)
- FFmpeg的一些关键的数据结构(一)
- ffmpeg主要数据结构及其之间的关系
- 数据结构(三)——双链表、链式栈、链式队列 及实现
- 数据结构(二)——单链表 、带头结点的单链表、循环链表 及其实现
- 数据结构(一)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构与算法(七):常见数据结构与算法概括
- 使用C++实现二叉搜索树的数据结构
- HDU 2222 AC自动机模版题
- 数据结构之排序篇
- 数据结构中的树
- linux 块设备驱动(二)——块设备数据结构
- 数据结构:排序算法总结
- 数据结构:散列表
- mysqll底层分享(一):MySQL索引背后的数据结构及算法原理
- 浙大PTA数据结构Pop Sequence
- Java数据结构——栈
- Navicat 同步数据结构,对比数据资源
- 数据结构基础
- 《学习javascript数据结构与算法》——第六章:集合