您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: