ffmpeg目录架构与基本框架机制

FFmpeg的核心库包括libavcodec(编解码)、libavformat(封装格式)、libavfilter(滤镜)、libavutil(通用工具函数)等。该框架采用类似面向对象的思想,通过链表操作进行注册和查找匹配,例如编码器和解码器的链表。结构体之间的关系对于理解FFmpeg的工作原理至关重要。
摘要由CSDN通过智能技术生成

目录架构:
 libavcodec用于存放各个encode/decode模块,CODEC其实是Coder/Decoder的缩写,也就是编码解码器;用于各种类型声音/图像编解码
 libavformat用于存放muxer/demuxer模块,对音频视频格式的解析;用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;
其中库 libavcodec,libavformat用于对媒体文件进行处理,如格式的转换;
 Libavfilter用于存放滤镜和滤镜相关的操作
 libavutil集项工具,包含一些公共的工具函数;用于存放内存操作等辅助性模块,是一个通用的小型函数库,该库中实现了CRC校验码的产生,128位整数数学,最大公约数,整数开方,整数取对数,内存分配,大端小端格式的转换等功能
 libavdevice:对输出输入设备的支持;
 libpostproc:用于后期效果处理;
 libswscale:用于视频场景比例缩放、色彩映射转换;

http://wenku.baidu.com/link?url=k6RO-Jj5maCIsihTrWrmAKf-BnY7oR5AzrCOOpSD44bTYpBipwbTyI3ExhSsDOARWm4MKgmzsxwVbT5GO24-fZ21MvG5DZsFghe3MHxPcfu —————几个关键结构体的简单介绍

http://www.cnblogs.com/tocy/p/ffmpeg-framework-analysis.html ——————插件的结构体定义的成员简单说明

http://blog.csdn.net/leixiaohua1020/article/details/12720427 ————ffmpeg面向对象简单探讨

http://blog.csdn.net/leixiaohua1020/article/details/11693997 —–FFMPEG中最关键的结构体之间的关系

整体上,ffmpeg的基本框架是使用类似面向对象的思想。整体的程序流程处理方式:
a. 注册 ——-实际上就是一个链表操作
b. 查找匹配——通过链表,找到指定的解码器、滤镜等
c. 底层插件赋值给上层—-实际上就是函数指针的利用,可以理解成父结构体保存一个指向子结构体的指针

编码器,解码器链表: —————–libavcodec/utils.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值