Expand Minimize

AMVAUncompBufferInfo structure

The AMVAUncompBufferInfo structure describes the uncompressed surfaces to be allocated by the video renderer.

Syntax


typedef struct _tag_AMVAUncompBufferInfo {
  DWORD         dwMinNumSurfaces;
  DWORD         dwMaxNumSurfaces;
  DDPIXELFORMAT ddUncompPixelFormat;
} AMVAUncompBufferInfo, *LPAMVAUncompBufferInfo;

Members

dwMinNumSurfaces

Minimum number of surfaces to allocate.

dwMaxNumSurfaces

Maximum number of surfaces to allocate.

ddUncompPixelFormat

DDPIXELFORMAT structure, describing the pixel format of the allocated surfaces.

Remarks

The VMR-7 and VMR-9 filters allocate at least dwMinNumSurfaces surfaces. For interlaced content, the VMR-7 allocates additional surfaces equal to the number of forward and backward reference frames required by the deinterlacer. The VMR-7 gets these values by calling IVMRDeinterlaceControl::GetDeinterlaceModeCaps. The VMR-9 does not need to allocate additional surfaces for deinterlacing. Thus:

  • For the VMR-7, the number of allocated surfaces is dwMinNumSurfaces + dwNumForwardRefSamples + dwNumBackwardRefSamples. For progressive content, the last two values will be zero.
  • For the VMR-9, the number of allocated surfaces is dwMinNumSurfaces.

Initially, the decoder should set dwMinNumSurfaces equal to the optimal number of surfaces needed to decode smoothly. If the renderer cannot allocate that many surfaces, the connection will fail with the error code E_OUTOFMEMORY. The decoder should reconnect with the same media type but set dwMinNumSurfaces equal to the minimum number of surfaces required for decoding. For example, the optimal number of surfaces might be 8, while the minimum is 4.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Amva.h (include Videoacc.h)

See also

DirectShow Structures
IAMVideoAcceleratorNotify::GetUncompSurfacesInfo

 

 

Community Additions

ADD
Show:
© 2014 Microsoft