Перечисление VMRSurfaceAllocationFlags (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие 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 также должна быть целевым объектом отрисовки Direct3D, созданным с помощью флага DDSCAPS_3DDEVICE . |
AMAP_ALLOW_SYSMEM Значение: 0x4 Указывает, что если вы не можете выделить поверхность DirectDraw в видеопамяти, вы попытаетесь выделить поверхность DirectDraw в системной памяти. (Обратите внимание, что никогда не следует выделять поверхность памяти AGP.) |
AMAP_FORCE_SYSMEM Значение: 0x8 Принудительное создание поверхности в системной памяти. Укажите этот параметр, если вы будете использовать GDI для обработки изображения перед его отрисовки. Поверхность должна соответствовать текущему формату отображения монитора (глубина в пикселях). |
AMAP_DIRECTED_FLIP Значение: 0x10 Означает, что при вызове Flip необходимо выполнить flip к указанному surface DirectDraw, переданного в качестве параметра методу PresentImage в интерфейсе IVMRImagePresenter . Правильная поддержка этого флага крайне важна, чтобы буферы DXVA были синхронизированы с буферами DXVA, видимыми графическим драйвером. |
AMAP_DXVA_TARGET Значение: 0x20 Указывает, что эта поверхность будет использоваться в качестве целевого объекта DXVA. |
Комментарии
AMAP_3D_TARGET нельзя сочетать с AMAP_FORCE_SYSMEM или AMAP_ALLOW_SYSMEM так как трехмерные поверхности невозможно создать в системной памяти.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | strmif.h (включая Dshow.h) |