DXVA_DeinterlaceBlt結構 (dxva.h)
DXVA_DeinterlaceBlt結構是由 VMR 傳送至加速器,以指定位區塊傳輸的反交集或幀速率轉換參數。
語法
typedef struct _DXVA_DeinterlaceBlt {
DWORD Size;
DWORD Reserved;
REFERENCE_TIME rtTarget;
RECT DstRect;
RECT SrcRect;
DWORD NumSourceSurfaces;
FLOAT Alpha;
DXVA_VideoSample Source[MAX_DEINTERLACE_SURFACES];
} DXVA_DeinterlaceBlt;
成員
Size
指定這個結構的大小,以位元組為單位。
Reserved
rtTarget
識別輸入框架序列中輸出框架的位置。 如果只執行反交錯,則目標時間應該與參考樣本的開始顯示時間一致,如 DXVA_VideoSample 結構中所定義,或開始顯示時間和結束顯示時間之間的中間點。 如需詳細資訊,請參閱<備註>。
如果要求幀速率轉換, rtTarget 時間可能會與參考範例的任何 rtStart 時間不同。
DstRect
指定 RECT 結構,描述目的地介面上矩形的左上方和右下點。 這些點會定義位區塊傳輸應該發生的區域,以及其位於目的地介面上的位置。
SrcRect
指定 RECT 結構,描述來源介面上矩形的左上方和右下點。 這些點會定義位區塊傳輸的來源數據區域,以及其在來源介面上的位置。
NumSourceSurfaces
指定 在Source 陣列中傳遞的有效表面數目。
Alpha
指定輸出影像的透明度,因為它寫入目的地介面。 值為 0.0F 表示透明。 值為 1.0F 表示不透明。
Source[MAX_DEINTERLACE_SURFACES]
DXVA_VideoSample 結構的陣列,指定這個反交集或幀速率轉換作業所需的參考輸入樣本。
備註
從範例中的一個字段建立單一框架時,如 DXVA_VideoSample 結構中所定義, rtTarget 應該是該欄位的開始顯示時間。 如果您在一個範例中有兩個字段,而且想要取消交錯兩個字段, 則會呼叫 DeinterlaceBlt 兩次。 第一次呼叫 DeinterlaceBlt 時, rtTarget 將會是開始的顯示時間。 第二次呼叫 DeinterlaceBlt 時, rtTarget 會是開始顯示時間和結束顯示時間之間的中間點。 換句話說,針對第一次呼叫 rtTarget = rtStart。 針對第二個呼叫, rtTarget = (rtStart + rtEnd) / 2。
規格需求
需求 | 值 |
---|---|
標頭 | dxva.h (包含 Dxva.h) |