DXVAHD_STREAM_STATE_ALPHA_DATA構造体 (dxvahd.h)
Microsoft DirectX Video Acceleration High Definition (DXVA-HD) を使用する場合に、入力ストリームの平面アルファ値を指定します。
構文
typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA {
BOOL Enable;
FLOAT Alpha;
} DXVAHD_STREAM_STATE_ALPHA_DATA;
メンバー
Enable
TRUE の場合、アルファ ブレンドが有効になります。 それ以外の場合、アルファ ブレンドは無効になります。 既定の状態値は FALSE です。
Alpha
平面アルファ値を 0.0 (透明) から 1.0 (不透明) までの浮動小数点数として指定します。
Enable メンバーが FALSE の場合、このメンバーは無視されます。
解説
ピクセルごとに、変換先の色の値は次のように計算されます。
Cd = Cs * (As * Ap * Ae) + Cd * (1.0 - As * Ap * Ae)
where
Cd
= ターゲット ピクセルの Color 値。Cs
= ソース ピクセルの色の値。As
= ピクセル単位のソース アルファ。Ap
= 平面アルファ値。Ae
= パレット入力のアルファ値、または 1.0 (注を参照)。
メモ パレットエントリのアルファ値は、淡色化された色の形式にのみ適用され、デバイスが 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 [デスクトップ アプリのみ] |
Header | dxvahd.h |