ffmpeg源码简析(十一)libavformat,libavcodec,libavutil
来源:互联网 发布:淘宝友情链接 编辑:程序博客网 时间:2024/06/05 08:34
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 libavcodec/libavformat
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg开发指南(使用 libavformat 和 libavcodec)
- ffmpeg API 笔记:使用libavcodec/libavformat/libswscale
- libavformat/libavcodec学习
- libavformat/libavcodec学习
- libavformat/libavcodec 学习
- libavformat/libavcodec学习
- libavformat/libavcodec学习(mplayer)
- libavformat/libavcodec 学习
- libavformat/libavcodec学习(转)
- cookie(会话cookie和持久化cookie) 和 session 以及 在爬虫登录抓取的理解
- c# DevExpress.XtraTreeList 树形节点的上下移动
- 第四讲 任务配置
- git与github简明介绍
- ubuntu 解决.txt中文乱码
- ffmpeg源码简析(十一)libavformat,libavcodec,libavutil
- 使用iframe内嵌网页的时候,如何做到内嵌网页的高度自适应
- postgresql减少wal日志生成量的方法
- dagger2 "cannot be provided without an @Inject constructor..."报错的解决
- 排序算法实际应用
- 那些年收藏的Android开源库集合(UI效果)
- unity常见问题
- 游戏制作一
- IntelliJ IDEA 2017 注册方法