DXVA_AYUVsample2 结构 (dxva.h)

DXVA_AYUVsample2结构由主机解码器发送到加速器,以指定 Y、Cb、Cr 颜色值和关联的不透明度。

语法

typedef struct _DXVA_AYUVsample2 {
  BYTE bCrValue;
  BYTE bCbValue;
  BYTE bY_Value;
  BYTE bSampleAlpha8;
} DXVA_AYUVsample2, *LPDXVA_AYUVsample2;

成员

bCrValue

指定一个色度 (Cr) 样本值, (按ITU-R Rec.BT.601) 缩放为无符号值。 因此,黑色在名义上由 Y=16、Cb=Cr=128 指定,白色由 Y=235、Cb=Cr=128 指定。

bCbValue

指定一个色度 (Cb) 样本值, (按ITU-R Rec.BT.601) 缩放为无符号值。 因此,黑色在名义上由 Y=16、Cb=Cr=128 指定,白色由 Y=235、Cb=Cr=128 指定。

bY_Value

指定一个亮度 (Y) 样本值, (按ITU-R Rec.BT.601) 缩放为无符号值。 因此,黑色在名义上由 Y=16、Cb=Cr=128 指定,白色由 Y=235、Cb=Cr=128 指定。

bSampleAlpha8

指定用作与其他图片混合的源图形时像素的不透明度。 对于 Windows Server 2003 SP1 和 Windows XP SP2,不使用不透明度级别,驱动程序应忽略该级别。

注解

bSampleAlpha8 的值为零表示像素是透明的 (,因此其他条目对生成的混合图片) 没有影响;值 255 表示像素不透明 (,以便其他条目完全确定生成的混合图片样本) 的值。

对于 bSampleAlpha8 的非零值,要使用的混合通过以下表达式计算:

( ( ( (bSampleAlpha8+1) x (图形值) ) + ( (255 - bSampleAlpha8) x (图片值) ) ) + 128 ) >> 8

对于 bSampleAlpha8 的零值,要使用的指定混合是无更改的图片值。

注意 如果 alpha 混合表面源自 DVD 视频子图片, 从 DVD 视频使用的 4 位 alpha 转换为 bSampleAlpha8 指定的 8 位 alpha 的首选方法是将零的 4 位 alpha 值映射到零的 8 位 alpha 值,并通过执行 4 位左移并添加常量 15,将所有非零 4 位 alpha 转换为 8 位 alpha。
 
AYUV alpha 混合图面的宽度和高度在DXVA_BufferDescription结构定义的关联缓冲区说明列表中指定。

DXVA_AYUVsample2结构用于 DirectX VA AYUV 混合图面中的每个样本、DXVA_BlendCombination结构中的 OutsideYUVcolor 以及 16 个条目的 AYUV alpha 混合调色板中的每个条目。

要求

要求
Header dxva.h (包括 Dxva.h)

另请参阅

DXVA_BlendCombination

DXVA_BufferDescription