FFmpeg中关键结构体之间的关系

由于项目的需要,最近接触到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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值