您的位置:首页 > 其它

ffmpeg源码简析(十一)libavformat,libavcodec,libavutil

2017-04-25 10:40 253 查看

libavformat

avformat.h 文件

定义识别文件格式和媒体类型库使用的宏、数据结构和函数,通常这些宏、数据结构和函数在此模块内相

对全局有效

allformat.c 文件

简单的注册/初始化函数,把相应的协议,文件格式,解码器等用相应的链表串起来便于查找。

cutils.c 文件

文件格式分析模块使用的两个工具类函数,都是对字符串的操作。

file.c

把 file 当做类似于 rtsp,rtp,tcp 等协议的一种协议,用 file:前缀标示 file 协议。

URLContext 结构抽象统一表示这些广义上的协议,对外提供统一的抽象接口。

各具体的广义协议实现文件实现 URLContext 接口。此文件实现了 file 广义协议的 URLContext 接口。

avio.h 文件

文件读写模块定义的数据结构和函数声明

avio.c

此文件实现了 URLProtocol 抽象层广义文件操作函数,由于 URLProtocol 是底层其他具体文件(file,pipe 等)

的简单封装,这一层只是一个中转站,大部分函数都是简单中转到底层的具体实现函数。

aviobuf.c

有缓存的广义文件 ByteIOContext 相关的文件操作,比如 open,read,close,seek 等等。

utils_format.c

识别文件格式和媒体格式部分使用的一些工具类函数。

avidec.c

文件解析的相关函数

libavcodec

avcodec.h

定义编解码器库使用的宏、数据结构和函数,通常这些宏、数据结构和函数在此模块内相对全局有效。

allcodec.c 文件

简单的注册/初始化函数,把编解码器用相应的链表串起来便于查找识别

dsputil.h 文件

定义 dsp 优化限幅运算使用的查找表及其初始化函数。

utils_codec.c

编解码库使用的帮助和工具函数

imgconvert_template.h

定义并实现图像颜色空间转换使用的函数和宏

imgconvert.c

定义并实现图像颜色空间转换使用的函数和宏

msrle.c

此文件实现微软行程长度压缩算法解码器

turespeech_data.h

此文件定义 truespeed 音频解码器使用的常数,此文件请参考 TrueSpeed 压缩算法

turespeech.c

此文件实现 truespeed 音频解码器

libavutil

common.h 文件

工具类数据类型定义,宏定义和两个简单的内联函数

bswap.h 文件

short 和 int 整数类型字节顺序交换,通常和 CPU 大端或小端有关。

对 int 型整数,小端 CPU 低地址内存存低位字节,高地址内存存高位字节。

对 int 型整数,大端 CPU 低地址内存存高位字节,高地址内存存低位字节。

rational.h 文件

用两整数精确表示分数。常规的可以用一个 float 或 double 型数来表示分数,但不是精确表示,在需要相

对比较精确计算的时候,为避免非精确表示带来的计算误差,采用两整数来精确表示。

mathematics.h

数学上的缩放运算。为避免计算误差,缩放因子用两整数表示做精确的整数运算。为防止计算溢出,强制转

换为 int 64 位整数后计算。

此处做了一些简化,运算精度会降低,但普通的人很难感知到计算误差。

avutil.h

基础工具库使用的一些常数和宏的定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: