硬件加速

硬件加速英文名Hardware acceleration; 硬件解码生效的时候,系统是怎么运转的呢?现在我们有三个 处理器,CPU、GPU和APU(不是加速处理器是声音处理器)。他们通过PCI/AGP/PCIE 总线交换数据。
1.CPU从 文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在 系统内存中。GPU、APU发呆
2.CPU把压缩音视频数据交给GPU、APU, 这时总线上开始忙了,压缩数据从 系统内存拷贝到显卡上的显存里和声卡上的 声存里(如果有的话)。
3.CPU要求GPU、APU开始 硬件解码,现在CPU进入发呆期,GPU、APU开始忙。当然CPU会定期查询一下GPU、APU忙的怎么样了。
4.GPU、APU开始 用自己的电路解码视频数据(已经在显、 声存里了),解压后的数据还是放在显声存里面。CPU继续发呆。
5.音视频数据刚解码完成以后还不能立刻拿去播放,因为还需要 后期处理,如deinterlace, 3:2pulldown,多普勒效应,等等。GPU、APU再用自己的后期处理电路来进行处理。CPU还是发呆。
6.后期处理以后的未压缩数据拿去播放, GPU再开始忙视频的缩放,亮度,gamma等事情。CPU还是闲。
7.GPU、APU终于忙完了,下面的视频数据在哪里?通知CPU,GPU、APU先歇会。 CPU又开始忙了,回到第1步。

你可能感兴趣的:(硬件)