VMRSurfaceAllocationFlags enumeration

Expand
This topic has not yet been rated - Rate this topic

VMRSurfaceAllocationFlags enumeration

Applies to: desktop apps only

The VMRSurfaceAllocationFlags enumeration is used with the IVMRSurfaceAllocator::AllocateSurface method to specify surface creation parameters.

Syntax

typedef enum  {
  AMAP_PIXELFORMAT_VALID   = 0x01,
  AMAP_3D_TARGET           = 0x02,
  AMAP_ALLOW_SYSMEM        = 0x04,
  AMAP_FORCE_SYSMEM        = 0x08,
  AMAP_DIRECTED_FLIP       = 0x10,
  AMAP_DXVA_TARGET         = 0x20 
} VMRSurfaceAllocationFlags;

Constants

AMAP_PIXELFORMAT_VALID

Indicates that the lpPxFmt field contains valid data that should be used to create the DirectDraw surface.

AMAP_3D_TARGET

Indicates that the DirectDraw surface created should also be a Direct3D render target that is created with the DDSCAPS_3DDEVICE flag set.

AMAP_ALLOW_SYSMEM

Indicates that if you can't allocate the DirectDraw surface in video memory you will try to allocate a system memory DirectDraw surface. (Note you should never allocate an AGP memory surface.)

AMAP_FORCE_SYSMEM

Force the surface to be created in system memory. Specify this if you will use GDI to process the image before it is renderered. The surface must match the current monitor display format (pixel depth).

AMAP_DIRECTED_FLIP

Means that when Flip is called you should Flip to the specified DirectDraw Surface passed as a parameter to the PresentImage method in the IVMRImagePresenter interface. Correct support for this flag is crucial in order to keep DXVA buffers seen by a video decoder in sync with the DXVA buffers seen by the graphics driver.

AMAP_DXVA_TARGET

Indicates that this surface will be used as a DXVA target.

Remarks

AMAP_3D_TARGET cannot be combined with AMAP_FORCE_SYSMEM or AMAP_ALLOW_SYSMEM because 3D surfaces cannot be created in system memory.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Header

Strmif.h (include Dshow.h)

See also

DirectShow Enumerated Types
IVMRSurfaceAllocator::AllocateSurface

 

 

Send comments about this topic to Microsoft

Build date: 5/5/2012

Did you find this helpful?
(1500 characters remaining)
Community Additions ADD