视频解码和硬解码


首先视频都是有经过编码的,为什么要编码呢?因为视频信号数字化后带宽很高,通常在20M/S以上,计算机很难对之进行保存和处理。为了减小带宽即减小视频数据量,需要对视频进行压缩,压缩过程即叫做编码。那么在播放的过程中需要把数字信号转化为模拟信号,这个过程就叫做视频解码。视频编码分为三个步骤:动态补偿,正余弦变换和熵(Entropy Encoding)。相应的视频解码就是视频编码的反过程。

   视频编码和视频解码都是通过算法实现的,视频解码分为软解和硬解,前者是通过cpu调用程序实现解码算法,后者是解码视频被固化在gpu中,然后通过程序调用gpu来实现解码算法。硬解相对于软解的优势是把解码负担分担给了gpu,减小了cpu的使用量,从而提高了机器的性能。

 

硬解码的框架是这样的:

视频解码和硬解码_第1张图片
 
 

 应用程序调用vaapi(连接应用程序和加速硬解驱动的接口)来使用硬件驱动从而使用硬件中的解码程序。最后通过解码程序对视频进行解码。

解码的过程是这样的:

视频解码和硬解码_第2张图片


http://shijianlin4724.blog.163.com/blog/static/130278781201272172545947/

你可能感兴趣的:(视频解码和硬解码)