受限模式配置文件和配置建立

由于 DirectX VA 可以解码的各种数据类型,以及 DirectX VA 中针对每种类型的数据支持的多个解码配置 (例如,使用位流缓冲区与主机残差解码与基于加速器的 IDCT 以及不加密每种相关类型的缓冲区等) 因此,我们认为仅为每个唯一数据类型和解码配置指定唯一的 GUID 会有点不成功。 这会创建大量 GUID (例如,假设有 16 个 DirectX VA 配置文件和 16 个可能的配置,则需要 256 个定义的 GUID-需要 4 KB 的内存来保存所有这些 GUID。 此问题是确定如何将 DirectX VA 映射到 IAMVideoAccelerator 的最困难部分,其余操作定义主要非常简单。 因此,我们仅为每种受限模式配置文件 (数据类型指定唯一 GUID) 并允许将其他 GUID 与每种加密类型相关联。 然后,解码器与加速器之间通过较低级别的从属协商(使用探测和锁定操作)建立解码器与加速器之间的解码配置,以建立每种类型的 DirectX VA 函数的配置。