次の方法で共有


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 になります。
 
宛先アルファ値は、 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 [デスクトップ アプリのみ]
Header dxvahd.h

関連項目

DXVA-HD

DXVAHD_STREAM_STATE

Direct3D ビデオ構造

IDXVAHD_VideoProcessor::SetVideoProcessStreamState

Media Foundation Structures