DXVADDI_AYUVSAMPLE16 结构 (d3dumddi.h)
DXVADDI_AYUVSAMPLE16结构描述 16 位 Cr、Cb 和 Y 颜色值以及关联的不透明度。
语法
typedef struct _DXVADDI_AYUVSAMPLE16 {
[in] USHORT Cr;
[in] USHORT Cb;
[in] USHORT Y;
[in] USHORT Alpha;
} DXVADDI_AYUVSAMPLE16;
成员
[in] Cr
16 位色度 (V) 采样值。
[in] Cb
16 位色度 (U) 样本值。
[in] Y
16 位亮度 (Y) 采样值。
[in] Alpha
用作与其他图片混合的源图形时像素的 16 位不透明度。
注解
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 值映射到零的 8 位 alpha 值,并通过执行 4 个左移将所有非零 4 位 alpha 转换为 8 位 alphas并添加常量 15。
AYUV alpha 混合图面的宽度和高度在DXVADDI_DECODEBUFFERDESC结构定义的关联缓冲区说明列表中指定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
标头 | d3dumddi.h (包括 D3dumddi.h) |