DXVAHD_STREAM_STATE_ALPHA_DATA 结构 (dxvahd.h)
使用 Microsoft DirectX 视频加速高清 (DXVA-HD) 时,指定输入流的平面 alpha 值。
语法
typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA {
BOOL Enable;
FLOAT Alpha;
} DXVAHD_STREAM_STATE_ALPHA_DATA;
成员
Enable
如果为 TRUE,则启用 alpha 混合。 否则,将禁用 alpha 混合。 默认状态值为 FALSE。
Alpha
将平面 alpha 值指定为从 0.0 (透明) 到 1.0 的浮点数, (不透明) 。
如果 Enable 成员为 FALSE,则忽略此成员。
备注
对于每个像素,目标颜色值计算如下:
Cd = Cs * (As * Ap * Ae) + Cd * (1.0 - As * Ap * Ae)
where
Cd
= 目标像素的颜色值。Cs
= 源像素的颜色值。As
= 每像素源 alpha。Ap
= 平面 alpha 值。Ae
= 调色板输入 alpha 值,或 1.0 (请参阅注释) 。
注意 调色板输入 alpha 值仅适用于淡化颜色格式,并且仅当设备支持 DXVAHD_FEATURE_CAPS_ALPHA_PALETTE 功能时。 否则,此因子等于 1.0。
若要获取设备功能,请调用 IDXVAHD_Device::GetVideoProcessorDeviceCaps 并检查DXVAHD_VPDEVCAPS 结构的 FeatureCaps 成员。
示例
HRESULT DXVAHD_SetPlanarAlpha(
IDXVAHD_VideoProcessor *pVP,
UINT stream,
BOOL bEnable,
float fAlpha
)
{
DXVAHD_STREAM_STATE_ALPHA_DATA alpha = { bEnable, fAlpha };
HRESULT hr = pVP->SetVideoProcessStreamState(
stream,
DXVAHD_STREAM_STATE_ALPHA,
sizeof(alpha),
&alpha
);
return hr;
}
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | dxvahd.h |