概述
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
基础工具库使用的一些常数和宏的定义。
最后
以上就是还单身小鸭子为你收集整理的ffmpeg源码简析(十一)libavformat,libavcodec,libavutil的全部内容,希望文章能够帮你解决ffmpeg源码简析(十一)libavformat,libavcodec,libavutil所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复