加载中…
  
博文
标签:

杂谈

分类: 264

2. X264的编码基本流程

(1)接口变更

 以前曾经写过文章介绍X264的编程架构并且分析了它的接口,现在进一步看看x264是怎么把YUV图像编程H.264编码的。在代码分析中,最容易让人头疼的是X264代码随处充斥着的多线程处理和码率控制两方面的代码,所以,这里将先简化过程,忽略掉这些非主体代码。需要说明的是,本文分析的是版本77,2009年10月的版本。

 

这里的API比版本66少了x264_nal_encode(...),该函数是将码率封装成NAL,现在它被放到static int x264_encoder_encapsulate_nals( x264_t *h )中,不再作为单独API出现。而x264_encoder_encapsulate_nals(...)分别被x264_encoder_headers(...)和x264_encoder_frame_end(...)所调用,分别用于封装参数(sps,pps)和其它数据的码流。

 

 (2)main函数

从代码的main()函数开始, 这个函数很简单,就是读取参数,然后编码。到了版本77,相对于66版本而已,增加了参数--preset,用于定义一些预设的参数,究竟是哪个版本引入的可自行考证。在调试程序的时候,可以根据需要选择预设参数值,如果采用默认状

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有