共用方式為


DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA 結構 (dxvahd.h)

使用 Microsoft DirectX Video Acceleration High Definition (DXVA-HD) 時,指定 blit 作業的輸出色彩空間。

語法

typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
  union {
    struct {
      UINT Usage : 1;
      UINT RGB_Range : 1;
      UINT YCbCr_Matrix : 1;
      UINT YCbCr_xvYCC : 1;
      UINT Reserved : 28;
    };
    UINT Value;
  };
} DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;

成員

Usage

指定輸出是否適用于播放或視訊處理 (,例如編輯或撰寫) 。 裝置可以根據類型優化處理。 預設狀態值為 0 (播放) 。

意義
0
播放。
1
視訊處理。

RGB_Range

指定 RGB 色彩範圍。 預設狀態值為 0 (完整範圍) 。

意義
0
完整範圍 (0-255) 。
1
限制的範圍 (16-235) 。

YCbCr_Matrix

指定 YCbCr 傳輸矩陣。 預設狀態值為 0 (BT.601) 。

意義
0
BT-R BT.601。
1
BT-R BT.709。

YCbCr_xvYCC

指定輸出是否使用傳統 YCbCr 或擴充的 YCbCr (xvYCC) 。 預設狀態值為零, (傳統 YCbCr) 。

意義
0
傳統 YCbCr。
1
擴充的 YCbCr (xvYCC) 。

Reserved

Value

備註

RGB_Range成員會套用至 RGB 輸出,而YCbCr_MatrixYCbCr_xvYCC成員則適用于 YCbCr (YUV) 輸出。 如果裝置在背景色彩上執行色彩空間轉換,則會使用套用至兩個色彩空間的值。

擴充 YCbCr 可以搭配任一傳輸矩陣使用。 擴充的 YCbCr 不會變更黑色點或白色點—黑色點仍然為 16,而白色點仍為 235。 不過,擴充的 YCbCr 明確允許範圍 1-15 中的黑色值,以及範圍 236–254 中的白色值。 使用擴充的 YCbCr 時,驅動程式不應該將 luma 值裁剪為標準 16–235 範圍。

如果裝置支援擴充的 YCbCr,它會在 DXVAHD_VPDEVCAPS 結構的 DeviceCaps 成員中設定 DXVAHD_DEVICE_CAPS_xvYCC 功能旗標。 否則,裝置會忽略 YCbCr_xvYCC 成員的值,並將所有 YCbCr 輸出視為傳統 YCbCr。 若要取得裝置的功能,請呼叫 IDXVAHD_Device::GetVideoProcessorDeviceCaps

如果輸出格式是寬角 RGB 格式,則輸出可能會落在 sRGB 的具名 [0...1] 範圍之外。 如果一或多個輸入資料流程使用擴充的 YCbCr,這特別正確。

範例

HRESULT DXVAHD_SetOutputColorSpace(
    IDXVAHD_VideoProcessor *pVP,
    BOOL bPlayback,     // TRUE = playback, FALSE = video processing
    UINT RGB_Range,     // 0 = 0-255, 1 = 16-235
    UINT YCbCr_Matrix,  // 0 = BT.601, 1 = BT.709
    UINT YCbCr_xvYCC    // 0 = Conventional YCbCr, 1 = xvYCC
    )
{
    DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA data =
    {
        bPlayback ? 0 : 1,
        RGB_Range ? 1 : 0,
        YCbCr_Matrix ? 1 : 0,
        YCbCr_xvYCC ? 1 : 0
    };

    HRESULT hr = pVP->SetVideoProcessBltState(
        DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE,
        sizeof(data),
        &data
        );

    return hr;
}

需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
標頭 dxvahd.h

另請參閱

DXVA-HD

DXVAHD_BLT_STATE

Direct3D 視訊結構

IDXVAHD_VideoProcessor::SetVideoProcessBltState

媒體基礎結構