Advertisement

ffmpeg源码分析第11章: libavformat, libavcodec, libavutil

阅读量:

libavformat模块功能解析

avformat.h 文件
该文件用于定义与文件格式及媒体类型识别相关的宏、数据结构和函数,这些内容在该模块内部通常具有全局有效性。

allformat.c 文件
此文件包含用于注册和初始化的简单函数,通过链表结构将相应的协议、文件格式及解码器等进行关联,从而实现便捷的查找操作。

cutils.c 文件
本文件中包含两个用于文件格式分析模块的工具类函数,其功能均涉及字符串处理。

file.c
在此处,file 被视为一种类似于 rtsp、rtp、tcp 等协议的广义协议,并通过 file:前缀来标识该协议。URLContext 结构被用来抽象地统一表示这些广义协议,并对外提供一致的接口。各个具体的广义协议实现文件均需实现 URLContext 接口。本文件负责实现 file 广义协议对应的 URLContext 接口。

avio.h 文件
此头文件中定义了与文件读写模块相关的数据结构以及函数声明。

avio.c

该文件实现了 URLProtocol 抽象层所对应的广义文件操作函数。由于 URLProtocol 对底层具体实现(如 file、pipe 等)进行了简单的封装,因此这一层主要起到中转的作用,其中大部分函数仅是将调用转发至底层的具体实现。

**

全部评论 (0)

还没有任何评论哟~