- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
xvid 分析文档
先介绍网上的一篇关于xvid 应用的介绍文章
(http :///freedom_asic/blog/item/dd6fbf3d627a6ce83c6d97ee.html)
xvid 有两种编码方式:single pass 和twopass
single pass 模式编码简单,速度也快,但最终效果不如twopass。
twopass 就是视频压制需要经过两次编码,分别为twopass-1st pass (简称1pass )和twopass
-2nd pass (简称2pass )
1pass 时,编码器会用最高质量编码采集可供第2 次运算参考的画面信息,而在2 pass 时。
编码器会根据第一次压缩获得的信息和用户指定的文件大小,自动分配比 特 ,使需要高
流量的运动画面分配到更多的空间,更高的比特率来保证画面质量。相对的,对于那些不包
含太多运动信息的静态画面则用较低的比特 。追求画质 的朋友当然会选择这种方式,但
运算比single pass 更费时。
接下来介绍一些基本概念:
Q 值 量化值,它被用来描述1 帧的质量,每帧都有一个Q 值,取值范围在1-31 之间。
Q 值越小,画质越好,比特率越大
I -frame 关键帧,常被缩写为IF 。关键帧是构成一个帧组的第一帧。IF 保留了一个场景
的所有信息
P -frame 未来单项预测帧,缩写为PF ,只储存与之前一个已解压画面的差值
B -frame 双向预测帧,缩写为BF ,除了参考之前解压的画面以外,也会参考后一帧的
画面信息
编码流程:
各变量的设置:创建xvid_enc_frame_t 和xvid_enc_ stats_t ,分别用于传入参数和统计编码
果。
具体过程:
设置传入图像数据和图像色彩空间
设置传出的码流
设置vol 的标志
设置帧的编码类型
设置量化因子
设置运动估计算法集合
设置vop 的标志
编码器提供的函数
1,xvid_global(NULL, XVID_GBL_INIT, xvid_gbl_init, NULL);
含义:根据cpu 的特性使用相应汇编优化的函数
2 ,xvid_encore(NULL, XVID_ENC_CREATE, xvid_enc_create, NULL);
含义:初始化编码器。
具体过程:
PDF 文件使用 pdfFactory Pro 试用版本创建
创建编码器句柄,并根据传入的参数设置各变量的值,并且分配要使用的内存,用于存放重
建帧,参考帧 (1/2 像素精度)。以及各种临时变量。并且做好码 控制的初始化。
3 ,xvid_encore(enc_handle, XVID_ENC_ENCODE, xvid_enc_frame, xvid_enc_stats);
目的:编码一帧
具体过程:
{
初始化写码流。
如果有必要,转换色彩空间,并且把原始图像拷贝到有边框的图像空间,但是没有扩展边
框。
将重建帧交换成参考帧
从帧队列中获取当前帧
设置Encoder 构体的current 构体的vol_flags,vop_flags,motion_flags,fcode,bcode 和
quant 字段。
调用call_plugins ,在里面调用rc_single_before 做码 控制的初始化,以及对current 构体
的其他变量进一步设置
通过帧号或者MEana
文档评论(0)