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,则要使用的指定混合是不更改的图片值。
颜色值根据ITU-R Rec. BT.601进行缩放,可从 国际电信联盟 网站了解。 因此,黑色名义上由 Y=16、Cb=Cr=128 指定,白色由 Y=235、Cb=Cr=128 指定。
注意
如果 alpha 混合图面源自 DVD 视频子图片,则从 DVD 视频使用的 4 位 alpha 转换为 Alpha 指定的 8 位 alpha 的首选方法是将 4 位 alpha 值 0 映射到 8 位 alpha 值 0,并通过执行 4 的左移将所有非零 4 位 alpha 转换为 8 位 alphaplaces 并添加常量 15。
AYUV alpha 混合图面的宽度和高度在DXVADDI_DECODEBUFFERDESC结构定义的关联缓冲区说明列表中指定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
标头 | d3dumddi.h (包括 D3dumddi.h) |