DXVADDI_VIDEOPROCESSORCAPS結構 (d3dumddi.h)
DXVADDI_VIDEOPROCESSORCAPS結構描述特定解交模式的視訊處理功能。
語法
typedef struct _DXVADDI_VIDEOPROCESSORCAPS {
[out] D3DDDI_POOL InputPool;
[out] UINT NumForwardRefSamples;
[out] UINT NumBackwardRefSamples;
[out] D3DDDIFORMAT OutputFormat;
[out] UINT DeinterlaceTechnology;
[out] UINT ProcAmpControlCaps;
[out] UINT VideoProcessorOperations;
[out] UINT NoiseFilterTechnology;
[out] UINT DetailFilterTechnology;
} DXVADDI_VIDEOPROCESSORCAPS;
成員
[out] InputPool
D3DDDI_POOL型別值,指出應該配置交錯來源介面的記憶體集區。
[out] NumForwardRefSamples
所定義 deinterlace 模式的必要轉送參考範例數目。 這些範例位於後續的欄位中。 對於bob和線條混合而言,此值為零,而且可以是其他值(例如1、2或3),用於調適性反交錯和幀速率轉換。
[out] NumBackwardRefSamples
已定義之 deinterlace 模式的必要回溯參考範例。 這些範例位於先前的欄位中。 bob 的此值為零,1 表示線條混合,而且可以是其他值(例如 1、2 或 3),用於調適性反交和幀速率轉換。
[out] OutputFormat
D3DDDIFORMAT型別值,表示未壓縮輸出畫面格的圖元格式。 一般而言,deinterlace 演算法會以符合輸入範例格式的圖元格式輸出框架。 此成員可確保視訊混合轉譯器 (VMR) 或其他視訊轉譯器能夠將正確的輸出畫面介面提供給反交錯硬體。
請注意,如果在 VideoProcessorOperations 成員中傳回DXVADDI_VIDEOPROCESS_YUV2RGB值,VMR 會決定這個成員指定有效的輸出格式,以及D3DFMT_X8R8G8B8格式。
[out] DeinterlaceTechnology
下列值的位 OR,表示用來實作反交錯演算法的基礎反交錯技術。 這些值可以視需要合併,以最符合演算法的實作。
值 | 意義 |
---|---|
DXVADDI_DEINTERLACETECH_UNKNOWN | 去交錯技術未知。 |
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE | deinterlace 演算法會重複遺漏行上方或下方的行,藉以建立遺漏的行。 此方法看起來不規則,不建議使用。 |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH | 解交演算法,藉由垂直將每個視訊字段垂直延展為兩條線,以平均兩行來建立遺漏線條。 進行輕微的垂直調整,以確保產生的影像不會上下移動。 |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP | 透過使用 [-1, 9, 9, 9, -1] / 16 篩選,將每個視訊字段垂直延展以兩個因素來建立遺漏線條的反交錯演算法。 進行輕微的垂直調整,以確保產生的影像不會上下移動。 |
DXVADDI_DEINTERLACETECH_MEDIANFILTERING | 遺漏行中的圖元會由中位數篩選作業重新建立。 |
DXVADDI_DEINTERLACETECH_EDGEFILTERING | 遺漏線條中的圖元會由邊緣篩選重新建立。 在此程式中,會套用空間方向篩選來判斷圖片內容中邊緣的方向,而遺漏的圖元是透過沿著偵測到的邊緣篩選來建立的。 |
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE | 遺漏線條中的圖元會根據動作量,在空間或時態插補之間切換字段為基礎來重新建立。 |
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE | 遺失線條中的圖元會根據動作量,在空間或時態插補之間切換圖元,以逐圖元方式重新建立。 |
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED | 視訊欄位序列中的物件。 遺失的圖元會在第一次對齊場景中個別對象的移動軸之後重新建立,使其與時間軸平行。 |
DXVADDI_DEINTERLACETECH_INVERSETELECINE | 可復原 3:2 下拉式程式,用於在 60Hz 顯示器上顯示 24Hz 內容、50Hz 顯示器上的 25Hz 內容等等的解交演算法。 |
[out] ProcAmpControlCaps
下列值的位 OR,表示硬體支援的 ProcAmp 作業。
值 | 意義 |
---|---|
DXVADDI_PROCAMP_NONE | 硬體不支援任何 ProcAmp 作業。 |
DXVADDI_PROCAMP_BRIGHTNESS | 允許視訊影像的亮度調整。 |
DXVADDI_PROCAMP_CONTRAST | 允許對視訊影像進行對比調整。 |
DXVADDI_PROCAMP_HUE | 允許調整視訊影像的色調。 |
DXVADDI_PROCAMP_SATURATION | 允許視訊影像的飽和度調整。 |
[out] VideoProcessorOperations
下列值的位 OR,表示硬體可以與要求的 VideoProcessBlt 作業同時執行哪些額外的視訊處理作業。
值 | 意義 |
---|---|
DXVADDI_VIDEOPROCESS_NONE | 硬體無法再執行任何視訊處理作業。 |
DXVADDI_VIDEOPROCESS_YUV2RGB | 允許從 YUV 色彩空間轉換為 RGB 色彩空間的視訊轉換。 所使用的 RGB 格式對於每個色彩元件至少有 8 位的有效位數。 如果可行,則可以避免在 VMR 內複製緩衝區。 請注意,不需要從 RGB 色彩空間轉換成 YUV 色彩空間。 |
DXVADDI_VIDEOPROCESS_STRETCHX | 如果硬體能夠水平縮放或縮小,可以同時執行視訊的長寬比例校正,因為 ProcAmp 會進行調整。 |
DXVADDI_VIDEOPROCESS_STRETCHY | 外觀比例調整會與一般圖片重設大小作業結合,以調整應用程式定義組合空間內的視訊影像。 此作業很少見,並非基本功能。 如果調整視訊大小以符合應用程式視窗所需的縮放比例,最好與 ProcAmp 調整所需的縮放比例同時完成。 這種類型的作業可避免累積成品。 |
DXVADDI_VIDEOPROCESS_ALPHABLEND | 當Alpha值變更時,VMR不會執行緩衝區複本。 應用程式很少改變與視訊串流相關聯的常數 Alpha 值,因此此作業是低優先順序功能。 |
DXVADDI_VIDEOPROCESS_SUBRECTS | 視訊處理裝置可以在視訊影像的子區域上運作。 如果視訊影像必須先裁剪,才能進一步處理,因為輸出畫面的大小會降低,這項作業會很有用。 |
DXVADDI_VIDEOPROCESS_SUBSTREAMS | 視訊處理裝置可以結合視訊子串流與視訊串流。 |
DXVADDI_VIDEOPROCESS_SUBSTREAMSEXTENDED | 您可以對來源視訊串流和子數據流進行必要的色彩調整。 這些調整會以延伸的色彩數據表示,因為視訊已取消交錯、與子數據流複合,並寫入目的地介面。 |
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED | 您可以使用為來源和目的介面指定的延伸色彩資訊,執行色彩空間轉換作業,因為反交錯和複合圖元會寫入目的地介面。 |
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED | 當反交集和複合圖元寫入目的地表面時,可以使用目的地表面執行 Alpha 混合運算。 驅動程式必須根據 D3DDDIARG_VIDEOPROCESSBLT 結構的 Alpha 成員的 Alpha 值來處理背景色彩。 當Alpha值為1.0時,背景色彩不透明(沒有透明度)。 當Alpha值為0.0時,不應繪製背景(透明)。 |
DXVADDI_VIDEOPROCESS_CONSTRICTION | 視訊處理裝置可以暫時將輸出畫面縮減為 constrictionSize D3DDDIARG_VIDEOPROCESSBLT 結構成員所指定的大小。 |
DXVADDI_VIDEOPROCESS_NOISEFILTER | 視訊處理裝置可以在視訊串流上執行雜訊篩選作業。 |
DXVADDI_VIDEOPROCESS_DETAILFILTER | 影片處理裝置可以在視訊串流上執行詳細篩選作業。 |
DXVADDI_VIDEOPROCESS_PLANARALPHA | 視訊處理裝置可以將固定 Alpha 混合套用至整個視訊串流(平面),同時將視訊串流和子串流混合在一起。 D3DDDIARG_VIDEOPROCESSBLT的Alpha成員會指定Alpha值。 |
DXVADDI_VIDEOPROCESS_LINEARSCALING | 視訊處理裝置可以線性調整視訊串流。 |
DXVADDI_VIDEOPROCESS_GAMMACOMPENSATED | 視訊處理裝置可以在視訊串流上執行伽瑪轉換。 |
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA | 視訊處理裝置可以維護原始欄位數據。 |
[out] NoiseFilterTechnology
下列值的位 OR,表示用來實作雜訊篩選的基礎技術。 值可以視需要結合,以最符合雜訊篩選實作。
值 | 意義 |
---|---|
DXVADDI_NOISEFILTERTECH_UNSUPPORTED | 不支持雜訊篩選技術。 |
DXVADDI_NOISEFILTERTECH_UNKNOWN | 雜訊篩選技術未知。 |
DXVADDI_NOISEFILTERTECH_MEDIAN | 視訊處理裝置使用中位數雜訊篩選。 |
DXVADDI_NOISEFILTERTECH_TEMPORAL | 視訊處理裝置會使用時態雜訊篩選。 |
DXVADDI_NOISEFILTERTECH_BLOCKNOISE | 視訊處理裝置會使用封鎖雜訊篩選。 |
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE | 視訊處理裝置使用蚊子噪音篩選。 |
[out] DetailFilterTechnology
下列值的位 OR,表示用來實作詳細數據篩選的基礎技術。 您可以視需要結合這些值,以最符合詳細數據篩選實作。
值 | 意義 |
---|---|
DXVADDI_DETAILFILTERTECH_UNSUPPORTED | 不支援詳細篩選技術。 |
DXVADDI_DETAILFILTERTECH_UNKNOWN | 詳細篩選技術未知。 |
DXVADDI_DETAILFILTERTECH_EDGE | 影片處理裝置會使用邊緣詳細數據篩選。 |
DXVADDI_DETAILFILTERTECH_SHARPENING | 影片處理裝置會使用更尖銳的詳細數據篩選。 |
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |