DXVAHDDDI_VPDEVCAPS結構 (d3dumddi.h)
DXVAHDDDI_VPDEVCAPS結構描述譯碼裝置支援的視訊處理器功能。
語法
typedef struct _DXVAHDDDI_VPDEVCAPS {
[in] UINT Reserved;
[out] UINT DeviceCaps;
[out] UINT FeatureCaps;
[out] UINT FilterCaps;
[out] UINT InputFormatCaps;
[out] D3DDDI_POOL InputPool;
[out] UINT OutputFormatCount;
[out] UINT InputFormatCount;
[out] UINT VideoProcessorCount;
[out] UINT MaxInputStreams;
[out] UINT MaxStreamStates;
} DXVAHDDDI_VPDEVCAPS;
成員
[in] Reserved
保留。 必須是零。
[out] DeviceCaps
DXVAHDDDI_DEVICE_CAPS 列舉中下列值的位 OR,表示裝置特定的功能。
DXVAHDDDI_DEVICE_CAPS_LINEAR_SPACE(0x1)
驅動程式可以在線性空間中混合視訊內容。 由於影片內容傳統上位於非線性空間中,並修正 gamma 2.2 (sRGB),因此驅動程式可以在執行混合作業之前,將視訊內容轉換成線性空間,以達到更好的結果。
DXVAHDDDI_DEVICE_CAPS_xvYCC (0x2)
當驅動程式輸入和輸出至 YCbCr 格式類型時,驅動程式可以執行視訊處理,同時保留擴充遊戲色彩。
DXVAHDDDI_DEVICE_CAPS_RGB_RANGE_CONVERSION (0x4)
當輸入和輸出都是 RGB 色彩空間,但範圍不同時,驅動程式可以執行範圍轉換(例如,輸入是完整的範圍 RGB,輸出是有限的範圍 RGB)。 如果未設定此值,驅動程式會忽略 RGB 範圍,並將 RGB 輸入資料流組成 RGB 輸出,而不會變更範圍。
DXVAHDDDI_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION (0x8)
當輸入和輸出都是 YCbCr 色彩空間,但矩陣不同時,驅動程式可以執行矩陣轉換(例如,輸入為 BT.601,輸出為 BT.709)。 如果未設定此值,驅動程式會忽略 YCbCr 矩陣,並將 YCbCr 輸入數據流組成 YCbCr 輸出,而不會變更矩陣。
DXVAHDDDI_DEVICE_CAPS_NOMINAL_RANGE(0x10)
當輸入和輸出使用不同的亮度範圍時,視訊處理器可以在亮度範圍之間轉換。
如需亮度範圍的詳細資訊,請參閱 Windows 8.1 中的YUV 格式範圍。
從 Windows 8.1 開始支援。
驅動程式會判斷XR_BIAS、FP16 和 FP32 格式(寬色域格式)在線性空間中,因此無論是否已設定上述功能值,都可以保留延伸的色域色彩。
[out] FeatureCaps
DXVAHDDDI_FEATURE_CAPS 列舉中下列值的位 OR,表示功能特定的功能。
DXVAHDDDI_FEATURE_CAPS_ALPHA_FILL (0x1)
驅動程式可以在輸出介面上設定目標矩形內的 Alpha 值,如 Alpha 填滿模式所指定。 如需這項作業的詳細資訊,請參閱 DXVAHDDDI_BLT_STATE_ALPHA_FILL_DATA。
DXVAHDDDI_FEATURE_CAPS_CONSTRICTION(0x2)
驅動程式可以向下取樣所撰寫的目標矩形。 如需這項作業的詳細資訊,請參閱 DXVAHDDDI_BLT_STATE_CONSTRICTION_DATA。
DXVAHDDDI_FEATURE_CAPS_LUMA_KEY (0x4)
驅動程式可以在luma鍵範圍內讓像素成為透明。 如需這項作業的詳細資訊,請參閱 DXVAHDDDI_STREAM_STATE_LUMA_KEY_DATA。
DXVAHDDDI_FEATURE_CAPS_ALPHA_PALETTE(0x8)
驅動程式可以套用調色盤專案的 Alpha 值。 如需 Alpha 混合的詳細資訊,請參閱 DXVAHDDDI_STREAM_STATE_ALPHA_DATA。
DXVAHDDDI_FEATURE_CAPS_ROTATION(0x10)
驅動程式可以將離散顯示器旋轉值套用至顯示輸出介面。 如需這項作業的詳細資訊,請參閱 DXVAHDDDI_STREAM_STATE_ROTATION_DATA。
從 Windows 8 開始支援。
[out] FilterCaps
DXVAHDDDI_FILTER_CAPS 列舉中下列值的位 OR,表示篩選特定功能。
DXVAHDDDI_FILTER_CAPS_BRIGHTNESS(0x1)
驅動程序支援亮度 ProcAmp。
DXVAHDDDI_FILTER_CAPS_CONTRAST (0x2)
驅動程式支持對比 ProcAmp。
DXVAHDDDI_FILTER_CAPS_HUE (0x4)
驅動程式支援 hue ProcAmp。
DXVAHDDDI_FILTER_CAPS_SATURATION (0x8)
驅動程式支持飽和度 ProcAmp。
DXVAHDDDI_FILTER_CAPS_NOISE_REDUCTION (0x10)
驅動程式支援減少雜訊篩選器。
DXVAHDDDI_FILTER_CAPS_EDGE_ENHANCEMENT (0x20)
驅動程式支援邊緣增強篩選器。
DXVAHDDDI_FILTER_CAPS_ANAMORPHIC_SCALING (0x40)
驅動程式可以從來源矩形調整為線性或非線性目的矩形。 如果驅動程式具有這項功能,它可以將 4:3 標準視訊內容延展至 16:9 寬螢幕。
[out] InputFormatCaps
來自 DXVAHDDDI_INPUT_FORMAT_CAPS 列舉的下列值的位 OR,表示輸入格式特定功能。
DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_INTERLACED (0x1)
驅動程式可以使用 RGB 格式類型來清除輸入數據流。
DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_PROCAMP (0x2)
驅動程式可以將 ProcAmp 篩選套用至具有 RGB 格式類型的輸入數據流。
DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_LUMA_KEY(0x4)
驅動程式可以使用 RGB 格式類型來設定輸入數據流的 luma 鍵。
DXVAHDDDI_INPUT_FORMAT_CAPS_PALETTE_INTERLACED (0x8)
驅動程式可以使用疏鬆格式類型來清除輸入數據流。
驅動程式可以支援上述功能,而不是支援輸入畫面很少使用的視訊處理。 由於支持這些功能需要視訊處理器管線中的額外步驟,因此驅動程式可能不支持它們。
如果驅動程式支援這些功能,驅動程式可能需要特定色彩空間來執行輸入數據流的處理。 例如,ProcAmp 和 luma 索引鍵是在 YCbCr 色彩空間中執行。 驅動程式會參考數據流狀態的色彩空間,以執行中繼色彩轉換。
例如,當驅動程式將 RGB_Range 和 YCbCr_MatrixDXVAHDDDI_STREAM_STATE_INPUT_COLOR_SPACE_DATA 成員分別設定為 0 和 1 時,驅動程式會在驅動程式套用 ProcAmp 之前,從完整範圍 RGB 轉換為 BT.709 YCbCr,然後將輸入數據流轉換回完整範圍 RGB。
[out] InputPool
D3DDDI_POOL型別值,指出應該配置輸入介面的記憶體集區。
[out] OutputFormatCount
支援的輸出格式數目。 驅動程式會針對譯碼裝置支援的輸出格式,傳回 D3DDDIFORMAT 列舉型別的陣列,當驅動程式的 GetCaps 函式呼叫時,會設定D3DDDICAPS_DXVAHD_GETVPOUTPUTFORMATS值。
[out] InputFormatCount
支援的輸入格式數目。 驅動程式會針對譯碼裝置支援的輸入格式,傳回 D3DDDIFORMAT 列舉型別的陣列,當驅動程式的 GetCaps 函式呼叫時,會設定D3DDDICAPS_DXVAHD_GETVPINPUTFORMATS值。
[out] VideoProcessorCount
支援的視訊處理器數目。 驅動程式會針對譯碼裝置所支援的每個視訊處理器,傳回 DXVAHDDDI_VPCAPS 結構的陣列,當驅動程式的 GetCaps 函式呼叫時,會設定D3DDDICAPS_DXVAHD_GETVPCAPS值。
[out] MaxInputStreams
驅動程式可以一次啟用輸入數據流數目上限。
[out] MaxStreamStates
數據流狀態的最大數目。
言論
當使用者模式顯示驅動程式在呼叫 GetCaps 函式時,會傳回 D3DDDIARG_GETCAPS 結構 pData 成員中填入DXVAHDDDI_VPDEVCAPS結構的指標,其 GetCaps 函式會以 D3DDDIARG_GETCAPS Type 成員中設定的D3DDDICAPS_DXVAHD_GETVPDEVCAPS值來呼叫。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 7 開始支援DXVAHDDDI_VPDEVCAPS。 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |