Share via


Enumeração VMRSurfaceAllocationFlags (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A enumeração VMRSurfaceAllocationFlags é usada com o método IVMRSurfaceAllocator::AllocateSurface para especificar parâmetros de criação de superfície.

Sintaxe

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
} ;

Constantes

 
AMAP_PIXELFORMAT_VALID
Valor: 0x1
Indica que o campo lpPxFmt contém dados válidos que devem ser usados para criar a superfície do DirectDraw.
AMAP_3D_TARGET
Valor: 0x2
Indica que a superfície do DirectDraw criada também deve ser um destino de renderização Direct3D criado com o sinalizador DDSCAPS_3DDEVICE definido.
AMAP_ALLOW_SYSMEM
Valor: 0x4
Indica que, se você não puder alocar a superfície do DirectDraw na memória de vídeo, tentará alocar uma superfície DirectDraw de memória do sistema. (Observe que você nunca deve alocar uma superfície de memória AGP.)
AMAP_FORCE_SYSMEM
Valor: 0x8
Force a superfície a ser criada na memória do sistema. Especifique isso se você usar a GDI para processar a imagem antes que ela seja renderizada. A superfície deve corresponder ao formato de exibição do monitor atual (profundidade de pixel).
AMAP_DIRECTED_FLIP
Valor: 0x10
Significa que, quando o Flip é chamado, você deve Inverter para o DirectDraw Surface especificado passado como um parâmetro para o método PresentImage na interface IVMRImagePresenter . O suporte correto para esse sinalizador é crucial para manter os buffers DXVA vistos por um decodificador de vídeo em sincronia com os buffers DXVA vistos pelo driver gráfico.
AMAP_DXVA_TARGET
Valor: 0x20
Indica que essa superfície será usada como um destino DXVA.

Comentários

AMAP_3D_TARGET não pode ser combinado com AMAP_FORCE_SYSMEM ou AMAP_ALLOW_SYSMEM porque as superfícies 3D não podem ser criadas na memória do sistema.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho strmif.h (inclua Dshow.h)

Confira também

Tipos enumerados do DirectShow

IVMRSurfaceAllocator::AllocateSurface