FFmpeg
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

◆ surface_type

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_frames_init(), dxva2_init_pool(), ff_dxva2_common_frame_params(), qsv_frames_derive_from(), qsv_frames_derive_to(), and qsv_init_child_ctx().

◆ surfaces

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_init_pool(), dxva2_pool_alloc(), ff_dxva2_decode_init(), qsv_frames_derive_from(), qsv_frames_derive_to(), and qsv_init_child_ctx().

◆ nb_surfaces

int AVDXVA2FramesContext::nb_surfaces

◆ decoder_to_release

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.

This is for convenience only. Some code uses other methods to manage the decoder reference.

Definition at line 72 of file hwcontext_dxva2.h.

Referenced by dxva2_frames_uninit().


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