概述
本文主要针对ffmpeg支持的硬解码做一个总结阐述。
许多平台提供对专用硬件的访问,以执行一系列与视频相关的任务。使用此类硬件可以更快地完成某些操作,例如解码、编码或过滤,或者使用更少的其他资源(尤其是 CPU),但可能会产生不同或较差的结果,或者施加仅使用软件时不存在的额外限制。在类似 PC 的平台上,视频硬件通常集成到 GPU(来自 AMD、Intel 或 NVIDIA)中,而在移动 SoC 类型的平台上,它通常是一个独立的 IP 核(许多不同的供应商)。
硬件解码器将产生与软件解码器相同的输出,但可能使用更少的功率和 CPU 来这样做。功能支持各不相同——对于具有许多不同配置文件的更复杂的编解码器,硬件解码器很少实现所有这些(例如,硬件解码器往往不会在 H.264 的 8 位深度下实现 YUV 4:2:0 以外的任何内容)。许多硬件解码器的一个共同特点是能够在适合其他组件使用的硬件表面中生成输出(对于独立显卡,这意味着表面在卡上的内存中而不是在系统内存中)——这通常对播放很有用&#