- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
H代码详解全过程
x264源代码解析
x264编码详细文字全过程
(1)?????? x264_param_default( x264_param_t *param )
作用: 对编码器进行参数设定
cqm: 量化表相关信息
???????????????? csp:?????????
???????????????? 量化表相关信息里的memset( param-cqm_4iy, 16, 16 );
??????????????????????????????????? memset( param-cqm_4ic, 16, 16 );
??????????????????????????????????? memset( param-cqm_4py, 16, 16 );
??????????????????????????????????? memset( param-cqm_4pc, 16, 16 );
??????????????????????????????????? memset( param-cqm_8iy, 16, 64 );
??????????????????????????????????? memset( param-cqm_8py, 16, 64 );
(2)static int? Parse( int argc, char **argv, x264_param_t *param, cli_opt_t *opt ) 初始化
1.?? getopt_long(nargc, nargv, options, long_options, idx) 得到入口地址的向量与方式的选则
2.?? getopt_internal(nargc, nargv, options)???? 解析入口地址向量
(3) static int? Encode( x264_param_t *param, cli_opt_t *opt )
h-param=param
vui信息主要包括帧率、图像尺寸等信息
?
x264_sps_init( h-sps, 0, h-param );序列图像集
x264_pps_init( h-pps, 0, h-param, h-sps);图像参数集
???? 初始化并开辟帧空间
?? 对前一宏块的信息保存,因为是初始化,所以作为第一个宏块的参考,后面会有x264_macroblock_cache_load( h, i_mb_x, i_mb_y );它是将要编码的宏块的周围的宏块的值读进来, 要想得到当前块的预测值,要先知道上面,左面的预测值
?
? 初始化cpu对各种分块的参数设定
?
??????? 1. x264_t *x264_encoder_open?? ( x264_param_t *param ) 这个函数是对不正确的参数进行修改,并对各结构体参数和cabac编码,预测等需要的参数进行初始化
??????? 2、p_read_frame( pic, opt-hin, i_frame + opt-i_seek, param-i_width, param-i_height )
?读取一帧,并把这帧设为prev
3. i_file += Encode_frame( h, opt-hout, pic );进入核心码层
核 心编码层的总流程图:(x264.c)
1.???????? x264_encoder_encode( h, nal, i_nal, pic, pic_out )对帧进行编码
2.???????? i_size = x264_nal_encode( data, i_data, 1, nal[i] ) 网络打包编码
3.???????? i_file += p_write_nalu( hout, data, i_size ) 把网络包写入到输出文件中去
4.???????? 返回,对下一帧进行编码
? 下面一页是详细的流程图:
一.帧内详细流程图:
(1).?????????? x264_encoder_encode( h, nal, i_nal, pic, pic_out )对帧进行编码
1.???
??? x264_frame_t*fenc=x264_frame_get( h-frames.unused );
x264_frame_copy_picture( h, fenc, pic_in );
fenc-i_frame = h-frames.i_input++;
x264_frame_put( h-frames.next, fenc );
x264_frame_init_lowres( h-param.cpu, fenc );//里面包含低象素的扩展,很多for循环,应该是抽头计算和半精度象素的扩
您可能关注的文档
- FLUENT论坛精华常见问题[].doc
- FlexGrid控件的使用.doc
- e银川中高次模拟考试([]).doc
- ExhibitorContractEarlyBird.doc
- fomtiftestkey.doc
- Fortran基本计算选择控制结构.doc
- Fluke系列电能质量分析仪.doc
- FrameworkConvention.doc
- FX(正反算可现场输入要素,可预先建好数据库)计算坐标.doc
- FTIR,software,Spectrum,操作说明.doc
- 新 希 望:郴州希望饲料有限公司评估报告-评2024-012346.docx
- 盐城内河港大丰港区江苏济昇再生资源利用有限公司码头工程项目环境影响报告表.docx
- 汇鸿集团江苏有色金属进出口有限公司财务报表审计报告.docx
- 南京泉峰汽车精密技术股份有限公司2024年度向特定对象发行A股股票方案论证分析报告.docx
- 不锈钢表面处理工序建设项目环评报告表.docx
- 大丰区南阳镇卫生院高质量发展示范项目环评报告表.docx
- 光韵达:2024年度向特定对象发行股票方案论证分析报告.docx
- 天津市华富宫大饭店有限公司股权项目涉及华富宫公司股东全部权益价值资产评估报告.docx
- 琏升科技:琏升科技股份有限公司拟转让商标事宜所涉及的该部份商标资产评估报告.docx
- 铸造生产线技改扩建项目环评报告表.docx
文档评论(0)