FFmpeg
Data Structures | Enumerations
hwcontext_vaapi.h File Reference
#include <va/va.h>

Go to the source code of this file.

Data Structures

struct  AVVAAPIDeviceContext
 VAAPI connection details. More...
 
struct  AVVAAPIFramesContext
 VAAPI-specific data associated with a frame pool. More...
 
struct  AVVAAPIHWConfig
 VAAPI hardware pipeline configuration details. More...
 

Enumerations

enum  { AV_VAAPI_DRIVER_QUIRK_USER_SET = (1 << 0), AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS = (1 << 1), AV_VAAPI_DRIVER_QUIRK_ATTRIB_MEMTYPE = (1 << 2), AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES = (1 << 3) }
 

Detailed Description

API-specific header for AV_HWDEVICE_TYPE_VAAPI.

Dynamic frame pools are supported, but note that any pool used as a render target is required to be of fixed size in order to be be usable as an argument to vaCreateContext().

For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs with the data pointer set to a VASurfaceID.

Definition in file hwcontext_vaapi.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
AV_VAAPI_DRIVER_QUIRK_USER_SET 

The quirks field has been set by the user and should not be detected automatically by av_hwdevice_ctx_init().

AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS 

The driver does not destroy parameter buffers when they are used by vaRenderPicture().

Additional code will be required to destroy them separately afterwards.

AV_VAAPI_DRIVER_QUIRK_ATTRIB_MEMTYPE 

The driver does not support the VASurfaceAttribMemoryType attribute, so the surface allocation code will not try to use it.

AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES 

The driver does not support surface attributes at all.

The surface allocation code will never pass them to surface allocation, and the results of the vaQuerySurfaceAttributes() call will be faked.

Definition at line 36 of file hwcontext_vaapi.h.