FFmpeg
Data Fields
AVD3D11VAFramesContext Struct Reference

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

#include <hwcontext_d3d11va.h>

Data Fields

ID3D11Texture2D * texture
 The canonical texture used for pool allocation. More...
 
UINT BindFlags
 D3D11_TEXTURE2D_DESC.BindFlags used for texture creation. More...
 
UINT MiscFlags
 D3D11_TEXTURE2D_DESC.MiscFlags used for texture creation. More...
 
AVD3D11FrameDescriptortexture_infos
 In case if texture structure member above is not NULL contains the same texture pointer for all elements and different indexes into the array texture. More...
 

Detailed Description

This struct is allocated as AVHWFramesContext.hwctx.

Definition at line 131 of file hwcontext_d3d11va.h.

Field Documentation

◆ texture

ID3D11Texture2D* AVD3D11VAFramesContext::texture

The canonical texture used for pool allocation.

If this is set to NULL on init, the hwframes implementation will allocate and set an array texture if initial_pool_size > 0.

The only situation when the API user should set this is:

Deallocating the AVHWFramesContext will always release this interface, and it does not matter whether it was user-allocated.

This is in particular used by the libavcodec D3D11VA hwaccel, which requires a single array texture. It will create ID3D11VideoDecoderOutputView objects for each array texture element on decoder initialization.

Definition at line 152 of file hwcontext_d3d11va.h.

Referenced by d3d11va_frames_init(), d3d11va_frames_uninit(), d3d11va_pool_alloc(), and qsv_frames_derive_from().

◆ BindFlags

UINT AVD3D11VAFramesContext::BindFlags

D3D11_TEXTURE2D_DESC.BindFlags used for texture creation.

The user must at least set D3D11_BIND_DECODER if the frames context is to be used for video decoding. This field is ignored/invalid if a user-allocated texture is provided.

Definition at line 160 of file hwcontext_d3d11va.h.

Referenced by d3d11va_alloc_single(), d3d11va_frames_init(), ff_dxva2_common_frame_params(), qsv_frames_derive_from(), qsv_frames_derive_to(), and qsv_init_child_ctx().

◆ MiscFlags

UINT AVD3D11VAFramesContext::MiscFlags

D3D11_TEXTURE2D_DESC.MiscFlags used for texture creation.

This field is ignored/invalid if a user-allocated texture is provided.

Definition at line 166 of file hwcontext_d3d11va.h.

Referenced by d3d11va_alloc_single(), d3d11va_frames_init(), qsv_frames_derive_from(), and qsv_init_child_ctx().

◆ texture_infos

AVD3D11FrameDescriptor* AVD3D11VAFramesContext::texture_infos

In case if texture structure member above is not NULL contains the same texture pointer for all elements and different indexes into the array texture.

In case if texture structure member above is NULL, all elements contains pointers to separate non-array textures and 0 indexes. This field is ignored/invalid if a user-allocated texture is provided.

Definition at line 175 of file hwcontext_d3d11va.h.

Referenced by d3d11va_frames_init(), d3d11va_frames_uninit(), qsv_frames_derive_to(), qsv_init_child_ctx(), and wrap_texture_buf().


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