加载 AYUV Alpha 混合图面

AYUV alpha 混合图面定义为 DXVA_AYUVsample2 结构中每个 32 位样本的数组。 此图面可用作将图形与解码的视频图片混合在一起的源。

AYUV alpha 混合图面的宽度和高度在关联的 缓冲区说明列表中指定。

加载 16 个条目的 YUV 调色板

16 个输入的 YUV 调色板定义为包含 16 个DXVA_AYUVsample2 结构的数组。 此调色板与 IA44 或 AI44 alpha 混合图面一起使用。 调色板数组将发送到 AYUV alpha 混合示例缓冲区中的加速器, (缓冲区类型 8) 。 在这种情况下,每个样本的 DXVA_AYUVsample2 结构的 bSampleAlpha8 成员没有意义,必须为零。

YUV 调色板可用于创建源,以便将图形与解码的视频图片混合在一起。 此调色板可用于创建图形源以及任一图形源

  • IA44/AI44 alpha 混合图面,

  • DPXD alpha 混合图面、突出显示缓冲区和 DCCMD 数据

加载 AYUV Surface

整个图像图形可以直接加载为 AYUV 图像来指定图形内容,而不是只加载 16 个条目的调色板。 在这种情况下,AYUV 图形将发送到 AYUV alpha 混合示例缓冲区中的加速器, (缓冲区类型为 8) ,如DXVA_BufferDescription 结构中所述。

加载 IA44/AI44 Alpha-Blending Surface

索引 alpha 4-4 (IA44) alpha 混合图面定义为一个 8 位样本数组,每个样本都构建为一个字节。 此字节称为 DXVA_IA44sample ,在 dxva.h 中定义。 此字节的 4 个最有效位包含一个称为 SampleIndex4 的索引,此字节的 4 个最小有效位包含一个称为 SampleAlpha4 的 alpha 值。

alpha-index 4-4 (AI44) alpha 混合图面定义为包含 8 位样本的数组,每个样本都构建为一个字节。 此字节称为 DXVA_AI44sample ,在 dxva.h 中定义。 此字节的 4 个最有效位包含一个称为 SampleAlpha4 的 alpha 值,此字节的 4 个最小有效位包含称为 SampleIndex4 的索引。

DXVA_IA44sampleDXVA_AI44sampleSampleIndex4 字段包含样本的 16 个条目调色板中的索引。

DXVA_IA44sampleDXVA_AI44sampleSampleAlpha4 字段包含以下值,用于指定样本的不透明度:

  • 零表示样本是透明的 (,因此 SampleIndex4 的调色板条目对生成的混合图片) 没有影响。 对于 SampleAlpha4 的零值,指定的混合是使用图片值而不进行任何更改。

  • 值为 15 表示样本不透明 (因此 SampleIndex4 的调色板条目完全确定生成的混合图片) 。

  • 非零值指示通过以下表达式找到指定的混合:

( (SampleAlpha4+1) X graphic_value + (15-SampleAlpha4) X picture_value + 8) >> 4

IA44 alpha 混合图面的宽度和高度在关联的 缓冲区说明列表中指定。