FFmpeg中关键结构体之间的关系
2014-03-08 18:46
609 查看
由于项目的需要,最近接触到FFmpeg,但是其中的结构体很多,它们的关系也一直不是很清理。因此,特意整理了一下FFmpeg中关键结构体之间的关系。
本文以rmvb文件的本地播放为例。文件的视频编码为:RV40;音频编码:COOK。FFmpeg版本为:2.2.
整个关系图如下:
注:AVFormatContext的iformat和oformat两个成员不能同时赋值,即ff_rm_demuxer与ff_rm_muxer只能有一个。由于本例是解码,所以,此处应只有ff_rm_demuxer.
各结构体的定义位置如下:
AVFormatContext, AVInputFormat, AVOutputFormat, AVStream: /libavformat/AVformat.h
AVIOContext: /libavformat/Avio.h
URLContext, URLProtocol: /libavformat/Url.h
AVCodecContext, AVCodec, AVCodecParserContext, AVCodecParser: /libavcodec/Avcodec.h
FileContext: /libavformat/File.c
RMDemuxContext: /libavformat/Rmdec.c
RV34DecContext: /libavcodec/Rv34.h
RV34ParseContext: /libavcodec/Rv34_parser.c
COOKContext: /libavcodec/Cook.c
COOKContext: /libavcodec/Cook_parser.c
本文以rmvb文件的本地播放为例。文件的视频编码为:RV40;音频编码:COOK。FFmpeg版本为:2.2.
整个关系图如下:
注:AVFormatContext的iformat和oformat两个成员不能同时赋值,即ff_rm_demuxer与ff_rm_muxer只能有一个。由于本例是解码,所以,此处应只有ff_rm_demuxer.
各结构体的定义位置如下:
AVFormatContext, AVInputFormat, AVOutputFormat, AVStream: /libavformat/AVformat.h
AVIOContext: /libavformat/Avio.h
URLContext, URLProtocol: /libavformat/Url.h
AVCodecContext, AVCodec, AVCodecParserContext, AVCodecParser: /libavcodec/Avcodec.h
FileContext: /libavformat/File.c
RMDemuxContext: /libavformat/Rmdec.c
RV34DecContext: /libavcodec/Rv34.h
RV34ParseContext: /libavcodec/Rv34_parser.c
COOKContext: /libavcodec/Cook.c
COOKContext: /libavcodec/Cook_parser.c
相关文章推荐
- 四个好看的CSS样式表格
- Wowza4 初体验
- android实现translate位移动画效果
- 跨平台移动应用开发之 Flex 的崛起
- 输入数字星期,输出英文
- MarkdownPad 破解学习
- UVA 1330 LA 3029 seerc 2004 - City Game
- linux RM删除文件,磁盘空间没有释放
- C++析构函数为什么要为虚函数
- 字母大小写转换并倒序输出
- 张国祥老师应邀在大庆油田天然气公司讲授制度建设与流程管理课程
- 构造函数私有化---单例模式
- [ACM] hdu 1201 18岁生日
- 通过反射跟踪JVM的运行时状态
- [ACM] hdu 1201 18岁生日
- <PY>今天研究了一下批处理,py拖动生成单文件exe
- c++ 多线程
- 怎样判断一个数是回文数
- imagemagick
- POJ 1815 最小点割集