Loading...
Searching...
No Matches
AVD3D11VAFramesContext Struct Reference

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

`#include <libavutil/hwcontext_d3d11va.h>`

## Data Fields

ID3D11Texture2D * | texture
| The canonical texture used for pool allocation.
UINT | BindFlags
| D3D11_TEXTURE2D_DESC.BindFlags used for texture creation.
UINT | MiscFlags
| D3D11_TEXTURE2D_DESC.MiscFlags used for texture creation.
AVD3D11FrameDescriptor * | 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.

## Detailed Description

This struct is allocated as AVHWFramesContext.hwctx.

Definition at line 145 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:

- the user wants to do manual pool allocation (setting AVHWFramesContext.pool), instead of letting AVHWFramesContext allocate the pool
- of an array texture
- and wants it to use it for decoding
- this has to be done before calling av_hwframe_ctx_init()

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 166 of file hwcontext_d3d11va.h.

## 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 174 of file hwcontext_d3d11va.h.

## 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 180 of file hwcontext_d3d11va.h.

## 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 189 of file hwcontext_d3d11va.h.

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

- libavutil/hwcontext_d3d11va.h