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 (播放) 。
值 | 意義 |
---|---|
|
播放。 |
|
視訊處理。 |
RGB_Range
指定 RGB 色彩範圍。 預設狀態值為 0 (完整範圍) 。
值 | 意義 |
---|---|
|
完整範圍 (0-255) 。 |
|
限制的範圍 (16-235) 。 |
YCbCr_Matrix
指定 YCbCr 傳輸矩陣。 預設狀態值為 0 (BT.601) 。
值 | 意義 |
---|---|
|
BT-R BT.601。 |
|
BT-R BT.709。 |
YCbCr_xvYCC
指定輸出是否使用傳統 YCbCr 或擴充的 YCbCr (xvYCC) 。 預設狀態值為零, (傳統 YCbCr) 。
值 | 意義 |
---|---|
|
傳統 YCbCr。 |
|
擴充的 YCbCr (xvYCC) 。 |
Reserved
Value
備註
RGB_Range成員會套用至 RGB 輸出,而YCbCr_Matrix和YCbCr_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 |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應