DXVADDI_AYUVSAMPLE8结构 (d3dumddi.h)
DXVADDI_AYUVSAMPLE8 结构描述了 8 位 Cr、Cb 和 Y 颜色值以及关联的不透明度。
语法
typedef struct _DXVADDI_AYUVSAMPLE8 {
[in] UCHAR Cr;
[in] UCHAR Cb;
[in] UCHAR Y;
[in] UCHAR Alpha;
} DXVADDI_AYUVSAMPLE8;
成员
[in] Cr
8 位色度 (V) 样本值。
[in] Cb
8 位色度 (U) 样本值。
[in] Y
8 位亮度(Y)样本值。
[in] Alpha
当像素用作与另一张图片混合的源图形时,像素的 8 位不透明度。
言论
Alpha 成员中的值为 0 表示像素是透明的(以便其他条目对生成的混合图片没有影响),值为 255 表示像素不透明(以便其他条目完全确定生成的混合图片样本的值)。
对于 Alpha的非零值,要使用的混合值由以下表达式计算:
( ( ( (Alpha + 1) x (graphic value) ) + ( (255 - Alpha) x (picture value) ) ) + 128 ) >> 8
如果 Alpha 为 0,则要使用的指定混合是图片值,而不更改。
颜色值根据 rec. BT.601 ITU-R 缩放,可以从 国际电信联盟 网站了解。 因此,颜色黑色名义上由 Y=16、Cb=Cr=128 指定,颜色白色由 Y=235、Cb=Cr=128 指定。
注意
如果 alpha 混合表面源自 DVD 视频子图片,则从 DVD 视频使用的 4 位 alpha 转换为由 Alpha 指定的 8 位 alpha 的首选方法是将 4 位 alpha 值映射到零的 8 位 alpha 值,并通过执行左移将所有非零 4 位 alpha 转换为 8 位 alphas 到 8 位 alpha为 4 个位置,并添加常量 15。
AYUV alpha 混合图面的宽度和高度是在由 DXVADDI_DECODEBUFFERDESC 结构定义的关联 缓冲区说明 列表中指定的。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | d3dumddi.h (包括 D3dumddi.h) |