DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATA構造体 (d3dumddi.h)

DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATA構造体は、出力の色空間を指定するデータを記述します。

構文

typedef struct _DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
  union {
    struct {
      UINT Usage : 1;
      UINT RGB_Range : 1;
      UINT YCbCr_Matrix : 1;
      UINT YCbCr_xvYCC : 1;
      UINT Nominal_Range : 2;
      UINT Reserved : 26;
    };
    [in] UINT Value;
  };
} DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;

メンバー

[in] Usage

デコード デバイスでビデオ再生を実行するか (画面に表示するなど)、ビデオ処理 (ビデオ編集やオーサリングなど) を実行するかを指定する UINT 値。 ドライバーは、出力デバイス コンテキストに基づいて最適な色変換を実行できます。 既定値は 0 で、ビデオの再生を示します。

このメンバーの設定は、32 ビット メンバー (0x00000001) の最初のビットを設定することと同じです。

[in] RGB_Range

出力がフル レンジ RGB (つまり、0 から 255) であるか、制限範囲 RGB (つまり、16 から 235) であるかを指定する UINT 値。 既定値は 0 で、全範囲 RGB を示します。

このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。

[in] YCbCr_Matrix

出力が BT.601 (標準デジタル テレビの場合) か BT.709 (高解像度テレビの場合) かを指定する UINT 値。 既定値は 0 で、BT.601 を示します。

このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。

[in] YCbCr_xvYCC

出力が従来の YCbCr か拡張 YCbCr (xvYCC) かを指定する UINT 値。 既定値は 0 です。これは、従来の YCbCr を示します。

このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。

[in] Nominal_Range

YUV データの輝度範囲が DXVAHDDDI_NOMINAL_RANGE 列挙体によって記述されることを指定する UINT 値。 既定値は 0 です。スタジオの輝度範囲は 16 から 255 (16, 235) を含みます。

輝度範囲の詳細については、「Windows 8.1の YUV 書式範囲」を参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000030) の 5 ビットと 6 番目のビットを設定することと同じです。

Windows 8.1 以降でサポートされます。

[in] Reserved

予約済み。 ゼロを指定してください。

このメンバーは、32 ビット Value メンバーの残りの 26 ビット (0xFFFFFFC0) に相当します。

[in] Value

出力の色空間を表す 32 ビット値。

注釈

ドライバーの GetCaps 関数がD3DDDICAPS_DXVAHD_GETVPDEVCAPS値を設定して呼び出されたときに、ドライバーが DXVAHDDDI_VPDEVCAPS 構造体の DeviceCaps メンバーにDXVAHDDDI_DEVICE_CAPS_xvYCC値を設定しない場合、出力はYCbCr_xvYCCメンバーを無視します。

出力形式の色空間に対応する RGB フラグまたは YCbCr フラグが参照されます。 ただし、ドライバーは背景色への色空間変換を実行する必要がある場合があります。この場合、RGB フラグと YCbCr フラグの両方が参照されます。

アプリケーションは、ドライバーが最適な色変換を実行できるように Usage メンバーを設定する必要があります。 使用法がビデオ再生 (Usage=0) に設定されている場合、ドライバーは高度なアルゴリズムを使用してプレゼンテーション エクスペリエンスを最大化できます (たとえば、自動ゲイン制御やダイナミック ガンマ マッピングを使用して、スーパー ホワイトが保持されている間、ダイナミック レンジを最大化します)。 使用法がビデオ処理 (Usage=1) に設定されている場合、ドライバーは、DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATAの他のメンバーに設定されている値を受け入れ、他のメンバーで指定されているとおりに変換を実行する必要があります。

出力 RGB の種類が広い範囲の形式 (たとえば、XR_BIAS、FP16、FP32 形式) である場合、RGB 出力は [0.0, 1.0] の範囲外にすることができます ([0, 255]、8 ビット プレゼンテーションを使用する場合)。 特に、入力ストリームが拡張された YCbCr (xvYCC) の場合、RGB 出力範囲は sRGB 色空間よりも広くなります。

要件

要件
サポートされている最小のクライアント DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATAは、Windows 7 オペレーティング システム以降でサポートされています。
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

DXVAHDDDI_NOMINAL_RANGE

DXVAHDDDI_VPDEVCAPS

GetCaps