- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ffmpeg学习六:avcodec_open2函数源码分析(以mp4文件为例)
ffmpeg学习六:avcodec_open2函数源码分析(以mp4文件为例)
avformat_open_input函数的源码,这个函数的虽然比较复杂,但是它基本是围绕着创建和初始化一些数据结构来展开的,比如,avformat_open_input函数会创建和初始化AVFormatContext,AVClass ,AVOption,URLContext,URLProtocol ,AVInputFormat ,AVStream等数据结构,这些数据结构的关系如下:
(这里的箭头是包含关系,不是继承关系)
那么,我们可以推测,同样作为Open系列的函数,avcodec_open2的使命也必然是构建和初始化一系列的数据结构,那么是不是这样呢?
avcodec_open2函数定义在libavcodec/aviocodec.h中:
/**
* Initialize the AVCodecContext to use the given AVCodec. Prior to using this
* function the context has to be allocated with avcodec_alloc_context3().
*
* The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(),
* avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for
* retrieving a codec.
*
* @warning This function is not thread safe!
*
* @note Always call this function before using decoding routines (such as
* @ref avcodec_receive_frame()).
*
* @code
* avcodec_register_all();
* av_dict_set(opts, b, 2.5M, 0);
* codec = avcodec_find_decoder(AV_CODEC_ID_H264);
* if (!codec)
* exit(1);
*
* context = avcodec_alloc_context3(codec);
*
* if (avcodec_open2(context, codec, opts) 0)
* exit(1);
* @endcode
*
* @param avctx The context to initialize.
* @param codec The codec to open this context for. If a non-NULL codec has been
* previously passed to avcodec_alloc_context3() or
* for this context, then this parameter MUST be either NULL or
* equal to the previously passed codec.
* @param options A dictionary filled with AVCodecContext and codec-private options.
* On return this object will be filled with options that were not found.
*
* @return zero on success, a negative value on error
* @see avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(),
* av_dict_set(), av_opt_find().
*/
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
从它的注释中我们可以得到如下信息:
1.使用所给的AVCodec结构体构造AVCodecContext结构体。
2.avcodec_find_decoder_by_
您可能关注的文档
- Eugene O’Neill.ppt
- ES6106 报警系统方案.doc
- EPON+EOC交流.ppt
- ESK公司和产品介绍.ppt
- Eu掺杂硅酸盐.doc
- Excel_2010数据处理与分析 微软版.pptx
- EXCEL_数据收集与编辑.ppt
- excel数据处理——函数和排序.ppt
- Excel中公式和函数的应用-课件.ppt
- excel日常使用技巧.ppt
- ADS—B技术在空管中的应用分析 .pdf
- LTR对J亚群禽白血病病毒感染的影响 .pdf
- LED显示屏项目可行性研究报告范本参考2020 .pdf
- LED光伏太阳能照明系统设计毕业论文 .pdf
- PHP开发工程师的岗位职责(真题27篇) .pdf
- dy某生物技术有限公司年产3000吨饲用酶制剂项目环境影响报告书(155页W.pdf
- 《城市供水水质标准》CJ-T206-2005讲读 .pdf
- 《匆匆》课例比较研究——以特级教师薛法根、孙双金、支玉恒、何捷的课.pdf
- 【原创】2020年必威体育精装版《保险资产管理产品管理暂行办法》知识培训试题及答.pdf
- “家校社”协同育人研究评述与问题前瞻 .pdf
最近下载
- 视觉与艺术智慧树知到期末考试答案章节答案2024年西安交通大学.docx
- 2024年四川省安全员《B证》考试题库及答案.doc VIP
- 《全国统一电力市场发展规划蓝皮书》.pdf
- 黄冈360°定制密卷一年级上册数学人教版.pdf
- 工程量清单编制中存在问题剖析.doc VIP
- 13SR425 室外热力管道检查井.docx VIP
- 山东省实验中学2024—2025学年高二上学期期中考试语文试题(解析版).docx VIP
- 石油和天然气的开采安全知识培训说课课件PPT.pptx VIP
- 综合管理部年度工作总结PPT.pptx VIP
- 大学日语 发展篇(西安交通大学)中国大学MOOC慕课章节测验答案(课程ID:1206146813).pdf
文档评论(0)