JM86、X264、T264、FFMPEG编解码器评测

本文对比评测了JM86、X264、T264及FFMPEG在H.264编解码器中的性能。主要关注它们对基本和主层次Profile的支持,发现FFMPEG能成功解码所有测试文件,而T264不支持JM86和X264编码的文件。
摘要由CSDN通过智能技术生成

JM86X264T264FFMPEG编解码器评测

关于三种profile的解释

从应用角度看,H.264有三个层次,分为主要用于电视会议等通信的基本层次,面向高画质用途和录像的主层次以及面向内容配送的扩展层次。各层次的清晰度和编码速度取值不同。

基本层次(baseline profile)的主要技术为图像只含有I帧,P帧,支持帧内和帧间编码,系统内有环路滤波,1/4帧间预测,4:2:0 YUV格式输入,基于VLC的纠错编码(CAVLC),弹性宏块指令等。主要用于可视电话、会议电话,无线通信等实时性强的视频通信。

主要层次(main profile)则支持隔行视频,在基本层次基础上加入了CABAC运算编码技术和基于双向预测的B帧,滤波(接口)等技术,但不含弹性宏块指令。主要用于数字广播电视和数字视频存储。

扩展层次(extended profile)则在基线层次里加入B帧和滤波编码等,支持码流之间的切换(SP slice, SI slice)、改进误码性能,但不支持隔行视频和CABAC。主要应用于流媒体

理论上Profile级别越高,表示采样精度越高,也就是视频越清晰。但有个前提就是,Profile级别高低和你要观看的载体有关系,相对来说在越是在大屏幕上观看,那所需要Profile级别也应相对应的提高,但与此同时带来的副作用就是你所观看视频的硬件环境也要提高。换句话说,Profile3.1对于IPAD足够用了,级别在高的话其视频观看效果质量也不会有明显提高。

还有重要一点,Profile的结果好还和片源的质量有直接关系,片源质量差,多高的Profile也没用。

T264

T264main profile的支持?

T264中判断是否编码为main还是baseline,利用了如下代码。t->param.cabac t->param.b_num均从编码配置文件中获取。

if( t->param.cabac || t->param.b_num > 0 )

seq->profile_idc    = 77;(main)

else

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值