硬件加速播放的工作原理

硬件加速播放的工作原理

ID:35490755

大小:58.82 KB

页数:3页

时间:2019-03-25

硬件加速播放的工作原理_第1页
硬件加速播放的工作原理_第2页
硬件加速播放的工作原理_第3页
资源描述:

《硬件加速播放的工作原理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、硬件加速播放的工作原理DXVA是视频硬件加速的统称,不仅仅是视频数据解码(包扌舌H261,MPEG1,MPEG2,H263,MPEG4),还有Alphablending,Pictureresampling等。但对于播放时CPU利用率影响最大的,则是视频解码,尤其是IIDTV的解码。对于低端系统来说,让GPU来负责硬件解码是不二Z选。但使用硬件解码,在整个功能上也受到很多限制,尤其是解压以后的视频数据的后期处理(如deinterlace,锐化,去马赛克).因此对于追求画质的烧友,宁可放弃硬件解码,当然代价是需要升级整个系统。稍后再谈。硬件

2、解码生效的时候,系统是怎么运转的呢?现在我们有两个处理器,CPU和GPU。他们通过PCI/AGP/PCIE总线交换数据。loCPU从文件系统里读岀原始数据(DirectSHOW的源滤镜),分离出压缩的视频数据(分离器)。放在系统内存中。GPU发呆2OCPU把压缩视频数据交给GPU,这时总线上开始忙了,压缩数据从系统内存拷贝到显卡上的显存里。3.CPU要求GPU开始硬件解码,现在CPU进入发呆期,GPU开始忙。当然CPU会定期查询一下GPU忙的怎么样了。4oGPU开始用自C的电路解码视频数据(已经在显存里了),解压后的数据还是放在显存里面

3、。CPU继续发呆。5.视频数据刚解码完成以后还不能立刻拿去显示,因为还需要后期处理,如deinterlace,3:2pulldown,等等。GPU再用自己的后期处理电路来进行处理。CPU还是发呆6o后期处理以后的未压缩数据拿去显示到屏幕上,GPU再开始忙视频的缩放,亮度,ganmia等事情。CPU述是闲7.GPU终于忙完了,下面的视频数据在哪里?通知CPU,GPU先歇会。CPU又开始忙了,回到第1步。上面可以看到,皱件解码生效的时候,CPU真的可以很闲,但是为了让它生效,有些条件必须满足。最关键的原因是,与CPu->系统内存和GPU—〉

4、显卡显存比起来,PCI、AGP、PCIE总线是龟速。PCI是133MB/S,AGP8X是2・1GB/S,PCIE16X是4GB/S,而CPU-系统内存,GPU—显存则快若干倍。有兴趣的可以把不同时代的内存总线和AGP/PCTE总线速度进行一下对比。因为CPU和GPU互连的总线很慢,因此,视频数据(无论是解压前还是解压后)一旦交给GPU,GPU就要负责把它处理完,直到最终显示。如果在前面1—5步里有哪一步GPU不能做或你不让它做,视频硬件解码就不生效,CPU要负责。当然,你可能会问,也许CPU很慢,说不定在龟速总线上传输数据,GPU分担一

5、部分工作,还是比全部CPU做要快呢?也许如此,但在Directshow架构里,代表视频数据处理各环节的滤镜(分离器,解码器,后期处理,渲染器)需要协商岀一个大家都接受的视频数据存储方式,如果某个滤镜说我只能在系统内存里玩,大家都得要在内存里玩,GPU和显存只好放弃。了解了这样的步骤,我们看什么时候硕件解码会失败。1.GPU自己没办法独立搞定解码,比如太老的显卡,显存太少,或者象GF2MX,GF4TI这种太监(MC和IDCT只支持一个)。注:这里有错误!!!2.GPU的视频后期处理太差劲,你要找其他软件來做,这个对于发烧友是很常见的情况,

6、比如放DVD加ffdshow锐化倍线。ffdshow只能在系统内存里工作,它没办法把手仲到显卡显存上,那么硬件解码只好让位给软件解码。3o非常常见的一个情况,就是用vobsub加字幕。vobsub滤镜是加在解码器之后,渲染器之前的。它怎么把字幕放到图像上去?原始图像进来,它修改原始图像,把字幕的图案画上去,再送给后面的渲染器(或者别的后期处理滤镜)。vobsub同样只能在系统内存里工作,ok,解码也要软件了。vobsub不能用,那字幕要怎么加?所幸渲染器捉供了混合模式,就是把几种视频数据揉在一起,这些数据可以是在系统内存中(软件解码或软

7、件生成),也可以是在显卡显存屮(硬件解码)。最大的好处是各种视频数据可以独立生成,不会互相牵制。可以硬件解压的用硬件解压,可以软件生存的用软件生存。(类似电路里串联和并联的关系)、哪些软件呢?比如MPC,KMP,BSPlaycr,他们自带字幕引擎。jfljZoomPlayer借助于vobsub生成字幕。只能用软解压。MediaPlayerClassic(MPC),不要把它和暴风影音等套件混起来。MPC是一个播放器内带了一些滤镜和字幕工具,全部是Gabest这个牛人开发的Opensource软件,暴风里除了MPC以外还有一堆其他公司的滤镜

8、,包括vobsub,理论上可能冇版权问题ovobsub虽然也是gabest开发的,但它显示字幕的工作方式和MPC里的不同。vobsub在视频数据交给渲染器之前插入字幕,MPC把视频数据和字幕分开,一起交给渲

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。