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。
 
目标 alpha 值根据 DXVAHD_BLT_STATE_ALPHA_FILL 状态计算。 有关详细信息,请参阅 DXVAHD_BLT_STATE_ALPHA_FILL_DATA

若要获取设备功能,请调用 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

另请参阅

DXVA-HD

DXVAHD_STREAM_STATE

Direct3D 视频结构

IDXVAHD_VideoProcessor::SetVideoProcessStreamState

媒体基础结构