VMRSurfaceAllocationFlags 列舉 (strmif.h)
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
VMRSurfaceAllocationFlags列舉會與IVMRSurfaceAllocator::AllocateSurface方法搭配使用,以指定表面建立參數。
Syntax
typedef enum VMRSurfaceAllocationFlags {
AMAP_PIXELFORMAT_VALID = 0x1,
AMAP_3D_TARGET = 0x2,
AMAP_ALLOW_SYSMEM = 0x4,
AMAP_FORCE_SYSMEM = 0x8,
AMAP_DIRECTED_FLIP = 0x10,
AMAP_DXVA_TARGET = 0x20
} ;
常數
AMAP_PIXELFORMAT_VALID 值: 0x1 指出 lpPxFmt 欄位包含應該用來建立 DirectDraw 表面的有效資料。 |
AMAP_3D_TARGET 值: 0x2 表示建立的 DirectDraw 表面也應該是使用 DDSCAPS_3DDEVICE 旗標集所建立的 Direct3D 轉譯目標。 |
AMAP_ALLOW_SYSMEM 值: 0x4 表示如果您無法在視訊記憶體中配置 DirectDraw 介面,您將嘗試配置系統記憶體 DirectDraw 介面。 (附注:您不應該配置 AGP 記憶體介面。) |
AMAP_FORCE_SYSMEM 值: 0x8 強制在系統記憶體中建立介面。 如果您要在轉譯影像之前使用 GDI 來處理影像,請指定此值。 表面必須符合目前的監視器顯示格式, (圖元深度) 。 |
AMAP_DIRECTED_FLIP 值: 0x10 表示呼叫 Flip 時,您應該將 Flip 傳遞給IVMRImagePresenter介面中PresentImage方法的指定 DirectDraw Surface。 正確支援此旗標非常重要,以便讓視訊解碼器與圖形驅動程式看到的 DXVA 緩衝區保持同步。 |
AMAP_DXVA_TARGET 值: 0x20 表示此表面將作為 DXVA 目標使用。 |
備註
AMAP_3D_TARGET無法與AMAP_FORCE_SYSMEM或AMAP_ALLOW_SYSMEM結合,因為無法在系統記憶體中建立 3D 表面。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | strmif.h (包含 Dshow.h) |