vmRSurfaceAllocationFlags 枚举 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
VMRSurfaceAllocationFlags 枚举与 IVMRSurfaceAllocator::AllocateSurface 方法一起使用,以指定图面创建参数。
语法
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 内存 surface.) |
AMAP_FORCE_SYSMEM 值: 0x8 强制在系统内存中创建图面。 如果要在呈现图像之前使用 GDI 来处理图像,请指定此项。 图面必须与当前监视器显示格式 (像素深度) 匹配。 |
AMAP_DIRECTED_FLIP 值: 0x10 表示调用 Flip 时,应将 Flip 切换到作为参数传递给 IVMRImagePresenter 接口中的 PresentImage 方法的指定 DirectDraw Surface。 正确支持此标志至关重要,以便使视频解码器看到的 DXVA 缓冲区与图形驱动程序看到的 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) |