AVS编码---lencod.c中函数流程以及各函数作用
来源:互联网 发布:linux apache日志 编辑:程序博客网 时间:2024/06/05 20:31
刚开始学习AVS,先浏览了一遍lencod.c函数,下面是我在看程序时记录的一个大概过程,由于本人是新手,从没接触过视频编解码方面的知识,肯定有一些解释不对的地方,欢迎指正。
首先看lencod.c函数
进入main函数的第一个函数式Configure(argc, argv);
该函数的作用:解析命令行参数和读取配置文件。
---》》CheckToolsInProfile()函数,
作用:??
---》》init_img()
作用:用合适的参数初始化图像结构体
---》》frame_pic = malloc_picture()
作用:为图片结构体分配空间
---》》
if(input->InterlaceCodingOption !=FRAME_CODING)
{
top_pic= malloc_picture();
bot_pic = malloc_picture();
}
作用:??顶场和底场分配单元
--》》init_rdopt ();
作用:创建最优RD模式选择结构体
---》》init_frame_buffers(input,img);
作用:为帧缓冲区分配内存
--》》init_global_buffers();
作用:按帧大小动态分配内存空间,分配的内存需要在free_global_buffers()函数中释放
--》》Init_Motion_Search_Module ()
作用:初始化运动搜索
--》》information_init();
作用:打印协议头信息
--》》if(input->RCEnable)
rc_init_seq();
作用:在码率控制可行的情况下初始化码率控制参数
--》》DefineThreshold()
作用:在启用快速运动估计的前提下定义门限值
--》》start_sequence()
作用:打开输出文件并产生合适的序列头
--》》SetImgType()
作用:设置图像类型
--》》encode_one_frame ()
作用:encode one I- or P-frame
--》》encode_one_frame ()
作用:encode one B-frame
--》》terminate_sequence()
作用:结束序列并关闭输出文件
--》》Clear_Motion_Search_Module ();
作用:释放运动搜索用到的内存
--》》clear_rdopt ()
作用:清除最优RD模式选择结构体
--》》report()
作用:报告收集的信息并输出
--》》free_picture (frame_pic)
作用:释放一副图像
--》》free_global_buffers()
作用:释放init_global_buffers()中分配的内存
--》》free_img ()
作用:释放图像的结构
以上就是一个大概的过程吧,还是有很多没搞明白,接下来就要一个一个的研究学习了。
- AVS编码---lencod.c中函数流程以及各函数作用
- 函数作用以及定时器
- C语言中__inline函数作用解释
- C中函数指针的作用
- C中函数指针的作用
- c语言中strcat函数的作用
- c语言中strcat函数的作用
- C中 snprintf()函数的作用
- c语言中函数声明的作用
- c++中虚函数的作用以及用法
- JAVA中Object类中的方法以及finalize函数作用
- C语言函数调用时参数压栈的顺序以及函数指针的作用
- HM编码器代码阅读(7)——整个编码流程以及相关的函数
- HM编码器代码阅读(7)——整个编码流程以及相关的函数
- c语言中函数itoa的解释及作用
- C语言中malloc()和free()函数的具体作用
- C语言中内联函数的作用 inline
- HEVC函数入门(14)——建议先看:整个编码流程以及相关的函数
- Shell 命令--网站--总结自《Linux Shell 脚本攻略》
- 一个简单的PHP扩展
- 如何用C++实现浏览器弹窗
- Java编程之获取计算机的MAC地址
- 上传进行验证时,出现了 Invalid Code Signing Entitlements 的错误,百度以后发现有多原因可以引发这个错误。
- AVS编码---lencod.c中函数流程以及各函数作用
- Android自定义Dialog 及位置和大小
- Android UI开发第三十五篇——AppCompat实现Action Bar
- Faunus Getting Started
- java类初始化和对象初始化
- WPF 依赖属性使用
- eclipse,myeclipse默认字符集修改(UTF-8)
- 【Unity3D】关于Assets资源目录结构管理
- ios-面试题_简答题