FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
AVDXVA2FramesContext Struct Reference

This struct is allocated as AVHWFramesContext.hwctx. More...

#include <hwcontext_dxva2.h>

Data Fields

DWORD surface_type
 The surface type (e.g. More...
 
IDirect3DSurface9 ** surfaces
 The surface pool. More...
 
int nb_surfaces
 
IDirectXVideoDecoder * decoder_to_release
 Certain drivers require the decoder to be destroyed before the surfaces. More...
 

Detailed Description

This struct is allocated as AVHWFramesContext.hwctx.

Definition at line 46 of file hwcontext_dxva2.h.

Field Documentation

DWORD AVDXVA2FramesContext::surface_type

The surface type (e.g.

DXVA2_VideoProcessorRenderTarget or DXVA2_VideoDecoderRenderTarget). Must be set by the caller.

Definition at line 51 of file hwcontext_dxva2.h.

Referenced by dxva2_create_decoder(), dxva2_frames_init(), dxva2_init_pool(), and qsv_init_child_ctx().

IDirect3DSurface9** AVDXVA2FramesContext::surfaces

The surface pool.

When an external pool is not provided by the caller, this will be managed (allocated and filled on init, freed on uninit) by libavutil.

Definition at line 58 of file hwcontext_dxva2.h.

Referenced by dxva2_create_decoder(), dxva2_init_pool(), dxva2_pool_alloc(), and qsv_init_child_ctx().

int AVDXVA2FramesContext::nb_surfaces
IDirectXVideoDecoder* AVDXVA2FramesContext::decoder_to_release

Certain drivers require the decoder to be destroyed before the surfaces.

To allow internally managed pools to work properly in such cases, this field is provided.

If it is non-NULL, libavutil will call IDirectXVideoDecoder_Release() on it just before the internal surface pool is freed.

Definition at line 69 of file hwcontext_dxva2.h.

Referenced by dxva2_create_decoder(), and dxva2_frames_uninit().


The documentation for this struct was generated from the following file: