AVS编码---lencod.c中函数流程以及各函数作用

刚开始学习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 ()

        作用:释放图像的结构

以上就是一个大概的过程吧,还是有很多没搞明白,接下来就要一个一个的研究学习了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值